summaryrefslogtreecommitdiffstats
path: root/tests/ui/suggestions/suggest-field-through-deref.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/suggestions/suggest-field-through-deref.rs')
-rw-r--r--tests/ui/suggestions/suggest-field-through-deref.rs21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/ui/suggestions/suggest-field-through-deref.rs b/tests/ui/suggestions/suggest-field-through-deref.rs
new file mode 100644
index 000000000..6e24b425e
--- /dev/null
+++ b/tests/ui/suggestions/suggest-field-through-deref.rs
@@ -0,0 +1,21 @@
+// run-rustfix
+#![allow(dead_code)]
+use std::sync::Arc;
+struct S {
+ long_name: (),
+ foo: (),
+}
+fn main() {
+ let x = Arc::new(S { long_name: (), foo: () });
+ let _ = x.longname; //~ ERROR no field `longname`
+ let y = S { long_name: (), foo: () };
+ let _ = y.longname; //~ ERROR no field `longname`
+ let a = Some(Arc::new(S { long_name: (), foo: () }));
+ let _ = a.longname; //~ ERROR no field `longname`
+ let b = Some(S { long_name: (), foo: () });
+ let _ = b.long_name; //~ ERROR no field `long_name`
+ let c = Ok::<_, ()>(Arc::new(S { long_name: (), foo: () }));
+ let _ = c.longname; //~ ERROR no field `longname`
+ let d = Ok::<_, ()>(S { long_name: (), foo: () });
+ let _ = d.long_name; //~ ERROR no field `long_name`
+}