use std::num::*; #[repr(C)] pub struct NonZeroAliases { pub a: NonZeroU8, pub b: NonZeroU16, pub c: NonZeroU32, pub d: NonZeroU64, pub e: NonZeroI8, pub f: NonZeroI16, pub g: NonZeroI32, pub h: NonZeroI64, pub i: Option, pub j: *const Option>, } #[no_mangle] pub extern "C" fn root_nonzero_aliases( test: NonZeroAliases, a: NonZeroU8, b: NonZeroU16, c: NonZeroU32, d: NonZeroU64, e: NonZeroI8, f: NonZeroI16, g: NonZeroI32, h: NonZeroI64, i: Option, j: *const Option>, ) {} #[repr(C)] pub struct NonZeroGenerics { pub a: NonZero, pub b: NonZero, pub c: NonZero, pub d: NonZero, pub e: NonZero, pub f: NonZero, pub g: NonZero, pub h: NonZero, pub i: Option>, pub j: *const Option>>, } #[no_mangle] pub extern "C" fn root_nonzero_generics( test: NonZeroGenerics, a: NonZero, b: NonZero, c: NonZero, d: NonZero, e: NonZero, f: NonZero, g: NonZero, h: NonZero, i: Option>, j: *const Option>>, ) {}