pub trait StructOpt {
// Required methods
fn clap<'a, 'b>() -> App<'a, 'b>;
fn from_clap(matches: &ArgMatches<'_>) -> Self;
// Provided methods
fn from_args() -> Self
where Self: Sized { ... }
fn from_args_safe() -> Result<Self, Error>
where Self: Sized { ... }
fn from_iter<I>(iter: I) -> Self
where Self: Sized,
I: IntoIterator,
<I as IntoIterator>::Item: Into<OsString> + Clone { ... }
fn from_iter_safe<I>(iter: I) -> Result<Self, Error>
where Self: Sized,
I: IntoIterator,
<I as IntoIterator>::Item: Into<OsString> + Clone { ... }
}
Expand description
A struct that is converted from command line arguments.
Required Methods§
Sourcefn from_clap(matches: &ArgMatches<'_>) -> Self
fn from_clap(matches: &ArgMatches<'_>) -> Self
Builds the struct from clap::ArgMatches
. It’s guaranteed to succeed
if matches
originates from an App
generated by StructOpt::clap
called on
the same type, otherwise it must panic.
Provided Methods§
Sourcefn from_args() -> Selfwhere
Self: Sized,
fn from_args() -> Selfwhere
Self: Sized,
Builds the struct from the command line arguments (std::env::args_os
).
Calls clap::Error::exit
on failure, printing the error message and aborting the program.
Sourcefn from_args_safe() -> Result<Self, Error>where
Self: Sized,
fn from_args_safe() -> Result<Self, Error>where
Self: Sized,
Builds the struct from the command line arguments (std::env::args_os
).
Unlike StructOpt::from_args
, returns clap::Error
on failure instead of aborting the program,
so calling .exit
is up to you.
Sourcefn from_iter<I>(iter: I) -> Self
fn from_iter<I>(iter: I) -> Self
Gets the struct from any iterator such as a Vec
of your making.
Print the error message and quit the program in case of failure.
NOTE: The first argument will be parsed as the binary name unless
clap::AppSettings::NoBinaryName
has been used.
Sourcefn from_iter_safe<I>(iter: I) -> Result<Self, Error>
fn from_iter_safe<I>(iter: I) -> Result<Self, Error>
Gets the struct from any iterator such as a Vec
of your making.
Returns a clap::Error
in case of failure. This does not exit in the
case of --help
or --version
, to achieve the same behavior as
from_iter()
you must call .exit()
on the error value.
NOTE: The first argument will be parsed as the binary name unless
clap::AppSettings::NoBinaryName
has been used.
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.