enum-unitary
Trait and macro for unitary enums
The EnumUnitary
trait carries a number of constraints for primitive
conversions and limits and iterating over variants of a unitary enum (i.e. enum
variants do not have payloads).
The enum_unitary!
macro defines a new enum implementing EnumUnitary
and
required traits.
Usage
For the macro to derive IntoEnumIterator
, the enum-iterator
crate must added
to Cargo.toml
:
= "0.5"
= "0.4"
Define a unitary enum:
use ;
enum_unitary!
assert_eq!;
assert_eq!;
assert_eq!;
assert_eq!;
assert_eq!;
assert_eq!;
let mut i = iter_variants;
assert_eq!;
assert_eq!;
assert_eq!;
assert_eq!;
assert_eq!;
assert_eq!;
assert_eq!;
assert_eq!;
assert_eq!;
assert_eq!;