about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRalf Jung <post@ralfj.de>2024-02-29 19:45:14 +0100
committerRalf Jung <post@ralfj.de>2024-02-29 19:45:14 +0100
commit2a376ceb8dc0aaef39b43eada02b9c94e0d51656 (patch)
tree9b4dc4abf2f13465e24829965576024492613f4b
parent70758a788bec5bbab82c27cb8ab1da8d5fcf3588 (diff)
downloadrust-2a376ceb8dc0aaef39b43eada02b9c94e0d51656.tar.gz
rust-2a376ceb8dc0aaef39b43eada02b9c94e0d51656.zip
add regression test
-rw-r--r--src/tools/miri/tests/fail/rustc-error2.rs16
-rw-r--r--src/tools/miri/tests/fail/rustc-error2.stderr9
2 files changed, 25 insertions, 0 deletions
diff --git a/src/tools/miri/tests/fail/rustc-error2.rs b/src/tools/miri/tests/fail/rustc-error2.rs
new file mode 100644
index 00000000000..fd2c5393385
--- /dev/null
+++ b/src/tools/miri/tests/fail/rustc-error2.rs
@@ -0,0 +1,16 @@
+// Regression test for https://github.com/rust-lang/rust/issues/121508.
+struct Struct<T>(T);
+
+impl<T> std::ops::Deref for Struct<T> {
+    type Target = dyn Fn(T);
+    fn deref(&self) -> &assert_mem_uninitialized_valid::Target {
+        //~^ERROR: undeclared crate or module
+        unimplemented!()
+    }
+}
+
+fn main() {
+    let f = Struct(Default::default());
+    f(0);
+    f(0);
+}
diff --git a/src/tools/miri/tests/fail/rustc-error2.stderr b/src/tools/miri/tests/fail/rustc-error2.stderr
new file mode 100644
index 00000000000..de2861a019c
--- /dev/null
+++ b/src/tools/miri/tests/fail/rustc-error2.stderr
@@ -0,0 +1,9 @@
+error[E0433]: failed to resolve: use of undeclared crate or module `assert_mem_uninitialized_valid`
+  --> $DIR/rustc-error2.rs:LL:CC
+   |
+LL |     fn deref(&self) -> &assert_mem_uninitialized_valid::Target {
+   |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use of undeclared crate or module `assert_mem_uninitialized_valid`
+
+error: aborting due to 1 previous error
+
+For more information about this error, try `rustc --explain E0433`.