Skip to content

Commit 4be19e3

Browse files
authored
Rollup merge of #59347 - petrochenkov:nomake, r=davidtwco
Move one test from run-make-fulldeps to ui The test was written when `--extern` without path didn't exist.
2 parents aae75cf + 6389478 commit 4be19e3

10 files changed

+57
-50
lines changed

src/test/run-make-fulldeps/extern-prelude/Makefile

-11
This file was deleted.

src/test/run-make-fulldeps/extern-prelude/basic.rs

-6
This file was deleted.

src/test/run-make-fulldeps/extern-prelude/relative-only.rs

-9
This file was deleted.

src/test/run-make-fulldeps/extern-prelude/shadow-mod.rs

-14
This file was deleted.

src/test/run-make-fulldeps/extern-prelude/shadow-prelude.rs

-7
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
#![crate_type = "rlib"]
1+
#![crate_name = "Vec"]
22

33
pub fn new(arg1: f32, arg2: ()) {}

src/test/run-make-fulldeps/extern-prelude/ep-lib.rs renamed to src/test/ui/auxiliary/extern-prelude.rs

-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
#![crate_type = "rlib"]
2-
31
pub struct S;
42

53
impl S {

src/test/ui/extern-prelude-fail.rs

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
// compile-flags:--extern extern_prelude
2+
// aux-build:extern-prelude.rs
3+
4+
// Extern prelude names are not available by absolute paths
5+
6+
fn main() {
7+
use extern_prelude::S; //~ ERROR unresolved import `extern_prelude`
8+
let s = ::extern_prelude::S; //~ ERROR failed to resolve
9+
}
+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
error[E0432]: unresolved import `extern_prelude`
2+
--> $DIR/extern-prelude-fail.rs:7:9
3+
|
4+
LL | use extern_prelude::S;
5+
| ^^^^^^^^^^^^^^ maybe a missing `extern crate extern_prelude;`?
6+
7+
error[E0433]: failed to resolve: maybe a missing `extern crate extern_prelude;`?
8+
--> $DIR/extern-prelude-fail.rs:8:15
9+
|
10+
LL | let s = ::extern_prelude::S;
11+
| ^^^^^^^^^^^^^^ maybe a missing `extern crate extern_prelude;`?
12+
13+
error: aborting due to 2 previous errors
14+
15+
Some errors occurred: E0432, E0433.
16+
For more information about an error, try `rustc --explain E0432`.

src/test/ui/extern-prelude.rs

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
// compile-pass
2+
// compile-flags:--extern extern_prelude --extern Vec
3+
// aux-build:extern-prelude.rs
4+
// aux-build:extern-prelude-vec.rs
5+
6+
fn basic() {
7+
// It works
8+
let s = extern_prelude::S;
9+
s.external();
10+
}
11+
12+
fn shadow_mod() {
13+
// Local module shadows `extern_prelude` from extern prelude
14+
mod extern_prelude {
15+
pub struct S;
16+
17+
impl S {
18+
pub fn internal(&self) {}
19+
}
20+
}
21+
22+
let s = extern_prelude::S;
23+
s.internal(); // OK
24+
}
25+
26+
fn shadow_prelude() {
27+
// Extern prelude shadows standard library prelude
28+
let x = Vec::new(0f32, ()); // OK
29+
}
30+
31+
fn main() {}

0 commit comments

Comments
 (0)