2020-03-24 13:52:22 -05:00
|
|
|
// Issue 62307 pointed out a case where the structural-match checking
|
|
|
|
// was too shallow.
|
2019-07-03 09:54:08 -05:00
|
|
|
//
|
|
|
|
// 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)]`
|
|
|
|
}
|
|
|
|
}
|