enum_parity 0.2.1

a macro that enforces enum discriminant bit parity
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use enum_parity::bit_parity;

#[repr(u64)]
#[bit_parity(even)]
enum EvenEnum {
    A,
    B,
    C,
    D,
}

fn main() {
    assert_eq!(EvenEnum::A as u64, 0);
    assert_eq!(EvenEnum::B as u64, 3);
    assert_eq!(EvenEnum::C as u64, 5);
    assert_eq!(EvenEnum::D as u64, 6);
}