1 use std::marker::PhantomData;
2 
3 union Opaque {
4     x: i32,
5     y: f32,
6 }
7 
8 #[repr(C)]
9 union Normal {
10     x: i32,
11     y: f32,
12 }
13 
14 #[repr(C)]
15 union NormalWithZST {
16     x: i32,
17     y: f32,
18     z: (),
19     w: PhantomData<i32>,
20 }
21 
22 #[no_mangle]
root( a: *mut Opaque, b: Normal, c: NormalWithZST )23 pub extern "C" fn root(
24     a: *mut Opaque,
25     b: Normal,
26     c: NormalWithZST
27 ) { }
28