]> git.proxmox.com Git - rustc.git/blob - tests/ui/nll/issue-55651.rs
New upstream version 1.68.2+dfsg1
[rustc.git] / tests / ui / nll / issue-55651.rs
1 // check-pass
2
3 use std::mem::ManuallyDrop;
4
5 struct A;
6 struct B;
7
8 union U {
9 a: ManuallyDrop<A>,
10 b: ManuallyDrop<B>,
11 }
12
13 fn main() {
14 unsafe {
15 {
16 let mut u = U { a: ManuallyDrop::new(A) };
17 let a = u.a;
18 u.a = ManuallyDrop::new(A);
19 let a = u.a; // OK
20 }
21 {
22 let mut u = U { a: ManuallyDrop::new(A) };
23 let a = u.a;
24 u.b = ManuallyDrop::new(B);
25 let a = u.a; // OK
26 }
27 }
28 }