cbindgen/tests/rust/simplify_option_ptr.rs
Emilio Cobos Álvarez 7312b997be ir: simplify_standard_types should be recursive.
Stuff like *mut Option<&mut Foo> should really be *mut *mut Foo for
example.
2021-02-24 18:36:40 +01:00

29 lines
488 B
Rust

struct Opaque();
#[repr(C)]
struct Foo {
x: Option<&Opaque>,
y: Option<&mut Opaque>,
z: Option<fn () -> ()>,
zz: *mut Option<fn () -> ()>,
}
#[repr(C)]
union Bar {
x: Option<&Opaque>,
y: Option<&mut Opaque>,
z: Option<fn () -> ()>,
zz: *mut Option<fn () -> ()>,
}
#[no_mangle]
pub extern "C" fn root(
a: Option<&Opaque>,
b: Option<&mut Opaque>,
c: Foo,
d: Bar,
e: *mut Option<*mut Opaque>,
f: extern "C" fn(Option<&Opaque>),
) { }