blob: ed9aef6e374449989eaa0980bb2279370c676db0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
// 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.b {}; //~ ERROR mismatched types [E0308]
//~^ HELP you might have meant to use field `b` whose type is `B`
match a.b {
//~^ 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 unsafe { foo.bar } {
//~^ HELP you might have meant to use field `bar` whose type is `u32`
1u32 => (), //~ ERROR mismatched types [E0308]
_ => (),
}
}
|