| //@ run-rustfix |
| #![allow(dead_code)] |
| |
| struct A { |
| b: B, |
| } |
| |
| enum B { |
| Fst, |
| Snd, |
| } |
| |
| union Foo { |
| bar: u32, |
| qux: f32, |
| } |
| |
| fn main() { |
| let a = A { b: B::Fst }; |
| if let B::Fst = a {}; //~ ERROR mismatched types [E0308] |
| //~^ HELP you might have meant to use field `b` whose type is `B` |
| match a { |
| //~^ HELP you might have meant to use field `b` whose type is `B` |
| //~| HELP you might have meant to use field `b` whose type is `B` |
| B::Fst => (), //~ ERROR mismatched types [E0308] |
| B::Snd => (), //~ ERROR mismatched types [E0308] |
| } |
| |
| let foo = Foo { bar: 42 }; |
| match foo { |
| //~^ HELP you might have meant to use field `bar` whose type is `u32` |
| 1u32 => (), //~ ERROR mismatched types [E0308] |
| _ => (), |
| } |
| } |