Пример , данный библиотекой , показывает, как указать метод установки (set_field1
):
bitfield!{
pub struct BitField1(u16);
impl Debug;
// The fields default to u16
field1, set_field1: 10, 0;
pub field2, _ : 12, 3;
}
Вам необходимо предоставить второй аргумент для имени метода установки :
use bitfield::bitfield; // 0.13.2
bitfield! {
pub struct Ack(u16);
directive_code, set_directive_code: 3, 0;
directive_subtype_code, _ : 4, 7;
condition_code, _: 8, 11;
delivery_code, _: 12, 13;
transaction_status, _: 14, 15;
}
fn main() {
let mut a = Ack(0);
a.set_directive_code(5);
println!("{:016b}", a.0)
}
Производит вывод:
0000000000000101