| error: to use a constant of type `NoDerive` in a pattern, `NoDerive` must be annotated with `#[derive(PartialEq)]` |
| --> $DIR/reject_non_structural.rs:42:36 |
| | |
| LL | match Derive::Some(NoDerive) { ENUM => dbg!(ENUM), _ => panic!("whoops"), }; |
| | ^^^^ |
| | |
| = note: the traits must be derived, manual `impl`s are not sufficient |
| = note: see https://doc.rust-lang.org/stable/std/marker/trait.StructuralPartialEq.html for details |
| |
| error: to use a constant of type `NoDerive` in a pattern, `NoDerive` must be annotated with `#[derive(PartialEq)]` |
| --> $DIR/reject_non_structural.rs:48:28 |
| | |
| LL | match Some(NoDerive) { FIELD => dbg!(FIELD), _ => panic!("whoops"), }; |
| | ^^^^^ |
| | |
| = note: the traits must be derived, manual `impl`s are not sufficient |
| = note: see https://doc.rust-lang.org/stable/std/marker/trait.StructuralPartialEq.html for details |
| |
| error: to use a constant of type `NoDerive` in a pattern, `NoDerive` must be annotated with `#[derive(PartialEq)]` |
| --> $DIR/reject_non_structural.rs:55:27 |
| | |
| LL | match Some(NoDerive) {INDIRECT => dbg!(INDIRECT), _ => panic!("whoops"), }; |
| | ^^^^^^^^ |
| | |
| = note: the traits must be derived, manual `impl`s are not sufficient |
| = note: see https://doc.rust-lang.org/stable/std/marker/trait.StructuralPartialEq.html for details |
| |
| error: to use a constant of type `NoDerive` in a pattern, `NoDerive` must be annotated with `#[derive(PartialEq)]` |
| --> $DIR/reject_non_structural.rs:61:36 |
| | |
| LL | match (None, Some(NoDerive)) { TUPLE => dbg!(TUPLE), _ => panic!("whoops"), }; |
| | ^^^^^ |
| | |
| = note: the traits must be derived, manual `impl`s are not sufficient |
| = note: see https://doc.rust-lang.org/stable/std/marker/trait.StructuralPartialEq.html for details |
| |
| error: to use a constant of type `NoDerive` in a pattern, `NoDerive` must be annotated with `#[derive(PartialEq)]` |
| --> $DIR/reject_non_structural.rs:67:28 |
| | |
| LL | match Some(NoDerive) { TYPE_ASCRIPTION => dbg!(TYPE_ASCRIPTION), _ => panic!("whoops"), }; |
| | ^^^^^^^^^^^^^^^ |
| | |
| = note: the traits must be derived, manual `impl`s are not sufficient |
| = note: see https://doc.rust-lang.org/stable/std/marker/trait.StructuralPartialEq.html for details |
| |
| error: to use a constant of type `NoDerive` in a pattern, `NoDerive` must be annotated with `#[derive(PartialEq)]` |
| --> $DIR/reject_non_structural.rs:73:36 |
| | |
| LL | match [None, Some(NoDerive)] { ARRAY => dbg!(ARRAY), _ => panic!("whoops"), }; |
| | ^^^^^ |
| | |
| = note: the traits must be derived, manual `impl`s are not sufficient |
| = note: see https://doc.rust-lang.org/stable/std/marker/trait.StructuralPartialEq.html for details |
| |
| error: to use a constant of type `NoDerive` in a pattern, `NoDerive` must be annotated with `#[derive(PartialEq)]` |
| --> $DIR/reject_non_structural.rs:79:33 |
| | |
| LL | match [Some(NoDerive); 2] { REPEAT => dbg!(REPEAT), _ => panic!("whoops"), }; |
| | ^^^^^^ |
| | |
| = note: the traits must be derived, manual `impl`s are not sufficient |
| = note: see https://doc.rust-lang.org/stable/std/marker/trait.StructuralPartialEq.html for details |
| |
| error: to use a constant of type `NoDerive` in a pattern, `NoDerive` must be annotated with `#[derive(PartialEq)]` |
| --> $DIR/reject_non_structural.rs:86:28 |
| | |
| LL | match Some(NoDerive) { NoDerive::ASSOC => dbg!(NoDerive::ASSOC), _ => panic!("whoops"), }; |
| | ^^^^^^^^^^^^^^^ |
| | |
| = note: the traits must be derived, manual `impl`s are not sufficient |
| = note: see https://doc.rust-lang.org/stable/std/marker/trait.StructuralPartialEq.html for details |
| |
| error: to use a constant of type `NoDerive` in a pattern, `NoDerive` must be annotated with `#[derive(PartialEq)]` |
| --> $DIR/reject_non_structural.rs:92:28 |
| | |
| LL | match Some(NoDerive) { BLOCK => dbg!(BLOCK), _ => panic!("whoops"), }; |
| | ^^^^^ |
| | |
| = note: the traits must be derived, manual `impl`s are not sufficient |
| = note: see https://doc.rust-lang.org/stable/std/marker/trait.StructuralPartialEq.html for details |
| |
| warning: to use a constant of type `NoDerive` in a pattern, `NoDerive` must be annotated with `#[derive(PartialEq)]` |
| --> $DIR/reject_non_structural.rs:98:29 |
| | |
| LL | match &Some(NoDerive) { ADDR_OF => dbg!(ADDR_OF), _ => panic!("whoops"), }; |
| | ^^^^^^^ |
| | |
| = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! |
| = note: for more information, see issue #120362 <https://github.com/rust-lang/rust/issues/120362> |
| = note: the traits must be derived, manual `impl`s are not sufficient |
| = note: see https://doc.rust-lang.org/stable/std/marker/trait.StructuralPartialEq.html for details |
| note: the lint level is defined here |
| --> $DIR/reject_non_structural.rs:14:9 |
| | |
| LL | #![warn(indirect_structural_match)] |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| error: aborting due to 9 previous errors; 1 warning emitted |
| |
| Future incompatibility report: Future breakage diagnostic: |
| warning: to use a constant of type `NoDerive` in a pattern, `NoDerive` must be annotated with `#[derive(PartialEq)]` |
| --> $DIR/reject_non_structural.rs:98:29 |
| | |
| LL | match &Some(NoDerive) { ADDR_OF => dbg!(ADDR_OF), _ => panic!("whoops"), }; |
| | ^^^^^^^ |
| | |
| = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! |
| = note: for more information, see issue #120362 <https://github.com/rust-lang/rust/issues/120362> |
| = note: the traits must be derived, manual `impl`s are not sufficient |
| = note: see https://doc.rust-lang.org/stable/std/marker/trait.StructuralPartialEq.html for details |
| note: the lint level is defined here |
| --> $DIR/reject_non_structural.rs:14:9 |
| | |
| LL | #![warn(indirect_structural_match)] |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |