1 use core::marker::{PhantomData, PhantomPinned}; 2 use core::mem; 3 4 // . size = 0 5 // . align = 1 6 // . ffi-safe 7 // . !Send 8 // . !Sync 9 // . !Unpin 10 #[repr(C, packed)] 11 pub struct Opaque { 12 _private: [*const u8; 0], 13 _pinned: PhantomData<PhantomPinned>, 14 } 15 16 const_assert_eq!(0, mem::size_of::<Opaque>()); 17 const_assert_eq!(1, mem::align_of::<Opaque>()); 18