enum-unitary
Trait and macro for unitary enums
The EnumUnitary
trait carries a number of constraints and exposes some
methods for working with variants.
The enum_unitary!
macro defines a new enum implementing EnumUnitary
and an
additional const function 'count
' returning the number of variants in the
enum.
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:
enum_unitary!
use ;
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!;