// Issue 62307 pointed out a case where the structural-match checking // was too shallow. // // Here we check similar behavior for non-empty arrays of types that // do not derive `Eq`. // // (Current behavior for empty arrays differs and thus is not tested // here; see rust-lang/rust#62336.) #[derive(PartialEq, Debug)] struct B(i32); fn main() { const FOO: [B; 1] = [B(0)]; match [B(1)] { FOO => { } //~^ ERROR must be annotated with `#[derive(PartialEq, Eq)]` } }