1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
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<NonZeroI64>,
pub j: *const Option<Option<NonZeroI64>>,
}
#[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<NonZeroI64>,
j: *const Option<Option<NonZeroI64>>,
) {}
#[repr(C)]
pub struct NonZeroGenerics {
pub a: NonZero<u8>,
pub b: NonZero<u16>,
pub c: NonZero<u32>,
pub d: NonZero<u64>,
pub e: NonZero<i8>,
pub f: NonZero<i16>,
pub g: NonZero<i32>,
pub h: NonZero<i64>,
pub i: Option<NonZero<i64>>,
pub j: *const Option<Option<NonZero<i64>>>,
}
#[no_mangle]
pub extern "C" fn root_nonzero_generics(
test: NonZeroGenerics,
a: NonZero<u8>,
b: NonZero<u16>,
c: NonZero<u32>,
d: NonZero<u64>,
e: NonZero<i8>,
f: NonZero<i16>,
g: NonZero<i32>,
h: NonZero<i64>,
i: Option<NonZero<i64>>,
j: *const Option<Option<NonZero<i64>>>,
) {}
|