[][src]Derive Macro strum_macros::EnumVariantNames

    // Attributes available to this derive:

Implements Strum::VariantNames which adds an associated constant VARIANTS which is an array of discriminant names.

Adds an impl block for the enum that adds a static VARIANTS array of &'static str that are the discriminant names. This will respect the serialize_all attribute on the enum (like #[strum(serialize_all = "snake_case")].

// import the macros needed
use strum_macros::{EnumString, EnumVariantNames};
// You need to import the trait, to have access to VARIANTS
use strum::VariantNames;

#[derive(Debug, EnumString, EnumVariantNames)]
#[strum(serialize_all = "kebab_case")]
enum Color {
assert_eq!(["red", "blue", "yellow", "rebecca-purple"], Color::VARIANTS);