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.
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 69af01c..0000000
--- 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 dc7cc1f..0000000
--- 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/ep-vec.rs b/src/test/run-make-fulldeps/extern-prelude/ep-vec.rs
deleted file mode 100644
index 148a4a9..0000000
--- a/src/test/run-make-fulldeps/extern-prelude/ep-vec.rs
+++ /dev/null
@@ -1,3 +0,0 @@
-#![crate_type = "rlib"]
-
-pub fn new(arg1: f32, arg2: ()) {}
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 0fdf3b4..0000000
--- 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 69411aa..0000000
--- 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 6c6ce12..0000000
--- 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/ui/auxiliary/extern-prelude-vec.rs b/src/test/ui/auxiliary/extern-prelude-vec.rs
new file mode 100644
index 0000000..a643c88
--- /dev/null
+++ b/src/test/ui/auxiliary/extern-prelude-vec.rs
@@ -0,0 +1,3 @@
+#![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
similarity index 68%
rename from src/test/run-make-fulldeps/extern-prelude/ep-lib.rs
rename to src/test/ui/auxiliary/extern-prelude.rs
index f5e129e..2fdfd85 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 0000000..7d38702
--- /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 0000000..ad148c0
--- /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 0000000..0e52f2c
--- /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() {}