use core::{ cell::UnsafeCell, marker::{PhantomData, PhantomPinned}, }; /// An opaque type. /// /// This is used to avoid problems with e.g. getting references from /// `CFArray` (we can't use `c_void` as the default type, as `&c_void` would /// be incorrect). #[repr(C)] #[doc(hidden)] #[allow(dead_code, unreachable_pub)] pub struct Opaque { inner: [u8; 0], _p: UnsafeCell, PhantomPinned)>>, }