12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- struct DummyStruct;
- // Transparent struct tuple wrapping a struct.
- #[repr(transparent)]
- struct TransparentComplexWrappingStructTuple(DummyStruct);
- // Transparent struct tuple wrapping a primitive.
- #[repr(transparent)]
- struct TransparentPrimitiveWrappingStructTuple(u32);
- // Transparent structure wrapping a struct.
- #[repr(transparent)]
- struct TransparentComplexWrappingStructure { only_field: DummyStruct }
- // Transparent structure wrapping a primitive.
- #[repr(transparent)]
- struct TransparentPrimitiveWrappingStructure { only_field: u32 }
- // Transparent struct wrapper with a marker wrapping a struct.
- #[repr(transparent)]
- struct TransparentComplexWrapper<T> {
- only_non_zero_sized_field: DummyStruct,
- marker: PhantomData<T>,
- }
- // Transparent struct wrapper with a marker wrapping a primitive.
- #[repr(transparent)]
- struct TransparentPrimitiveWrapper<T> {
- only_non_zero_sized_field: u32,
- marker: PhantomData<T>,
- }
- // Associated constant declared before struct declaration.
- impl TransparentPrimitiveWithAssociatedConstants {
- pub const ZERO: TransparentPrimitiveWithAssociatedConstants = TransparentPrimitiveWithAssociatedConstants {
- bits: 0
- };
- }
- // Transparent structure wrapping a primitive with associated constants.
- #[repr(transparent)]
- struct TransparentPrimitiveWithAssociatedConstants { bits: u32 }
- // Associated constant declared after struct declaration.
- impl TransparentPrimitiveWithAssociatedConstants {
- pub const ONE: TransparentPrimitiveWithAssociatedConstants = TransparentPrimitiveWithAssociatedConstants {
- bits: 1
- };
- }
- enum EnumWithAssociatedConstantInImpl { A }
- impl EnumWithAssociatedConstantInImpl {
- pub const TEN: TransparentPrimitiveWrappingStructure = TransparentPrimitiveWrappingStructure { only_field: 10 };
- }
- #[no_mangle]
- pub extern "C" fn root(
- a: TransparentComplexWrappingStructTuple,
- b: TransparentPrimitiveWrappingStructTuple,
- c: TransparentComplexWrappingStructure,
- d: TransparentPrimitiveWrappingStructure,
- e: TransparentComplexWrapper<i32>,
- f: TransparentPrimitiveWrapper<i32>,
- g: TransparentPrimitiveWithAssociatedConstants,
- h: EnumWithAssociatedConstantInImpl,
- ) { }
|