summaryrefslogtreecommitdiffstats
path: root/vendor/cxx/src/opaque.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/cxx/src/opaque.rs')
-rw-r--r--vendor/cxx/src/opaque.rs20
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>());