| fn main() { | |
| #[derive(Copy, Clone)] | |
| enum Void {} | |
| union Uninit<T: Copy> { | |
| value: T, | |
| uninit: (), | |
| } | |
| unsafe { | |
| let x: Uninit<Void> = Uninit { uninit: () }; | |
| match x.value { | |
| #[allow(unreachable_patterns)] | |
| _x => println!("hi from the void!"), //~ERROR: invalid value | |
| } | |
| } | |
| } |