Sha256: 29dd7b845345a103ca31e91b579aeb01fb74935b8223c29184eb42223edadb65
Contents?: true
Size: 644 Bytes
Versions: 23
Compression:
Stored size: 644 Bytes
Contents
//! An example of implementing the `BitFlags` trait manually for a flags type. use std::str; use bitflags::bitflags; // Define a flags type outside of the `bitflags` macro as a newtype // It can accept custom derives for libaries `bitflags` doesn't support natively #[derive(zerocopy::AsBytes, zerocopy::FromBytes)] #[repr(transparent)] pub struct ManualFlags(u32); // Next: use `impl Flags` instead of `struct Flags` bitflags! { impl ManualFlags: u32 { const A = 0b00000001; const B = 0b00000010; const C = 0b00000100; const ABC = Self::A.bits() | Self::B.bits() | Self::C.bits(); } } fn main() {}
Version data entries
23 entries across 23 versions & 1 rubygems