--- /dev/null
+// run-rustfix
+#![allow(dead_code)]
+
+struct A {
+ b: B,
+}
+
+enum B {
+ Fst,
+ Snd,
+}
+
+fn main() {
+ let a = A { b: B::Fst };
+ if let B::Fst = a.b {};
+ //~^ ERROR mismatched types [E0308]
+ // note: you might have meant to use field `b` of type `B`
+ match a.b {
+ B::Fst => (),
+ B::Snd => (),
+ }
+ //~^^^ ERROR mismatched types [E0308]
+ // note: you might have meant to use field `b` of type `B`
+ //~^^^^ ERROR mismatched types [E0308]
+ // note: you might have meant to use field `b` of type `B`
+}
error[E0308]: mismatched types
- --> $DIR/field-access.rs:12:12
+ --> $DIR/field-access.rs:15:12
|
LL | Fst,
| --- unit variant defined here
| ^^^
error[E0308]: mismatched types
- --> $DIR/field-access.rs:16:9
+ --> $DIR/field-access.rs:19:9
|
LL | Fst,
| --- unit variant defined here
| ^^^
error[E0308]: mismatched types
- --> $DIR/field-access.rs:17:9
+ --> $DIR/field-access.rs:20:9
|
LL | Snd,
| --- unit variant defined here