1
0
Fork 0
mirror of https://codeberg.org/icewind/bitbuffer.git synced 2026-06-04 09:04:05 +02:00

start of BitWrite derive macro

This commit is contained in:
Robin Appelman 2020-02-16 22:05:47 +01:00
commit ab86b164aa
7 changed files with 653 additions and 39 deletions

View file

@ -0,0 +1,39 @@
#![allow(dead_code)]
#![allow(unreachable_patterns)]
use bitbuffer::{
bit_size_of, bit_size_of_sized, BigEndian, BitReadBuffer, BitReadStream, BitWrite, Endianness,
LittleEndian,
};
#[derive(BitWrite)]
struct TestStruct {
foo: u8,
str: String,
#[size = 2]
truncated: String,
bar: u16,
float: f32,
#[size = 3]
asd: u8,
#[size = "asd"]
previous_field: u8,
}
#[derive(BitWrite)]
#[discriminant_bits = 2]
enum TestBareEnum {
Foo,
Bar,
Asd = 3,
}
#[derive(BitWrite)]
#[discriminant_bits = 2]
enum TestUnnamedFieldEnum {
#[size = 5]
Foo(i8),
Bar(bool),
#[discriminant = 3]
Asd(u8),
}