clap

Trait Args

Source
pub trait Args: Sized + FromArgMatches {
    // Required methods
    fn augment_args(cmd: Command) -> Command;
    fn augment_args_for_update(cmd: Command) -> Command;

    // Provided method
    fn group_id() -> Option<Id> { ... }
}
Expand description

Parse a set of arguments into a user-defined container.

Implementing this trait lets a parent container delegate argument parsing behavior to Self. with:

  • #[command(flatten)] args: ChildArgs: Attribute can only be used with struct fields that impl Args.
  • Variant(ChildArgs): No attribute is used with enum variants that impl Args.

NOTE: Deriving requires the derive feature flag

Required Methods§

Source

fn augment_args(cmd: Command) -> Command

Append to Command so it can instantiate Self.

See also CommandFactory.

Source

fn augment_args_for_update(cmd: Command) -> Command

Append to Command so it can update self.

This is used to implement #[command(flatten)]

See also CommandFactory.

Provided Methods§

Source

fn group_id() -> Option<Id>

Report the ArgGroup::id for this set of arguments

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.

Implementations on Foreign Types§

Source§

impl<T> Args for Box<T>
where T: Args,

Implementors§