/// cbindgen:derive-ostream #[repr(C)] pub struct A(i32); /// cbindgen:field-names=[x, y] /// cbindgen:derive-ostream #[repr(C)] pub struct B(i32, f32); /// cbindgen:derive-ostream #[repr(u32)] pub enum C { X = 2, Y, } /// cbindgen:derive-ostream #[repr(C)] pub struct D { List: u8, Of: usize, Things: B, } /// cbindgen:derive-ostream #[repr(u8)] pub enum F { Foo(i16), Bar { x: u8, y: i16 }, Baz } /// cbindgen:derive-ostream #[repr(C, u8)] pub enum H { Hello(i16), There { x: u8, y: i16 }, Everyone } /// cbindgen:derive-ostream=false #[repr(C, u8)] pub enum I { /// cbindgen:derive-ostream=true ThereAgain { x: u8, y: i16 }, SomethingElse } #[no_mangle] pub extern "C" fn root( a: A, b: B, c: C, d: D, f: F, h: H, i: I, ) { }