pub trait ExclusiveOption {
// Provided method
fn inject_args(&self, command: &mut Command) { ... }
}Expand description
Marker trait for a mutually exclusive option group.
Some Perforce commands accept a set of options where only one may be
selected at a time (for example p4 admin checkpoint [-z | -Z] or
p4 admin updatespecdepot [-a | -s type]). Each variant of such a group
implements this trait to inject its own CLI arguments; the selected
variant is encoded in a type parameter so that the alternatives are
unavailable at compile time.
Variants may carry their own data (for example the type argument of
-s type) and inject any number of arguments, keeping the trait open to
option groups more complex than a single flag.
Provided Methods§
Sourcefn inject_args(&self, command: &mut Command)
fn inject_args(&self, command: &mut Command)
Inject the CLI arguments corresponding to this selection into
command.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementors§
impl ExclusiveOption for perforce_cli::cmd::admin::spec::All
impl ExclusiveOption for perforce_cli::cmd::admin::set_password::All
impl ExclusiveOption for AttributeTraitMode
lt2024_2 only.impl ExclusiveOption for Both
impl ExclusiveOption for BranchMode
impl ExclusiveOption for Branches
impl ExclusiveOption for CheckPointOnly
impl ExclusiveOption for DatabaseTraits
lt2023_2 only.impl ExclusiveOption for DetailDiffMode
impl ExclusiveOption for DisplayContentHistory
impl ExclusiveOption for ExpandOnly
lt2025_2 only.impl ExclusiveOption for FileEditMode
impl ExclusiveOption for ForceRegularMode
impl ExclusiveOption for FromFile
lt2024_2 only.impl ExclusiveOption for FromStdin
impl ExclusiveOption for perforce_cli::cmd::changes::FullDescription
impl ExclusiveOption for perforce_cli::cmd::filelog::FullDescription
impl ExclusiveOption for Integrations
impl ExclusiveOption for PhysicalPurge
impl ExclusiveOption for PopulateMode
impl ExclusiveOption for PreviewNetworkTraffic
impl ExclusiveOption for PreviewResult
impl ExclusiveOption for RestrictOnly
lt2025_2 only.impl ExclusiveOption for SafeArchive
impl ExclusiveOption for SafeCheckMode
impl ExclusiveOption for Selected
impl ExclusiveOption for ShortSummaryMode
impl ExclusiveOption for Standard
impl ExclusiveOption for StandardPrintMode
impl ExclusiveOption for StreamMode
impl ExclusiveOption for StreamSpecEditMode
lt2019_1 only.impl ExclusiveOption for perforce_cli::cmd::diff::StreamSpecMode
lt2019_1 only.impl ExclusiveOption for perforce_cli::cmd::diff2::StreamSpecMode
lt2019_1 only.impl ExclusiveOption for SyncTimeMode
lt2025_1 only.impl ExclusiveOption for TraitDepot
lt2023_2 only.