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 constant VARIANTS 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.
  • ToStringDeprecated
    implements std::string::ToString on an enum