Trait Parser
pub trait Parser:
Sized
+ FromArgMatches
+ CommandFactory {
// Provided methods
fn parse() -> Self { ... }
fn try_parse() -> Result<Self, Error> { ... }
fn parse_from<I, T>(itr: I) -> Self
where I: IntoIterator<Item = T>,
T: Into<OsString> + Clone { ... }
fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
where I: IntoIterator<Item = T>,
T: Into<OsString> + Clone { ... }
fn update_from<I, T>(&mut self, itr: I)
where I: IntoIterator<Item = T>,
T: Into<OsString> + Clone { ... }
fn try_update_from<I, T>(&mut self, itr: I) -> Result<(), Error>
where I: IntoIterator<Item = T>,
T: Into<OsString> + Clone { ... }
}
Expand description
Parse command-line arguments into Self
.
The primary one-stop-shop trait used to create an instance of a clap
[Command
], conduct the parsing, and turn the resulting [ArgMatches
] back
into concrete instance of the user struct.
This trait is primarily a convenience on top of [FromArgMatches
] +
[CommandFactory
] which uses those two underlying traits to build the two
fundamental functions parse
which uses the std::env::args_os
iterator,
and parse_from
which allows the consumer to supply the iterator (along
with fallible options for each).
See also [Subcommand
] and [Args
].
NOTE: Deriving requires the derive
feature flag
Provided Methods§
fn parse() -> Self
fn parse() -> Self
Parse from std::env::args_os()
, [exit][Error::exit] on error.
fn parse_from<I, T>(itr: I) -> Self
fn parse_from<I, T>(itr: I) -> Self
Parse from iterator, [exit][Error::exit] on error.
fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
Parse from iterator, return Err on error.
fn update_from<I, T>(&mut self, itr: I)
fn update_from<I, T>(&mut self, itr: I)
Update from iterator, [exit][Error::exit] on error.
Unlike Parser::parse
, this works with an existing instance of self
.
The assumption is that all required fields are already provided and any [Args
] or
[Subcommand
]s provided by the user will modify only what is specified.
fn try_update_from<I, T>(&mut self, itr: I) -> Result<(), Error>
fn try_update_from<I, T>(&mut self, itr: I) -> Result<(), Error>
Update from iterator, return Err on error.
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.