summaryrefslogtreecommitdiffstats
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
parentUse crate name for reexported `extern crate` paths (diff)
downloadgrust-43d863b5edffe27af2e8fd9bb08d08e08f1f8ceb.tar.gz
grust-43d863b5edffe27af2e8fd9bb08d08e08f1f8ceb.tar.bz2
grust-43d863b5edffe27af2e8fd9bb08d08e08f1f8ceb.tar.xz
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 0000000000..95b2d62e42
--- /dev/null
+++ b/src/test/ui/auxiliary/xcrate_issue_43189_a.rs
@@ -0,0 +1,17 @@
1// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
2// file at the top-level directory of this distribution and at
3// http://rust-lang.org/COPYRIGHT.
4//
5// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8// option. This file may not be copied, modified, or distributed
9// except according to those terms.
10
11#![crate_type="lib"]
12
13
14pub trait A {
15 fn a(&self) {}
16}
17impl 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 0000000000..a396c31e21
--- /dev/null
+++ b/src/test/ui/auxiliary/xcrate_issue_43189_b.rs
@@ -0,0 +1,13 @@
1// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
2// file at the top-level directory of this distribution and at
3// http://rust-lang.org/COPYRIGHT.
4//
5// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8// option. This file may not be copied, modified, or distributed
9// except according to those terms.
10
11#![crate_type="lib"]
12
13pub 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 0000000000..154bee5d1d
--- /dev/null
+++ b/src/test/ui/issue-43189.rs
@@ -0,0 +1,22 @@
1// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
2// file at the top-level directory of this distribution and at
3// http://rust-lang.org/COPYRIGHT.
4//
5// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8// option. This file may not be copied, modified, or distributed
9// except according to those terms.
10
11// Issue 46112: An extern crate pub re-exporting libcore was causing
12// paths rooted from `std` to be misrendered in the diagnostic output.
13
14// ignore-windows
15// aux-build:xcrate_issue_43189_a.rs
16// aux-build:xcrate_issue_43189_b.rs
17
18extern crate xcrate_issue_43189_b;
19fn main() {
20 ().a();
21 //~^ ERROR no method named `a` found for type `()` in the current scope [E0599]
22}
diff --git a/src/test/ui/issue-43189.stderr b/src/test/ui/issue-43189.stderr
new file mode 100644
index 0000000000..b2a02401c5
--- /dev/null
+++ b/src/test/ui/issue-43189.stderr
@@ -0,0 +1,15 @@
1error[E0599]: no method named `a` found for type `()` in the current scope
2 --> $DIR/issue-43189.rs:20:8
3 |
4LL | ().a();
5 | ^
6 |
7 = help: items from traits can only be used if the trait is in scope
8help: the following trait is implemented but not in scope, perhaps add a `use` for it:
9 |
10LL | use xcrate_issue_43189_b::xcrate_issue_43189_a::A;
11 |
12
13error: aborting due to previous error
14
15For more information about this error, try `rustc --explain E0599`.