bitx 0.2.0

More ergonomic way to deal with bitfield-like struct.
Documentation
error[E0369]: no implementation for `() & ()`
  --> tests/ui/field.align.nested.rs:11:1
   |
11 | / bits! {
12 | |     pub struct HugePacket: 33.0 {
13 | |         0.1 pub huge_field: LargeData,
...  |
16 | | }
   | |_^
   |
   = note: this error originates in the macro `bits` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0599]: no associated function or constant named `__from_mask` found for struct `LargeData` in the current scope
  --> tests/ui/field.align.nested.rs:11:1
   |
 4 |   pub struct LargeData([u8; 32]);
   |   -------------------- associated function or constant `__from_mask` not found for this struct
...
11 |   bits! {
   |  _^
12 | |     pub struct HugePacket: 33.0 {
13 | |         0.1 pub huge_field: LargeData,
...  |
16 | | }
   | |_^ associated function or constant not found in `LargeData`
   |
   = note: this error originates in the macro `bits` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0605]: non-primitive cast: `u128` as `()`
  --> tests/ui/field.align.nested.rs:11:1
   |
11 | / bits! {
12 | |     pub struct HugePacket: 33.0 {
13 | |         0.1 pub huge_field: LargeData,
...  |
16 | | }
   | |_^ an `as` expression can only be used to convert between primitive types or to coerce to a specific trait object
   |
   = note: this error originates in the macro `bits` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0599]: no associated function or constant named `MAX` found for unit type `()` in the current scope
  --> tests/ui/field.align.nested.rs:11:1
   |
11 |   bits! {
   |  _^
12 | |     pub struct HugePacket: 33.0 {
13 | |         0.1 pub huge_field: LargeData,
...  |
16 | | }
   | |_^ associated function or constant not found in `()`
   |
   = note: this error originates in the macro `bits` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0599]: no associated function or constant named `BITS` found for unit type `()` in the current scope
  --> tests/ui/field.align.nested.rs:11:1
   |
11 |   bits! {
   |  _^
12 | |     pub struct HugePacket: 33.0 {
13 | |         0.1 pub huge_field: LargeData,
...  |
16 | | }
   | |_^ associated function or constant not found in `()`
   |
   = note: this error originates in the macro `bits` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0080]: evaluation panicked: unaligned nested types cannot exceed 128 bits
  --> tests/ui/field.align.nested.rs:11:1
   |
11 | / bits! {
12 | |     pub struct HugePacket: 33.0 {
13 | |         0.1 pub huge_field: LargeData,
...  |
16 | | }
   | |_^ evaluation of `HugePacket::huge_field::_` failed here