about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2023-01-09 09:49:57 +0000
committerbors <bors@rust-lang.org>2023-01-09 09:49:57 +0000
commit46981dca3622f5d53c88219f35113e553de20e1a (patch)
treed6834d16a69cb01f0df300dfd8e2b4bb0d84117f
parentd29c4c9f638f456a235a5bae632401b6d1bb3614 (diff)
parentd23dce54ecbc5b94837ddb77db4b3a5edcdf0cd9 (diff)
downloadrust-46981dca3622f5d53c88219f35113e553de20e1a.tar.gz
rust-46981dca3622f5d53c88219f35113e553de20e1a.zip
Auto merge of #10181 - llogiq:test-box-default-10089, r=flip1995
add a test against #10089

This was just an oversight while doing the box default path trimming PR, so I'm adding it rather late than never.

---

changelog: none
-rw-r--r--tests/ui/box_default.fixed10
-rw-r--r--tests/ui/box_default.rs10
-rw-r--r--tests/ui/box_default.stderr8
3 files changed, 27 insertions, 1 deletions
diff --git a/tests/ui/box_default.fixed b/tests/ui/box_default.fixed
index 68ab996a704..7e9f074fdca 100644
--- a/tests/ui/box_default.fixed
+++ b/tests/ui/box_default.fixed
@@ -54,4 +54,14 @@ impl Read for ImplementsDefault {
 
 fn issue_9621_dyn_trait() {
     let _: Box<dyn Read> = Box::<ImplementsDefault>::default();
+    issue_10089();
+}
+
+fn issue_10089() {
+    let _closure = || {
+        #[derive(Default)]
+        struct WeirdPathed;
+
+        let _ = Box::<WeirdPathed>::default();
+    };
 }
diff --git a/tests/ui/box_default.rs b/tests/ui/box_default.rs
index 20019c2ee5a..5c8d0b8354c 100644
--- a/tests/ui/box_default.rs
+++ b/tests/ui/box_default.rs
@@ -54,4 +54,14 @@ impl Read for ImplementsDefault {
 
 fn issue_9621_dyn_trait() {
     let _: Box<dyn Read> = Box::new(ImplementsDefault::default());
+    issue_10089();
+}
+
+fn issue_10089() {
+    let _closure = || {
+        #[derive(Default)]
+        struct WeirdPathed;
+
+        let _ = Box::new(WeirdPathed::default());
+    };
 }
diff --git a/tests/ui/box_default.stderr b/tests/ui/box_default.stderr
index f77c97cdfa2..249eb340f96 100644
--- a/tests/ui/box_default.stderr
+++ b/tests/ui/box_default.stderr
@@ -84,5 +84,11 @@ error: `Box::new(_)` of default value
 LL |     let _: Box<dyn Read> = Box::new(ImplementsDefault::default());
    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `Box::<ImplementsDefault>::default()`
 
-error: aborting due to 14 previous errors
+error: `Box::new(_)` of default value
+  --> $DIR/box_default.rs:65:17
+   |
+LL |         let _ = Box::new(WeirdPathed::default());
+   |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `Box::<WeirdPathed>::default()`
+
+error: aborting due to 15 previous errors