4 use std::mem::needs_drop;
5 use std::mem::ManuallyDrop;
9 impl Drop for NeedDrop {
15 value: ManuallyDrop<T>,
19 value: ManuallyDrop<NeedDrop>,
23 union UnionOk3<T: Copy> {
30 trait ImpliesCopy : Copy { }
33 union UnionOk4<T: ImpliesCopy> {
38 // NeedDrop should not make needs_drop true
39 assert!(!needs_drop::<UnionOk1<NeedDrop>>());
40 assert!(!needs_drop::<UnionOk3<&dyn Foo>>());