Crate strum_macros
source ·Expand description
Strum
Strum is a set of macros and traits for working with enums and strings easier in Rust.
Derive Macros
- Converts enum variants to
&'static str
. - AsStaticStrDeprecated
- Converts enum variants to strings.
- Add a constant
usize
equal to the number of variants. - Generate a new type with only the discriminant names.
- Generated
is_*()
methods for each variant. E.g.Color.is_red()
. - Creates a new type that iterates of the variants of an enum.
- Add a verbose message to an enum variant.
- Add custom properties to enum variants.
- Converts strings to enum variants based on their name.
- Generated
try_as_*()
methods for all tuple-style variants. E.g.Message.try_as_write()
. - Implements
Strum::VariantNames
which adds an associated constantVARIANTS
which is an array of discriminant names. - Add a function to enum that allows accessing variants by its discriminant
- Implements
From<MyEnum> for &'static str
on an enum. - ToStringDeprecatedimplements
std::string::ToString
on an enum