From 218caa410aa38c29984be31a5229b9fa717560ee Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 14:19:13 +0200 Subject: Merging upstream version 1.68.2+dfsg1. Signed-off-by: Daniel Baumann --- src/test/ui/union/union-drop-assign.rs | 37 ---------------------------------- 1 file changed, 37 deletions(-) delete mode 100644 src/test/ui/union/union-drop-assign.rs (limited to 'src/test/ui/union/union-drop-assign.rs') diff --git a/src/test/ui/union/union-drop-assign.rs b/src/test/ui/union/union-drop-assign.rs deleted file mode 100644 index 215666bdd..000000000 --- a/src/test/ui/union/union-drop-assign.rs +++ /dev/null @@ -1,37 +0,0 @@ -// run-pass -#![allow(unused_assignments)] - -// Drop works for union itself. - -use std::mem::ManuallyDrop; - -struct S; - -union U { - a: ManuallyDrop -} - -impl Drop for S { - fn drop(&mut self) { - unsafe { CHECK += 10; } - } -} - -impl Drop for U { - fn drop(&mut self) { - unsafe { CHECK += 1; } - } -} - -static mut CHECK: u8 = 0; - -fn main() { - unsafe { - let mut u = U { a: ManuallyDrop::new(S) }; - assert_eq!(CHECK, 0); - u = U { a: ManuallyDrop::new(S) }; - assert_eq!(CHECK, 1); // union itself is assigned, union is dropped, field is not dropped - *u.a = S; - assert_eq!(CHECK, 11); // union field is assigned, field is dropped - } -} -- cgit v1.2.3