Derive Macro proc_bitfield::UnwrapBitRange
source · #[derive(UnwrapBitRange)]
Available on crate feature
nightly
only.Expand description
A derive macro to implement BitRange<T> for U
for a type T
and all integer bitfield storage
types U
, by unwrapping the conversion results.
§Usage example
#[derive(UnwrapBitRange)]
pub struct U8(u8);
impl TryFrom<u16> for U8 {
/* ... */
}
impl From<U8> for u16 {
/* ... */
}
This will implement BitRange<U8> for u16
, allowing it to be used as a field inside any
bitfield using a u16
as its storage type, and unwrapping the result on reads.
This derive is especially useful when combined with ConvRaw
, in which case it will allow enums
to be used as bitfield fields, unwrapping the results of trying to convert the raw value back to
an enum variant.