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