summaryrefslogtreecommitdiffstats
path: root/src/test/run-make-fulldeps/issue-40535/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/run-make-fulldeps/issue-40535/Makefile')
-rw-r--r--src/test/run-make-fulldeps/issue-40535/Makefile13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/test/run-make-fulldeps/issue-40535/Makefile b/src/test/run-make-fulldeps/issue-40535/Makefile
new file mode 100644
index 000000000..49db1d43e
--- /dev/null
+++ b/src/test/run-make-fulldeps/issue-40535/Makefile
@@ -0,0 +1,13 @@
+-include ../tools.mk
+
+# The ICE occurred in the following situation:
+# * `foo` declares `extern crate bar, baz`, depends only on `bar` (forgetting `baz` in `Cargo.toml`)
+# * `bar` declares and depends on `extern crate baz`
+# * All crates built in metadata-only mode (`cargo check`)
+all:
+ # cc https://github.com/rust-lang/rust/issues/40623
+ $(RUSTC) baz.rs --emit=metadata
+ $(RUSTC) bar.rs --emit=metadata --extern baz=$(TMPDIR)/libbaz.rmeta
+ $(RUSTC) foo.rs --emit=metadata --extern bar=$(TMPDIR)/libbar.rmeta 2>&1 | \
+ $(CGREP) -v "unexpectedly panicked"
+ # ^ Succeeds if it doesn't find the ICE message