| //@ check-pass | |
| // Unlike `if` condition, `match` guards accept struct literals. | |
| // This is detected in <https://github.com/rust-lang/rust/pull/74566#issuecomment-663613705>. | |
| #![feature(if_let_guard)] | |
| #[derive(PartialEq)] | |
| struct Foo { | |
| x: isize, | |
| } | |
| fn foo(f: Foo) { | |
| match () { | |
| () if f == Foo { x: 42 } => {} | |
| () if let Foo { x: 0.. } = Foo { x: 42 } => {} | |
| _ => {} | |
| } | |
| } | |
| fn main() {} |