about summary refs log tree commit diff
path: root/tests/ui/rust-2018/trait-import-suggestions.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/rust-2018/trait-import-suggestions.rs')
-rw-r--r--tests/ui/rust-2018/trait-import-suggestions.rs31
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/ui/rust-2018/trait-import-suggestions.rs b/tests/ui/rust-2018/trait-import-suggestions.rs
new file mode 100644
index 00000000000..9c67c3f4b4b
--- /dev/null
+++ b/tests/ui/rust-2018/trait-import-suggestions.rs
@@ -0,0 +1,31 @@
+// edition:2018
+// aux-build:trait-import-suggestions.rs
+// compile-flags:--extern trait-import-suggestions
+
+mod foo {
+    mod foobar {
+        pub(crate) trait Foobar {
+            fn foobar(&self) { }
+        }
+
+        impl Foobar for u32 { }
+    }
+
+    pub(crate) trait Bar {
+        fn bar(&self) { }
+    }
+
+    impl Bar for u32 { }
+
+    fn in_foo() {
+        let x: u32 = 22;
+        x.foobar(); //~ ERROR no method named `foobar`
+    }
+}
+
+fn main() {
+    let x: u32 = 22;
+    x.bar(); //~ ERROR no method named `bar`
+    x.baz(); //~ ERROR no method named `baz`
+    let y = u32::from_str("33"); //~ ERROR no function or associated item named `from_str`
+}