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§
Object Safety§
This trait is not object safe.