No, you can’t.
There is an open issue about supporting bitfields, which doesn’t seem to be active. In the issue, @retep998 explains how bitfields are handled in winapi
. That might be helpful if you need to handle bitfields in C interface.
OP seems to aim at C interoperation, but if you just need bitfields functionality, there are several solutions.
- You should always consider simple redundant solution: avoid bitfields and let fields align naturally.
bitfield
, according to the comment — I didn’t know that, but it seems to provide C bitfields equivalent.bitflags
. This seems suitable for bit-based flags, which typically represented asenum
in C.#[repr(packed)]
if you just want to pack fields to some degree, ignoring alignment. The fields will still be aligned to byte boundary.bit-vec
if you need homogenious arrays of bits.