about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEsteban Küber <esteban@kuber.com.ar>2018-05-28 10:55:32 -0700
committerEsteban Küber <esteban@kuber.com.ar>2018-05-28 10:55:32 -0700
commit43d863b5edffe27af2e8fd9bb08d08e08f1f8ceb (patch)
tree525ecb15af6db52853cc82d9f338cd6f350760e8
parent68f5b34b2c516f66df3a709c33c8bd8a449a95b2 (diff)
downloadrust-43d863b5edffe27af2e8fd9bb08d08e08f1f8ceb.tar.gz
rust-43d863b5edffe27af2e8fd9bb08d08e08f1f8ceb.zip
Add test for reexported crate names
-rw-r--r--src/test/ui/auxiliary/xcrate_issue_43189_a.rs17
-rw-r--r--src/test/ui/auxiliary/xcrate_issue_43189_b.rs13
-rw-r--r--src/test/ui/issue-43189.rs22
-rw-r--r--src/test/ui/issue-43189.stderr15
4 files changed, 67 insertions, 0 deletions
diff --git a/src/test/ui/auxiliary/xcrate_issue_43189_a.rs b/src/test/ui/auxiliary/xcrate_issue_43189_a.rs
new file mode 100644
index 00000000000..95b2d62e426
--- /dev/null
+++ b/src/test/ui/auxiliary/xcrate_issue_43189_a.rs
@@ -0,0 +1,17 @@
+// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type="lib"]
+
+
+pub trait A {
+    fn a(&self) {}
+}
+impl A for () {}
diff --git a/src/test/ui/auxiliary/xcrate_issue_43189_b.rs b/src/test/ui/auxiliary/xcrate_issue_43189_b.rs
new file mode 100644
index 00000000000..a396c31e21d
--- /dev/null
+++ b/src/test/ui/auxiliary/xcrate_issue_43189_b.rs
@@ -0,0 +1,13 @@
+// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![crate_type="lib"]
+
+pub extern crate xcrate_issue_43189_a;
diff --git a/src/test/ui/issue-43189.rs b/src/test/ui/issue-43189.rs
new file mode 100644
index 00000000000..154bee5d1d4
--- /dev/null
+++ b/src/test/ui/issue-43189.rs
@@ -0,0 +1,22 @@
+// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// Issue 46112: An extern crate pub re-exporting libcore was causing
+// paths rooted from `std` to be misrendered in the diagnostic output.
+
+// ignore-windows
+// aux-build:xcrate_issue_43189_a.rs
+// aux-build:xcrate_issue_43189_b.rs
+
+extern crate xcrate_issue_43189_b;
+fn main() {
+    ().a();
+    //~^ ERROR no method named `a` found for type `()` in the current scope [E0599]
+}
diff --git a/src/test/ui/issue-43189.stderr b/src/test/ui/issue-43189.stderr
new file mode 100644
index 00000000000..b2a02401c59
--- /dev/null
+++ b/src/test/ui/issue-43189.stderr
@@ -0,0 +1,15 @@
+error[E0599]: no method named `a` found for type `()` in the current scope
+  --> $DIR/issue-43189.rs:20:8
+   |
+LL |     ().a();
+   |        ^
+   |
+   = help: items from traits can only be used if the trait is in scope
+help: the following trait is implemented but not in scope, perhaps add a `use` for it:
+   |
+LL | use xcrate_issue_43189_b::xcrate_issue_43189_a::A;
+   |
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0599`.