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 000000000000..95b2d62e4262 --- /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 or the MIT license +// , 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 000000000000..a396c31e21d5 --- /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 or the MIT license +// , 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 000000000000..154bee5d1d4f --- /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 or the MIT license +// , 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 000000000000..b2a02401c592 --- /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`.