bitfields 1.0.3

Macro for generating flexible bitfields. Useful for low-level code (embedded or emulators).
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use bitfields::bitfield;

#[bitfield(u64, into_bits = false)]
pub struct Bitfield {
    #[bits(4, default = 0x1)]
    a: u8,
    #[bits(60, default = 0xFFFF_FFFF_FFFF)]
    _padding: u64
}

fn main() {
    let bitfield = Bitfield::new();

    let val: u64 = bitfield.into_bits();
}