clap/tests/builder
Ed Page 61b8bbd218 fix(parser): Exclusive overrides required
`Arg::exclusive` is just another way of defining conflicts, so a
present-exclusive arg should override required like other conflicts.

Instead of going through the message of enumerating all other arguments
as exclusive, I shortcutted it and special case exclusive in the
required check like we do with conflicts.  The big downside is the
implicit coupling between the code paths rather than having a consistent
abstraction for covering conflicts.

This isn't a breaking change because if someone defined an exclusive arg
as a sibling to a required arg, the exclusive arg could never be used,
it always errored, and so no valid application can be written with it.

Fixes #3595
2022-05-04 12:25:44 -05:00
..
app_from_crate.rs docs: Update to new command! macro 2022-02-15 08:54:59 -06:00
app_settings.rs refactor(test): Use snapbox's diffs 2022-04-29 15:32:25 -05:00
arg_aliases.rs refactor(test): Use snapbox's diffs 2022-04-29 15:32:25 -05:00
arg_aliases_short.rs refactor(test): Use snapbox's diffs 2022-04-29 15:32:25 -05:00
arg_matcher_assertions.rs docs: Update App references to Command 2022-02-14 15:33:49 -06:00
arg_settings.rs fix: Deprecate various APIs 2022-02-10 19:37:47 -06:00
borrowed.rs docs: Update App references to Command 2022-02-14 15:33:49 -06:00
cargo.rs docs: Update App references to Command 2022-02-14 15:33:49 -06:00
command.rs fix: Update app_from_crate for App rename 2022-02-15 08:39:07 -06:00
conflicts.rs fix(parser): Exclusive overrides required 2022-05-04 12:25:44 -05:00
default_missing_vals.rs refactor: Update app variables to cmd 2022-02-14 15:55:56 -06:00
default_vals.rs refactor(test): Use snapbox's diffs 2022-04-29 15:32:25 -05:00
delimiters.rs docs: Update App references to Command 2022-02-14 15:33:49 -06:00
derive_order.rs refactor(test): Use snapbox's diffs 2022-04-29 15:32:25 -05:00
display_order.rs refactor(test): Use snapbox's diffs 2022-04-29 15:32:25 -05:00
double_require.rs refactor: Update app variables to cmd 2022-02-14 15:55:56 -06:00
empty_values.rs refactor(test): Use snapbox's diffs 2022-04-29 15:32:25 -05:00
env.rs docs: Update App references to Command 2022-02-14 15:33:49 -06:00
error.rs refactor(test): Use snapbox's diffs 2022-04-29 15:32:25 -05:00
flag_subcommands.rs refactor(test): Use snapbox's diffs 2022-04-29 15:32:25 -05:00
flags.rs refactor(test): Use snapbox's diffs 2022-04-29 15:32:25 -05:00
global_args.rs refactor: Update app variables to cmd 2022-02-14 15:55:56 -06:00
grouped_values.rs refactor: Update app variables to cmd 2022-02-14 15:55:56 -06:00
groups.rs refactor(test): Use snapbox's diffs 2022-04-29 15:32:25 -05:00
help.rs fix(help): Offer a html_template variable for display name 2022-05-03 14:34:47 -05:00
help_env.rs refactor(test): Use snapbox's diffs 2022-04-29 15:32:25 -05:00
hidden_args.rs refactor(test): Use snapbox's diffs 2022-04-29 15:32:25 -05:00
ignore_errors.rs refactor: Update app variables to cmd 2022-02-14 15:55:56 -06:00
indices.rs docs: Update App references to Command 2022-02-14 15:33:49 -06:00
main.rs fix: Update app_from_crate for App rename 2022-02-15 08:39:07 -06:00
multiple_occurrences.rs refactor: Update app variables to cmd 2022-02-14 15:55:56 -06:00
multiple_values.rs docs: Update App references to Command 2022-02-14 15:33:49 -06:00
opts.rs refactor(test): Use snapbox's diffs 2022-04-29 15:32:25 -05:00
positionals.rs refactor: Update app variables to cmd 2022-02-14 15:55:56 -06:00
posix_compatible.rs refactor: Update app variables to cmd 2022-02-14 15:55:56 -06:00
possible_values.rs refactor(test): Use snapbox's diffs 2022-04-29 15:32:25 -05:00
propagate_globals.rs refactor: Update app variables to cmd 2022-02-14 15:55:56 -06:00
regex.rs docs: Update App references to Command 2022-02-14 15:33:49 -06:00
require.rs refactor(test): Use snapbox's diffs 2022-04-29 15:32:25 -05:00
subcommands.rs fix(multicall): Consistently skip multicall bin in help 2022-05-02 11:50:30 -05:00
template_help.rs refactor(test): Use snapbox's diffs 2022-04-29 15:32:25 -05:00
tests.rs fix(builder): Fully recurse when building 2022-04-30 20:02:06 -05:00
unicode.rs docs: Update App references to Command 2022-02-14 15:33:49 -06:00
unique_args.rs docs: Update App references to Command 2022-02-14 15:33:49 -06:00
utf8.rs docs: Update App references to Command 2022-02-14 15:33:49 -06:00
utf16.rs docs: Update App references to Command 2022-02-14 15:33:49 -06:00
utils.rs test(help): Verify showing of required attributes 2022-04-29 15:46:15 -05:00
validators.rs refactor: Update app variables to cmd 2022-02-14 15:55:56 -06:00
version.rs refactor(test): Use snapbox's diffs 2022-04-29 15:32:25 -05:00