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
The count()
method generated by the invocation of enum_unitary!
is a const fn
, so the const_fn
feature must be enabled in addition to importing the
crate:
extern crate enum_unitary;
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!;