// Note: It is no longer true that both `Eq` and `PartialEq` must the derived, only the later.
#[derive(Eq)]
struct Foo {
x: u32
}
impl PartialEq for Foo {
fn eq(&self, _: &Foo) -> bool {
false // ha ha!
const FOO: Foo = Foo { x: 0 };
fn main() {
let y = Foo { x: 1 };
match y {
FOO => { }
//~^ ERROR constant of non-structural type `Foo` in a pattern
_ => { }