From 045f448e26257c7b19bf6d68c8e5e9d09ab4df79 Mon Sep 17 00:00:00 2001 From: Michael Goulet Date: Fri, 24 May 2024 15:17:34 -0400 Subject: Don't eagerly monomorphize drop for types that are impossible to instantiate --- tests/ui/codegen/mono-impossible-drop.rs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 tests/ui/codegen/mono-impossible-drop.rs (limited to 'tests/ui/codegen') diff --git a/tests/ui/codegen/mono-impossible-drop.rs b/tests/ui/codegen/mono-impossible-drop.rs new file mode 100644 index 00000000000..dec013cfe54 --- /dev/null +++ b/tests/ui/codegen/mono-impossible-drop.rs @@ -0,0 +1,18 @@ +//@ compile-flags: -Clink-dead-code=on --crate-type=lib +//@ build-pass + +#![feature(trivial_bounds)] +#![allow(trivial_bounds)] + +// Make sure we don't monomorphize the drop impl for `Baz`, since it has predicates +// that don't hold under a reveal-all param env. + +trait Foo { + type Assoc; +} + +struct Bar; + +struct Baz(::Assoc) +where + Bar: Foo; -- cgit 1.4.1-3-g733a5