Currently these structures expose potentially invalid (uninitialized) data. This should be avoided in Rust. I'd suggest to make data and dlc fields private and provide data() method returning slice. Further, provide push_byte() and push_slice() methods for appending bytes.
Also data should probably use MaybeUninit<u8> instead of u8, but only after MaybeUninit is stabilized.
Currently these structures expose potentially invalid (uninitialized) data. This should be avoided in Rust. I'd suggest to make
dataanddlcfields private and providedata()method returning slice. Further, providepush_byte()andpush_slice()methods for appending bytes.Also
datashould probably useMaybeUninit<u8>instead ofu8, but only afterMaybeUninitis stabilized.