2
0

union.rs 321 B

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