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 implementingDisplay.
NOTE: Deriving requires the derive feature flag
Required Methods§
Sourcefn value_variants<'a>() -> &'a [Self]
fn value_variants<'a>() -> &'a [Self]
All possible argument values, in display order.
Sourcefn to_possible_value(&self) -> Option<PossibleValue>
fn to_possible_value(&self) -> Option<PossibleValue>
The canonical argument value.
The value is None for skipped variants.
Provided Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.