summaryrefslogtreecommitdiffstats
path: root/src/test/ui/suggestions/field-access.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/suggestions/field-access.rs')
-rw-r--r--src/test/ui/suggestions/field-access.rs35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/test/ui/suggestions/field-access.rs b/src/test/ui/suggestions/field-access.rs
new file mode 100644
index 000000000..d80488e8a
--- /dev/null
+++ b/src/test/ui/suggestions/field-access.rs
@@ -0,0 +1,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 {}; //~ 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]
+ _ => (),
+ }
+}