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 = Box::::default(); + issue_10089(); +} + +fn issue_10089() { + let _closure = || { + #[derive(Default)] + struct WeirdPathed; + + let _ = Box::::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 = 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 = Box::new(ImplementsDefault::default()); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `Box::::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::::default()` + +error: aborting due to 15 previous errors