pub trait BitwiseAncillaryData: Pod { }Available on crate features
io and ancillary and bytemuck only.Expand description
Marker trait to enable automatic AncillaryData implementation via
bytemuck.
Types that implement this trait (which requires bytemuck::Pod) will
automatically implement AncillaryData using a simple byte-wise
encoding/decoding.
§Example
use compio_io::ancillary::bytemuck_ext;
#[derive(Clone, Copy)]
#[repr(C)]
struct MyType {
value: u32,
}
unsafe impl bytemuck_ext::Zeroable for MyType {}
unsafe impl bytemuck_ext::Pod for MyType {}
impl bytemuck_ext::BitwiseAncillaryData for MyType {}
// Now MyType automatically implements AncillaryDataDyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.