explicit-discriminant

This crate enforces explicit discriminants of an enum.

```rust use explicit_discriminant::ExplicitDiscriminant;

[derive(ExplicitDiscriminant)]

enum MyEnum { One = 1, Two = 2, Three, // will not compile Four = 4 } ```

You can also optionally add patterns that will enforce which discriminant values are allowed.

```rust use explicit_discriminant::ExplicitDiscriminant;

[derive(ExplicitDiscriminant)]

[pattern(2..=3 | 12..)]

[pattern(9 | ..-3)]

enum MyEnum { MinusFour = -4, One = 1, // error here, since not in any of the patterns Two = 2, Three = 3, Nine = 9, Ten = 10, // error here, since not in any of the patterns Twelve = 12, OneHundred = 100, } ```