diff options
Diffstat (limited to 'vendor/cxx/src/opaque.rs')
-rw-r--r-- | vendor/cxx/src/opaque.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/vendor/cxx/src/opaque.rs b/vendor/cxx/src/opaque.rs new file mode 100644 index 000000000..e0f8ce2c2 --- /dev/null +++ b/vendor/cxx/src/opaque.rs @@ -0,0 +1,20 @@ +#![allow(missing_docs)] + +use crate::void; +use core::marker::{PhantomData, PhantomPinned}; +use core::mem; + +// . size = 0 +// . align = 1 +// . ffi-safe +// . !Send +// . !Sync +// . !Unpin +#[repr(C, packed)] +pub struct Opaque { + _private: [*const void; 0], + _pinned: PhantomData<PhantomPinned>, +} + +const_assert_eq!(0, mem::size_of::<Opaque>()); +const_assert_eq!(1, mem::align_of::<Opaque>()); |