pub trait ValueEnum: Sized + Clone {
    // Required methods
    fn value_variants<'a>() -> &'a [Self];
    fn to_possible_value(&self) -> Option<PossibleValue>;

    // Provided method
    fn from_str(input: &str, ignore_case: bool) -> Result<Self, String> { ... }
}
Expand description

Parse arguments into enums.

When deriving Parser, a field whose type implements ValueEnum can have the attribute #[arg(value_enum)] which will

  • Call EnumValueParser
  • Allowing using the #[arg(default_value_t)] attribute without implementing Display.

NOTE: Deriving requires the derive feature flag

Required Methods§

source

fn value_variants<'a>() -> &'a [Self]

All possible argument values, in display order.

source

fn to_possible_value(&self) -> Option<PossibleValue>

The canonical argument value.

The value is None for skipped variants.

Provided Methods§

source

fn from_str(input: &str, ignore_case: bool) -> Result<Self, String>

Parse an argument into Self.

Object Safety§

This trait is not object safe.

Implementors§