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