]> git.lizzy.rs Git - rust.git/blob - src/test/ui/nll/issue-55651.rs
Auto merge of #105145 - Ayush1325:sequential-remote-server, r=Mark-Simulacrum
[rust.git] / src / test / 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 }