enum-kinds-macros
Generate enums with matching variants, but without any of the associated data.
enum-kinds-traits
crate contains trait definitions used by this crate.
In other words, enum-kinds-macros
automatically generates enum
s that have
the same set of variants as the original enum
, but with all the embedded data
stripped away (that is, all the variants are unit variants). Additionally,
enum-kinds-macros
implements ToKind
trait for the original enum
allowing
one to get the associated unit variant.
The crates are compatible with stable Rust releases.
Example
extern crate enum_kinds_macros;
extern crate enum_kinds_traits;
use ToKind;
The #[derive(EnumKind)]
attribute automatically creates another enum
named
SomeEnumKind
that contains matching unit variant for each of the variants in
SomeEnum
. Additionally, SomeEnum
implements ToKind
trait that provides the
kind
method for constructing matching values from SomeEnumKind
.
Issues
While the crates are fairly simple, issues are still possible. If you encounter any problems using these crates, please report them at the issue tracker.
License
The crates are available under the terms of MIT license.