simplify_option_ptr.rs 488 B

12345678910111213141516171819202122232425262728
  1. struct Opaque();
  2. #[repr(C)]
  3. struct Foo {
  4. x: Option<&Opaque>,
  5. y: Option<&mut Opaque>,
  6. z: Option<fn () -> ()>,
  7. zz: *mut Option<fn () -> ()>,
  8. }
  9. #[repr(C)]
  10. union Bar {
  11. x: Option<&Opaque>,
  12. y: Option<&mut Opaque>,
  13. z: Option<fn () -> ()>,
  14. zz: *mut Option<fn () -> ()>,
  15. }
  16. #[no_mangle]
  17. pub extern "C" fn root(
  18. a: Option<&Opaque>,
  19. b: Option<&mut Opaque>,
  20. c: Foo,
  21. d: Bar,
  22. e: *mut Option<*mut Opaque>,
  23. f: extern "C" fn(Option<&Opaque>),
  24. ) { }