| #![feature(repr_simd)] |
| |
| #[repr(C, align(8))] |
| pub struct ReprC { |
| field: u8, |
| } |
| #[repr(simd, packed(2))] |
| pub struct ReprSimd { |
| field: u8, |
| } |
| #[repr(transparent)] |
| pub struct ReprTransparent { |
| pub field: u8, |
| } |
| #[repr(isize)] |
| pub enum ReprIsize { |
| Bla, |
| } |
| #[repr(u8)] |
| pub enum ReprU8 { |
| Bla, |
| } |
| |
| #[repr(transparent)] // private |
| pub struct ReprTransparentPrivField { |
| field: u32, // non-1-ZST field |
| } |
| |
| #[repr(transparent)] // public |
| pub struct ReprTransparentPriv1ZstFields { |
| marker0: Marker, |
| pub main: u64, // non-1-ZST field |
| marker1: Marker, |
| } |
| |
| #[repr(transparent)] // private |
| pub struct ReprTransparentPrivFieldPub1ZstFields { |
| main: [u16; 0], // non-1-ZST field |
| pub marker: Marker, |
| } |
| |
| pub struct Marker; // 1-ZST |