43 lines
747 B
Rust
43 lines
747 B
Rust
#![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
|