diff options
Diffstat (limited to 'src/test/ui/union/union-manuallydrop-rpass.rs')
| -rw-r--r-- | src/test/ui/union/union-manuallydrop-rpass.rs | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/src/test/ui/union/union-manuallydrop-rpass.rs b/src/test/ui/union/union-manuallydrop-rpass.rs deleted file mode 100644 index 826bdf07cef..00000000000 --- a/src/test/ui/union/union-manuallydrop-rpass.rs +++ /dev/null @@ -1,44 +0,0 @@ -// run-pass -// revisions: mirunsafeck thirunsafeck -// [thirunsafeck]compile-flags: -Z thir-unsafeck - -#![allow(dead_code)] - -use std::mem::needs_drop; -use std::mem::ManuallyDrop; - -struct NeedDrop; - -impl Drop for NeedDrop { - fn drop(&mut self) {} -} - -union UnionOk1<T> { - empty: (), - value: ManuallyDrop<T>, -} - -union UnionOk2 { - value: ManuallyDrop<NeedDrop>, -} - -#[allow(dead_code)] -union UnionOk3<T: Copy> { - empty: (), - value: T, -} - -trait Foo { } - -trait ImpliesCopy : Copy { } - -#[allow(dead_code)] -union UnionOk4<T: ImpliesCopy> { - value: T, -} - -fn main() { - // NeedDrop should not make needs_drop true - assert!(!needs_drop::<UnionOk1<NeedDrop>>()); - assert!(!needs_drop::<UnionOk3<&dyn Foo>>()); -} |
