diff options
| author | Mazdak Farrokhzad <twingoow@gmail.com> | 2019-03-22 19:31:40 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-03-22 19:31:40 +0100 |
| commit | 4be19e36d9755b90dcd9b577b7857f52bde3ed50 (patch) | |
| tree | 72716aa9048f5decfc9bf0febd4cd8b1fa3c2507 | |
| parent | aae75cf4e1aaf73bd045c8b68e7956d2cea5a64d (diff) | |
| parent | 6389478d7030f1d807a46599dfb7a0a2ba97a240 (diff) | |
| download | rust-4be19e36d9755b90dcd9b577b7857f52bde3ed50.tar.gz rust-4be19e36d9755b90dcd9b577b7857f52bde3ed50.zip | |
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.
| -rw-r--r-- | src/test/run-make-fulldeps/extern-prelude/Makefile | 11 | ||||
| -rw-r--r-- | src/test/run-make-fulldeps/extern-prelude/basic.rs | 6 | ||||
| -rw-r--r-- | src/test/run-make-fulldeps/extern-prelude/relative-only.rs | 9 | ||||
| -rw-r--r-- | src/test/run-make-fulldeps/extern-prelude/shadow-mod.rs | 14 | ||||
| -rw-r--r-- | src/test/run-make-fulldeps/extern-prelude/shadow-prelude.rs | 7 | ||||
| -rw-r--r-- | src/test/ui/auxiliary/extern-prelude-vec.rs (renamed from src/test/run-make-fulldeps/extern-prelude/ep-vec.rs) | 2 | ||||
| -rw-r--r-- | src/test/ui/auxiliary/extern-prelude.rs (renamed from src/test/run-make-fulldeps/extern-prelude/ep-lib.rs) | 2 | ||||
| -rw-r--r-- | src/test/ui/extern-prelude-fail.rs | 9 | ||||
| -rw-r--r-- | src/test/ui/extern-prelude-fail.stderr | 16 | ||||
| -rw-r--r-- | src/test/ui/extern-prelude.rs | 31 |
10 files changed, 57 insertions, 50 deletions
diff --git a/src/test/run-make-fulldeps/extern-prelude/Makefile b/src/test/run-make-fulldeps/extern-prelude/Makefile deleted file mode 100644 index 69af01ccf03..00000000000 --- a/src/test/run-make-fulldeps/extern-prelude/Makefile +++ /dev/null @@ -1,11 +0,0 @@ --include ../tools.mk - -all: - $(RUSTC) ep-lib.rs - $(RUSTC) ep-vec.rs - - $(RUSTC) basic.rs --extern ep_lib=$(TMPDIR)/libep_lib.rlib - $(RUSTC) shadow-mod.rs --extern ep_lib=$(TMPDIR)/libep_lib.rlib - $(RUSTC) shadow-prelude.rs --extern Vec=$(TMPDIR)/libep_vec.rlib - $(RUSTC) relative-only.rs --extern ep_lib=$(TMPDIR)/libep_lib.rlib 2>&1 | $(CGREP) "unresolved import" - $(RUSTC) relative-only.rs --extern ep_lib=$(TMPDIR)/libep_lib.rlib 2>&1 | $(CGREP) "failed to resolve" diff --git a/src/test/run-make-fulldeps/extern-prelude/basic.rs b/src/test/run-make-fulldeps/extern-prelude/basic.rs deleted file mode 100644 index dc7cc1f27b6..00000000000 --- a/src/test/run-make-fulldeps/extern-prelude/basic.rs +++ /dev/null @@ -1,6 +0,0 @@ -#![feature(extern_prelude)] - -fn main() { - let s = ep_lib::S; // It works - s.external(); -} diff --git a/src/test/run-make-fulldeps/extern-prelude/relative-only.rs b/src/test/run-make-fulldeps/extern-prelude/relative-only.rs deleted file mode 100644 index 0fdf3b49d96..00000000000 --- a/src/test/run-make-fulldeps/extern-prelude/relative-only.rs +++ /dev/null @@ -1,9 +0,0 @@ -// Extern prelude names are not available by absolute paths - -#![feature(extern_prelude)] - -use ep_lib::S; - -fn main() { - let s = ::ep_lib::S; -} diff --git a/src/test/run-make-fulldeps/extern-prelude/shadow-mod.rs b/src/test/run-make-fulldeps/extern-prelude/shadow-mod.rs deleted file mode 100644 index 69411aaf57c..00000000000 --- a/src/test/run-make-fulldeps/extern-prelude/shadow-mod.rs +++ /dev/null @@ -1,14 +0,0 @@ -// Local module shadows `ep_lib` from extern prelude - -mod ep_lib { - pub struct S; - - impl S { - pub fn internal(&self) {} - } -} - -fn main() { - let s = ep_lib::S; - s.internal(); // OK -} diff --git a/src/test/run-make-fulldeps/extern-prelude/shadow-prelude.rs b/src/test/run-make-fulldeps/extern-prelude/shadow-prelude.rs deleted file mode 100644 index 6c6ce12708d..00000000000 --- a/src/test/run-make-fulldeps/extern-prelude/shadow-prelude.rs +++ /dev/null @@ -1,7 +0,0 @@ -// Extern prelude shadows standard library prelude - -#![feature(extern_prelude)] - -fn main() { - let x = Vec::new(0f32, ()); // OK -} diff --git a/src/test/run-make-fulldeps/extern-prelude/ep-vec.rs b/src/test/ui/auxiliary/extern-prelude-vec.rs index 148a4a98726..a643c888910 100644 --- a/src/test/run-make-fulldeps/extern-prelude/ep-vec.rs +++ b/src/test/ui/auxiliary/extern-prelude-vec.rs @@ -1,3 +1,3 @@ -#![crate_type = "rlib"] +#![crate_name = "Vec"] pub fn new(arg1: f32, arg2: ()) {} diff --git a/src/test/run-make-fulldeps/extern-prelude/ep-lib.rs b/src/test/ui/auxiliary/extern-prelude.rs index f5e129eca66..2fdfd85a1da 100644 --- a/src/test/run-make-fulldeps/extern-prelude/ep-lib.rs +++ b/src/test/ui/auxiliary/extern-prelude.rs @@ -1,5 +1,3 @@ -#![crate_type = "rlib"] - pub struct S; impl S { diff --git a/src/test/ui/extern-prelude-fail.rs b/src/test/ui/extern-prelude-fail.rs new file mode 100644 index 00000000000..7d387025ad4 --- /dev/null +++ b/src/test/ui/extern-prelude-fail.rs @@ -0,0 +1,9 @@ +// compile-flags:--extern extern_prelude +// aux-build:extern-prelude.rs + +// Extern prelude names are not available by absolute paths + +fn main() { + use extern_prelude::S; //~ ERROR unresolved import `extern_prelude` + let s = ::extern_prelude::S; //~ ERROR failed to resolve +} diff --git a/src/test/ui/extern-prelude-fail.stderr b/src/test/ui/extern-prelude-fail.stderr new file mode 100644 index 00000000000..ad148c04d08 --- /dev/null +++ b/src/test/ui/extern-prelude-fail.stderr @@ -0,0 +1,16 @@ +error[E0432]: unresolved import `extern_prelude` + --> $DIR/extern-prelude-fail.rs:7:9 + | +LL | use extern_prelude::S; + | ^^^^^^^^^^^^^^ maybe a missing `extern crate extern_prelude;`? + +error[E0433]: failed to resolve: maybe a missing `extern crate extern_prelude;`? + --> $DIR/extern-prelude-fail.rs:8:15 + | +LL | let s = ::extern_prelude::S; + | ^^^^^^^^^^^^^^ maybe a missing `extern crate extern_prelude;`? + +error: aborting due to 2 previous errors + +Some errors occurred: E0432, E0433. +For more information about an error, try `rustc --explain E0432`. diff --git a/src/test/ui/extern-prelude.rs b/src/test/ui/extern-prelude.rs new file mode 100644 index 00000000000..0e52f2c5158 --- /dev/null +++ b/src/test/ui/extern-prelude.rs @@ -0,0 +1,31 @@ +// compile-pass +// compile-flags:--extern extern_prelude --extern Vec +// aux-build:extern-prelude.rs +// aux-build:extern-prelude-vec.rs + +fn basic() { + // It works + let s = extern_prelude::S; + s.external(); +} + +fn shadow_mod() { + // Local module shadows `extern_prelude` from extern prelude + mod extern_prelude { + pub struct S; + + impl S { + pub fn internal(&self) {} + } + } + + let s = extern_prelude::S; + s.internal(); // OK +} + +fn shadow_prelude() { + // Extern prelude shadows standard library prelude + let x = Vec::new(0f32, ()); // OK +} + +fn main() {} |
