pub trait Args<C>: Sized {
// Required methods
fn new<'a, 'b>(
c: &C,
args: &mut ParsedArgs<'a, 'b>,
) -> Result<Self, ArgsParseErr<'b>>;
fn desc_act() -> &'static str;
fn add_paths<'a>(pfx: &Vec<Arg<'a>>, p: &mut Vec<Vec<Arg<'a>>>);
fn add_usage(c: &C, r: &mut Vec<[String; 4]>);
fn default(c: &C) -> Self;
fn run(self, c: &C) -> Result<(), String>;
// Provided methods
fn next_impl<'a>(c: &C, args: &[Arg<'a>]) -> Result<(), ArgsErr<'a>> { ... }
fn next<'a>(
c: &C,
s: &mut ParseCtx<'a>,
args: &[Arg<'a>],
) -> Result<(), ActsErr<'a>> { ... }
fn usage(c: &C) -> String { ... }
}Required Methods§
fn new<'a, 'b>( c: &C, args: &mut ParsedArgs<'a, 'b>, ) -> Result<Self, ArgsParseErr<'b>>
fn desc_act() -> &'static str
fn add_paths<'a>(pfx: &Vec<Arg<'a>>, p: &mut Vec<Vec<Arg<'a>>>)
fn add_usage(c: &C, r: &mut Vec<[String; 4]>)
fn default(c: &C) -> Self
fn run(self, c: &C) -> Result<(), String>
Provided Methods§
fn next_impl<'a>(c: &C, args: &[Arg<'a>]) -> Result<(), ArgsErr<'a>>
fn next<'a>( c: &C, s: &mut ParseCtx<'a>, args: &[Arg<'a>], ) -> Result<(), ActsErr<'a>>
fn usage(c: &C) -> String
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.