about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/test/ui/box/issue-82446.rs15
-rw-r--r--src/test/ui/box/issue-82446.stderr12
2 files changed, 27 insertions, 0 deletions
diff --git a/src/test/ui/box/issue-82446.rs b/src/test/ui/box/issue-82446.rs
new file mode 100644
index 00000000000..2960f7fbc21
--- /dev/null
+++ b/src/test/ui/box/issue-82446.rs
@@ -0,0 +1,15 @@
+// https://github.com/rust-lang/rust/issues/82446
+// Spurious 'help: store this in the heap' regression test
+trait MyTrait {}
+
+struct Foo {
+    val: Box<dyn MyTrait>
+}
+
+fn make_it(val: &Box<dyn MyTrait>) {
+    Foo {
+        val //~ ERROR [E0308]
+    };
+}
+
+fn main() {}
diff --git a/src/test/ui/box/issue-82446.stderr b/src/test/ui/box/issue-82446.stderr
new file mode 100644
index 00000000000..0374737957e
--- /dev/null
+++ b/src/test/ui/box/issue-82446.stderr
@@ -0,0 +1,12 @@
+error[E0308]: mismatched types
+  --> $DIR/issue-82446.rs:11:9
+   |
+LL |         val
+   |         ^^^ expected struct `Box`, found reference
+   |
+   = note: expected struct `Box<(dyn MyTrait + 'static)>`
+           found reference `&Box<(dyn MyTrait + 'static)>`
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0308`.