fix(deps): update rust crate clap to 3.2
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| clap | dependencies | minor | 3.1 -> 3.2 |
Release Notes
clap-rs/clap
v3.2.12
Fixes
- Allow an arg to declare a conflict with a group
v3.2.11
Features
- Added
Arg::get_all_short_aliaesandArg::get_all_aliases
v3.2.10
Fixes
- Loosen lifetime on
Command::mut_subcommand
v3.2.8
Features
- Added
Command::mut_subcommandto mirrorCommand::mut_arg
v3.2.7
Fixes
- Global arguments should override env-sourced arguments
v3.2.6
Fixes
- Don't panic when parsing
--=
v3.2.5
Fixes
-
(derive) Fix regression with
#[clap(default_value_os_t ...)]introduced in v3.2.3
v3.2.4
Fixes
-
(derive) Provide more clearer deprecation messages for
#[clap(parse)]attribute (#3832)
v3.2.3
Fixes
- Moved deprecations to be behind the
deprecatedCargo.toml feature (#3830)- For now, it is disabled by default though we are considering enabling it by default as we release the next major version to help draw attention to the deprecation migration path
v3.2.2
Fixes
- (derive) Improve the highlighted code for deprecation warnings
gated behind unstable-v4
-
(derive) Default to
#[clap(value_parser, action)]instead of#[clap(parse)](#3827)
v3.2.1
Fixes
- Allow an arg to declare a conflict with a group
v3.2.0
Compatibility
MSRV is now 1.56.0 (#3732)
Behavior
- Defaults no longer satisfy
requiredand its variants (#3793) - When misusing
ArgMatches::value_ofand friends, debug asserts were turned into panics
Moving (old location deprecated)
-
clap::{PossibleValue, ValueHint}toclap::builder::{PossibleValue, ValueHint} -
clap::{Indices, OsValues, ValueSource, Values}toclap::parser::{Indices, OsValues, ValueSource, Values} -
clap::ArgEnumtoclap::ValueEnum(#3799)
Replaced
-
Arg::allow_invalid_utf8withArg::value_parser(value_parser!(PathBuf))(#3753) -
Arg::validator/Arg::validator_oswithArg::value_parser(#3753) -
Arg::validator_regexwith users providing their ownbuilder::TypedValueParser(#3756) -
Arg::forbid_empty_valueswithbuilder::NonEmptyStringValueParser/builder::PathBufValueParser(#3753) -
Arg::possible_valueswithArg::value_parser([...]),builder::PossibleValuesParser, orbuilder::EnumValueParser(#3753) -
Arg::max_occurrenceswitharg.action(ArgAction::Count).value_parser(value_parser!(u8).range(..N))for flags (#3797) -
Arg::multiple_occurrenceswithArgAction::AppendorArgAction::Countthough positionals will needArg::multiple_values(#3772, #3797) -
Command::args_override_selfwithArgAction::Set(#2627, #3797) -
AppSettings::NoAutoVersionwithArgActionorCommand::disable_version_flag(#3800) -
AppSettings::NoHelpVersionwithArgActionorCommand::disable_help_flag/Command::disable_help_subcommand(#3800) -
ArgMatches::{value_of, value_of_os, value_of_os_lossy, value_of_t}withArgMatches::{get_one,remove_one}(#3753) -
ArgMatches::{values_of, values_of_os, values_of_os_lossy, values_of_t}withArgMatches::{get_many,remove_many}(#3753) -
ArgMatches::is_valid_argwithArgMatches::{try_get_one,try_get_many}(#3753) -
ArgMatches::occurrences_ofwithArgMatches::value_sourceorArgAction::Count(#3797) -
ArgMatches::is_presentwithArgMatches::contains_idorArgAction::SetTrue(#3797) -
ArgAction::StoreValuewithArgAction::SetorArgAction::Append(#3797) -
ArgAction::IncOccurrenceswithArgAction::SetTrueorArgAction::Count(#3797) -
(derive)
#[clap(parse(...))]replaced with: (#3589, #3794)- For default parsers (no
parseattribute), deprecation warnings can be silenced by opting into the new behavior by adding either#[clap(action)]or#[clap(value_parser)](ie requesting the default behavior for these attributes). Alternatively, theunstable-v4feature changes the default away fromparsetoaction/value_parser. - For
#[clap(parse(from_flag))]replaced with#[clap(action = ArgAction::SetTrue)](#3794) - For
#[clap(parse(from_occurrences))]replaced with#[clap(action = ArgAction::Count)]though the field's type must beu8(#3794) - For
#[clap(parse(from_os_str)]forPathBuf, replace it with#[clap(value_parser)](as mentioned earlier this will callvalue_parser!(PathBuf)which will auto-select the rightValueParserautomatically). - For
#[clap(parse(try_from_str = ...)], replace it with#[clap(value_parser = ...)] - For most other cases, a type implementing
TypedValueParserwill be needed and specify it with#[clap(value_parser = ...)]
- For default parsers (no
Features
- Parsed, typed arguments via
Arg::value_parser/ArgMatches::{get_one,get_many}(#2683, #3732)- Several built-in
TypedValueParsers available with an API open for expansion -
value_parser!(T)macro for selecting a parser for a given type (#3732) and open to expansion via theValueParserFactorytrait (#3755) -
[&str]is implicitly a value parser for possible values - All
ArgMatchesgetters do not assume required arguments (#2505) - Add
ArgMatches::remove_*variants to transfer ownership - Add
ArgMatches::try_*variants to avoid panics for developer errors (#3621) - Add a
get_rawto access the underlyingOsStrs -
PathBufvalue parsers implyValueHint::AnyPathfor completions (#3732)
- Several built-in
- Explicit control over parsing via
Arg::action(#3774)-
ArgAction::StoreValue: existingtakes_value(true)behavior -
ArgAction::IncOccurrences: existingtakes_value(false)behavior -
ArgAction::Help: existing--helpbehavior -
ArgAction::Version: existing--versionbehavior -
ArgAction::Set: Overwrite existing values (likeArg::multiple_occurrencesmixed withCommand::args_override_self) (#3777) -
ArgAction::Append: likeArg::multiple_occurrences(#3777) -
ArgAction::SetTrue: Treat--flagas--flag=true(#3775)- Implies
Arg::default_value("false")(#3786) - Parses
Arg::envviaArg::value_parser
- Implies
-
ArgAction::SetFalse: Treat--flagas--flag=false(#3775)- Implies
Arg::default_value("true")(#3786) - Parses
Arg::envviaArg::value_parser
- Implies
-
ArgAction::Count: Treat--flag --flag --flagas--flag=1 --flag=2 --flag=3(#3775)- Implies
Arg::default_value("0")(#3786) - Parses
Arg::envviaArg::value_parser
- Implies
-
-
(derive) Opt-in to new
Arg::value_parser/Arg::actionwith either#[clap(value_parser)](#3589, #3742) /#[clap(action)]attributes (#3794) -
Command::multicallis now stable for busybox-like programs and REPLs (#2861, #3684) -
ArgMatches::{try_,}contains_idfor checking if there are values for an argument that mirrors the newget_{one,many}API
Fixes
- Don't correct argument id in
default_value_ifs_os(#3815)
parser
- Set
ArgMatches::value_sourceandArgMatches::occurrences_offor external subcommands (#3732) - Use value delimiter for
Arg::default_missing_values(#3761, #3765) - Split
Arg::default_value/Arg::envon value delimiters independent of whether--was used (#3765) - Allow applying defaults to flags (#3294, 3775)
- Defaults no longer satisfy
requiredand its variants (#3793)
v3.1.18
Fixes
- Fix deprecated
arg_enum!for users migrating to clap3 (#3717) - Verify all
required_unless_present_allarguments exist - Verify group members exist before processing group members (#3711)
-
(help) Use
...when not enoughvalue_namesare supplied
gated behind unstable-v4
- Verify
requiredis not used with conditional required settings (#3660) - Disallow more
value_namesthannumber_of_values(#2695) - (parser) Assert on unknown args when using external subcommands (#3703)
-
(parser) Always fill in
""argument for external subcommands (#3263) - (derive) Detect escaped external subcommands that look like built-in subcommands (#3703)
-
(derive) Leave
Arg::idasverbatimcasing (#3282)
v3.1.17
Fixes
- Allow value names for
arg!macro to have dashes when quoted, like longs
v3.1.16
Fixes
-
(parser)
Arg::exclusiveoverridesArg::required, like other conflicts - (error) Don't duplicate arguments in usage
- (error) Don't show hidden arguments in conflict error usage
-
(help) New
help_templatevariable{name}to fix problems with{bin} - (help) Don't wrap URLs
gated behind unstable-v4
- Leading dashes in
Arg::longare no longer allowed -
(help) Use
Command::display_namein the help title rather thanCommand::bin_name
v3.1.15
Fixes
- (error) Render actual usage for unrecognized subcommands
- (multicall) Improve bad command error
- (multicall) Always require a multicall command
- (multicall) Disallow arguments on multicall parent command
- (multicall) More consistent with rest of clap errors
v3.1.14
Fixes
- Panic when calling
Command::buildwith a required positional argument nested several layers in subcommands
v3.1.13
Fixes
- Help subcommand and
Command::write_helpnow report required arguments in usage in more circumstances - Unknown subcommand for help subcommand flag now reports an error with more context
- More details reported when using
debugfeature - Allow disabling
colorfeature withdebugfeature enabled
v3.1.12
Fixes
- Regression in 3.1.11 where the (output) streams were crossed
v3.1.11
Fixes
- Implied conflicts override
Arg::required, making the behavior consistent with how we calculate conflicts for error reporting - Members of a mutually exclusive
ArgGroupoverrideArg::required, making the behavior consistent with how we calculate conflicts for error reporting -
Arg::overrides_withalways overrideArg::required, not just when the parser processes an override
v3.1.10
Features
- Expose
Command::buildfor custom help generation or other command introspection needs
v3.1.9
Fixes
- Pin the
clap_deriveversion so a compatible version is always used withclap
v3.1.8
Fixes
- Add
Debugimpls to more types
v3.1.7
Fixes
-
(derive) Abort, rather than ignore, when deriving
ArgEnumwith non-unit unskipped variants
v3.1.6
Fixes
- Don't panic when validating delimited defaults (#3541)
- Make it clearer that
cargofeature is needed - Documentation improvements
v3.1.5
Fixes
- Dependency upgrade
v3.1.4
Features
-
(help) Show
PossibleValue::helpin long help (--help) (gated behindunstable-v4) (#3312)
v3.1.3
Fixes
- Don't panic when validating delimited defaults (#3514)
v3.1.2
Fixes
- (derive) Allow other attribute with a subcommand that has subcommands
Documentation
- (examples) List example topics
- (derive) Clarify syntax and relation to builder API
v3.1.1
Fixes
- Fix deprecated
arg_enum!for users migrating to clap3 (#3717) - Verify all
required_unless_present_allarguments exist - Verify group members exist before processing group members (#3711)
-
(help) Use
...when not enoughvalue_namesare supplied
gated behind unstable-v4
- Verify
requiredis not used with conditional required settings (#3660) - Disallow more
value_namesthannumber_of_values(#2695) - (parser) Assert on unknown args when using external subcommands (#3703)
-
(parser) Always fill in
""argument for external subcommands (#3263) - (derive) Detect escaped external subcommands that look like built-in subcommands (#3703)
-
(derive) Leave
Arg::idasverbatimcasing (#3282)
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
- [ ] If you want to rebase/retry this PR, click this checkbox.
This PR has been generated by Mend Renovate. View repository job log here.
Deploy Preview for hoard-docs ready!
| Name | Link |
|---|---|
| Latest commit | a2a5150d1cc5b34b9dc9de716db944e3d410935f |
| Latest deploy log | https://app.netlify.com/sites/hoard-docs/deploys/62a75651e7b32d0008ed1289 |
| Deploy Preview | https://deploy-preview-140--hoard-docs.netlify.app |
| Preview on mobile | Toggle QR Code...Use your smartphone camera to open QR code link. |
To edit notification comments on pull requests, go to your Netlify site settings.
Codecov Report
Merging #140 (a2a5150) into main (ffb82b2) will decrease coverage by
0.07%. The diff coverage isn/a.
@@ Coverage Diff @@
## main #140 +/- ##
==========================================
- Coverage 90.65% 90.58% -0.08%
==========================================
Files 71 71
Lines 5691 5691
==========================================
- Hits 5159 5155 -4
- Misses 532 536 +4
| Impacted Files | Coverage Δ | |
|---|---|---|
| tests/hoard_status.rs | 96.61% <0.00%> (-3.39%) |
:arrow_down: |
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.