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
&'a str
, where'a
is the lifetime of the input enum reference. - 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()
. - Add a function to enum that allows accessing variants by its discriminant
- Implements
From<MyEnum> for &'static str
on an enum. - Adds a
'static
slice with all of the Enum’s variants. - Implements
Strum::VariantNames
which adds an associated constantVARIANTS
which is a'static
slice of discriminant names.