Skip to content

Commit cfb2ed1

Browse files
committed
Test for relative paths in crate path diagnostics
1 parent 6d79c85 commit cfb2ed1

File tree

5 files changed

+43
-0
lines changed

5 files changed

+43
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#![crate_name = "crateresolve1"]
2+
#![crate_type = "lib"]
3+
4+
pub fn f() -> isize {
5+
10
6+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#![crate_name = "crateresolve1"]
2+
#![crate_type = "lib"]
3+
4+
pub fn f() -> isize {
5+
20
6+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
extern crate crateresolve1;
2+
3+
fn main() {}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
error[E0464]: multiple candidates for `rlib` dependency `crateresolve1` found
2+
--> multiple-candidates.rs:1:1
3+
|
4+
LL | extern crate crateresolve1;
5+
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
6+
|
7+
= note: candidate #1: ./libcrateresolve1-1.rlib
8+
= note: candidate #2: ./libcrateresolve1-2.rlib
9+
10+
error: aborting due to 1 previous error
11+
12+
For more information about this error, try `rustc --explain E0464`.
+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
// Tests that the multiple candidate dependencies diagnostic prints relative
2+
// paths if a relative library path was passed in.
3+
4+
use run_make_support::{bare_rustc, diff, rustc};
5+
6+
fn main() {
7+
rustc().input("crateresolve1-1.rs").extra_filename("-1").run();
8+
rustc().input("crateresolve1-2.rs").extra_filename("-2").run();
9+
let out = bare_rustc()
10+
.input("multiple-candidates.rs")
11+
.library_search_path("./")
12+
.ui_testing()
13+
.run_fail()
14+
.stderr_utf8();
15+
diff().expected_file("multiple-candidates.stderr").actual_text("(rustc)", &out).run();
16+
}

0 commit comments

Comments
 (0)