]> git.lizzy.rs Git - rust.git/blob - src/test/ui/union/issue-41073.rs
Rollup merge of #102685 - nbdd0121:unwind, r=m-ou-se
[rust.git] / src / test / ui / union / issue-41073.rs
1 union Test {
2     a: A, //~ ERROR unions cannot contain fields that may need dropping
3     b: B
4 }
5
6 #[derive(Debug)]
7 struct A(i32);
8 impl Drop for A {
9     fn drop(&mut self) { println!("A"); }
10 }
11
12 #[derive(Debug)]
13 struct B(f32);
14 impl Drop for B {
15     fn drop(&mut self) { println!("B"); }
16 }
17
18 fn main() {
19     let mut test = Test { a: A(3) };
20     println!("{:?}", unsafe { test.b });
21     unsafe { test.b = B(0.5); }
22 }