[INFO] crate clap 2.33.0 is already in cache [INFO] checking clap-2.33.0 against try#e4dba30b9b475d8750370c4dfb49b6541990904d for pr-71393 [INFO] extracting crate clap 2.33.0 into /workspace/builds/worker-4/source [INFO] validating manifest of crates.io crate clap 2.33.0 on toolchain e4dba30b9b475d8750370c4dfb49b6541990904d [INFO] running `"/workspace/cargo-home/bin/cargo" "+e4dba30b9b475d8750370c4dfb49b6541990904d" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking crates.io crate clap 2.33.0 [INFO] finished tweaking crates.io crate clap 2.33.0 [INFO] tweaked toml for crates.io crate clap 2.33.0 written to /workspace/builds/worker-4/source/Cargo.toml [INFO] running `"/workspace/cargo-home/bin/cargo" "+e4dba30b9b475d8750370c4dfb49b6541990904d" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/workspace/cargo-home/bin/cargo" "+e4dba30b9b475d8750370c4dfb49b6541990904d" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+e4dba30b9b475d8750370c4dfb49b6541990904d" "check" "--frozen" "--all" "--all-targets"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 396e4533925243fa8a89e81a355b33a64e012695f94cdb86aa474e7e17ffedc3 [INFO] running `"docker" "start" "-a" "396e4533925243fa8a89e81a355b33a64e012695f94cdb86aa474e7e17ffedc3"` [INFO] [stderr] Compiling memchr v2.3.3 [INFO] [stderr] Compiling version_check v0.9.1 [INFO] [stderr] Compiling proc-macro2 v0.4.30 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling serde v1.0.106 [INFO] [stderr] Compiling libc v0.2.69 [INFO] [stderr] Checking matches v0.1.8 [INFO] [stderr] Checking unicode-xid v0.1.0 [INFO] [stderr] Checking smallvec v1.4.0 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Compiling pulldown-cmark v0.4.1 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Checking percent-encoding v1.0.1 [INFO] [stderr] Checking either v1.5.3 [INFO] [stderr] Checking unicode-width v0.1.7 [INFO] [stderr] Checking regex-syntax v0.6.17 [INFO] [stderr] Checking semver-parser v0.9.0 [INFO] [stderr] Checking vec_map v0.8.1 [INFO] [stderr] Checking strsim v0.8.0 [INFO] [stderr] Checking ansi_term v0.11.0 [INFO] [stderr] Checking unicode-bidi v0.3.4 [INFO] [stderr] Checking unicode-normalization v0.1.12 [INFO] [stderr] Checking thread_local v1.0.1 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Checking itertools v0.8.2 [INFO] [stderr] Compiling unicase v2.6.0 [INFO] [stderr] Checking quote v0.6.13 [INFO] [stderr] Checking aho-corasick v0.7.10 [INFO] [stderr] Checking idna v0.1.5 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking clap v2.33.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/app/parser.rs:142:17 [INFO] [stderr] | [INFO] [stderr] 142 | / (self.flags.iter().any(|f| &f.b.name == arg) [INFO] [stderr] 143 | | || self.opts.iter().any(|o| &o.b.name == arg) [INFO] [stderr] 144 | | || self.positionals.values().any(|p| &p.b.name == arg) [INFO] [stderr] 145 | | || self.groups.iter().any(|g| &g.name == arg)) [INFO] [stderr] | |__________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 142 | self.flags.iter().any(|f| &f.b.name == arg) [INFO] [stderr] 143 | || self.opts.iter().any(|o| &o.b.name == arg) [INFO] [stderr] 144 | || self.positionals.values().any(|p| &p.b.name == arg) [INFO] [stderr] 145 | || self.groups.iter().any(|g| &g.name == arg) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/app/parser.rs:193:13 [INFO] [stderr] | [INFO] [stderr] 193 | (self.positionals.len() + 1) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/app/parser.rs:301:17 [INFO] [stderr] | [INFO] [stderr] 301 | (self.positionals.len() + 1) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/app/parser.rs:326:17 [INFO] [stderr] | [INFO] [stderr] 326 | (self.positionals.len() + 1) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/app/parser.rs:803:17 [INFO] [stderr] | [INFO] [stderr] 803 | (o.is_set(ArgSettings::AllowLeadingHyphen) || app_wide_settings) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/app/parser.rs:810:17 [INFO] [stderr] | [INFO] [stderr] 810 | (p.is_set(ArgSettings::AllowLeadingHyphen) || app_wide_settings) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/macros.rs:958:67 [INFO] [stderr] | [INFO] [stderr] 958 | fn as_trait_obj<'a, 'b, T: AnyArg<'a, 'b>>(x: &T) -> &AnyArg<'a, 'b> { x } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stderr] | [INFO] [stderr] ::: src/app/parser.rs:922:39 [INFO] [stderr] | [INFO] [stderr] 922 | let any_arg = find_any_by_name!(self, self.cache.unwrap_or("")); [INFO] [stderr] | ------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/macros.rs:958:67 [INFO] [stderr] | [INFO] [stderr] 958 | fn as_trait_obj<'a, 'b, T: AnyArg<'a, 'b>>(x: &T) -> &AnyArg<'a, 'b> { x } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stderr] | [INFO] [stderr] ::: src/app/parser.rs:1065:39 [INFO] [stderr] | [INFO] [stderr] 1065 | let any_arg = find_any_by_name!(self, self.cache.unwrap_or("")); [INFO] [stderr] | ------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/macros.rs:958:67 [INFO] [stderr] | [INFO] [stderr] 958 | fn as_trait_obj<'a, 'b, T: AnyArg<'a, 'b>>(x: &T) -> &AnyArg<'a, 'b> { x } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stderr] | [INFO] [stderr] ::: src/app/parser.rs:1192:27 [INFO] [stderr] | [INFO] [stderr] 1192 | let any_arg = find_any_by_name!(self, self.cache.unwrap_or("")); [INFO] [stderr] | ------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/parser.rs:2098:55 [INFO] [stderr] | [INFO] [stderr] 2098 | pub fn find_any_arg(&self, name: &str) -> Option<&AnyArg<'a, 'b>> { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/help.rs:47:27 [INFO] [stderr] | [INFO] [stderr] 47 | fn as_base(&self) -> &ArgWithDisplay<'b, 'c>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithDisplay<'b, 'c>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/help.rs:53:27 [INFO] [stderr] | [INFO] [stderr] 53 | fn as_base(&self) -> &ArgWithDisplay<'b, 'c> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithDisplay<'b, 'c>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/help.rs:58:61 [INFO] [stderr] | [INFO] [stderr] 58 | fn as_arg_trait<'a, 'b, T: ArgWithOrder<'a, 'b>>(x: &T) -> &ArgWithOrder<'a, 'b> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithOrder<'a, 'b>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/help.rs:89:21 [INFO] [stderr] | [INFO] [stderr] 89 | writer: &'a mut Write, [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/help.rs:105:20 [INFO] [stderr] | [INFO] [stderr] 105 | w: &'a mut Write, [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/help.rs:143:38 [INFO] [stderr] | [INFO] [stderr] 143 | pub fn write_app_help(w: &'a mut Write, app: &App, use_long: bool) -> ClapResult<()> { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/help.rs:150:41 [INFO] [stderr] | [INFO] [stderr] 150 | pub fn write_parser_help(w: &'a mut Write, parser: &Parser, use_long: bool) -> ClapResult<()> { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/help.rs:158:51 [INFO] [stderr] | [INFO] [stderr] 158 | pub fn write_parser_help_to_stderr(w: &'a mut Write, parser: &Parser) -> ClapResult<()> { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/help.rs:165:20 [INFO] [stderr] | [INFO] [stderr] 165 | w: &'a mut Write, [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/help.rs:209:32 [INFO] [stderr] | [INFO] [stderr] 209 | I: Iterator>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithOrder<'b, 'c>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/help.rs:237:32 [INFO] [stderr] | [INFO] [stderr] 237 | I: Iterator>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithOrder<'b, 'c>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/help.rs:274:43 [INFO] [stderr] | [INFO] [stderr] 274 | fn write_arg<'b, 'c>(&mut self, arg: &ArgWithDisplay<'b, 'c>) -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithDisplay<'b, 'c>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/help.rs:284:39 [INFO] [stderr] | [INFO] [stderr] 284 | fn short<'b, 'c>(&mut self, arg: &ArgWithDisplay<'b, 'c>) -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithDisplay<'b, 'c>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/help.rs:297:38 [INFO] [stderr] | [INFO] [stderr] 297 | fn long<'b, 'c>(&mut self, arg: &ArgWithDisplay<'b, 'c>) -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithDisplay<'b, 'c>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/help.rs:326:37 [INFO] [stderr] | [INFO] [stderr] 326 | fn val<'b, 'c>(&mut self, arg: &ArgWithDisplay<'b, 'c>) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithDisplay<'b, 'c>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/help.rs:453:38 [INFO] [stderr] | [INFO] [stderr] 453 | fn help<'b, 'c>(&mut self, arg: &ArgWithDisplay<'b, 'c>, spec_vals: &str) -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithDisplay<'b, 'c>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/help.rs:509:29 [INFO] [stderr] | [INFO] [stderr] 509 | fn spec_vals(&self, a: &ArgWithDisplay) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithDisplay` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/help.rs:577:42 [INFO] [stderr] | [INFO] [stderr] 577 | fn should_show_arg(use_long: bool, arg: &ArgWithOrder) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithOrder` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/macros.rs:958:67 [INFO] [stderr] | [INFO] [stderr] 958 | fn as_trait_obj<'a, 'b, T: AnyArg<'a, 'b>>(x: &T) -> &AnyArg<'a, 'b> { x } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stderr] | [INFO] [stderr] ::: src/app/validator.rs:210:32 [INFO] [stderr] | [INFO] [stderr] 210 | if let Some(arg) = find_any_by_name!(self.0, name) { [INFO] [stderr] | ------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/macros.rs:958:67 [INFO] [stderr] | [INFO] [stderr] 958 | fn as_trait_obj<'a, 'b, T: AnyArg<'a, 'b>>(x: &T) -> &AnyArg<'a, 'b> { x } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stderr] | [INFO] [stderr] ::: src/app/validator.rs:223:39 [INFO] [stderr] | [INFO] [stderr] 223 | if let Some(bl) = find_any_by_name!(self.0, *arg).unwrap().blacklist() { [INFO] [stderr] | ------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/app/validator.rs:355:25 [INFO] [stderr] | [INFO] [stderr] 355 | (ma.vals.len() % num as usize) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/macros.rs:958:67 [INFO] [stderr] | [INFO] [stderr] 958 | fn as_trait_obj<'a, 'b, T: AnyArg<'a, 'b>>(x: &T) -> &AnyArg<'a, 'b> { x } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stderr] | [INFO] [stderr] ::: src/app/validator.rs:458:37 [INFO] [stderr] | [INFO] [stderr] 458 | } else if let Some(a) = find_any_by_name!(self.0, *name) { [INFO] [stderr] | -------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/validator.rs:499:42 [INFO] [stderr] | [INFO] [stderr] 499 | fn validate_arg_conflicts(&self, a: &AnyArg, matcher: &ArgMatcher) -> Option { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/validator.rs:513:44 [INFO] [stderr] | [INFO] [stderr] 513 | fn validate_required_unless(&self, a: &AnyArg, matcher: &ArgMatcher) -> Option { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/validator.rs:568:42 [INFO] [stderr] | [INFO] [stderr] 568 | fn is_missing_required_ok(&self, a: &AnyArg, matcher: &ArgMatcher) -> bool { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/mod.rs:1805:39 [INFO] [stderr] | [INFO] [stderr] 1805 | fn validator(&self) -> Option<&Rc StdResult<(), String>>> { None } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(String) -> StdResult<(), String>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/mod.rs:1806:42 [INFO] [stderr] | [INFO] [stderr] 1806 | fn validator_os(&self) -> Option<&Rc StdResult<(), OsString>>> { None } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&OsStr) -> StdResult<(), OsString>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/args/any_arg.rs:26:39 [INFO] [stderr] | [INFO] [stderr] 26 | fn validator(&self) -> Option<&Rc Result<(), String>>>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(String) -> Result<(), String>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/args/any_arg.rs:27:42 [INFO] [stderr] | [INFO] [stderr] 27 | fn validator_os(&self) -> Option<&Rc Result<(), OsString>>>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&OsStr) -> Result<(), OsString>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/args/any_arg.rs:60:39 [INFO] [stderr] | [INFO] [stderr] 60 | fn validator(&self) -> Option<&Rc Result<(), String>>> { (*self).validator() } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(String) -> Result<(), String>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/args/any_arg.rs:61:42 [INFO] [stderr] | [INFO] [stderr] 61 | fn validator_os(&self) -> Option<&Rc Result<(), OsString>>> { (*self).validator_os() } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&OsStr) -> Result<(), OsString>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/args/arg_matcher.rs:24:60 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn process_arg_overrides<'b>(&mut self, a: Option<&AnyArg<'a, 'b>>, overrides: &mut Vec<(&'b str, &'a str)>, required: &mut Vec<&'a str>, check_all: bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/args/arg_matcher.rs:56:60 [INFO] [stderr] | [INFO] [stderr] 56 | pub fn handle_self_overrides<'b>(&mut self, a: Option<&AnyArg<'a, 'b>>) { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/args/arg_builder/flag.rs:79:39 [INFO] [stderr] | [INFO] [stderr] 79 | fn validator(&self) -> Option<&Rc StdResult<(), String>>> { None } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(String) -> StdResult<(), String>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/args/arg_builder/flag.rs:80:42 [INFO] [stderr] | [INFO] [stderr] 80 | fn validator_os(&self) -> Option<&Rc StdResult<(), OsString>>> { None } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&OsStr) -> StdResult<(), OsString>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/args/arg_builder/positional.rs:150:39 [INFO] [stderr] | [INFO] [stderr] 150 | fn validator(&self) -> Option<&Rc StdResult<(), String>>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(String) -> StdResult<(), String>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/args/arg_builder/positional.rs:153:42 [INFO] [stderr] | [INFO] [stderr] 153 | fn validator_os(&self) -> Option<&Rc StdResult<(), OsString>>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&OsStr) -> StdResult<(), OsString>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/args/arg_builder/option.rs:132:39 [INFO] [stderr] | [INFO] [stderr] 132 | fn validator(&self) -> Option<&Rc StdResult<(), String>>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(String) -> StdResult<(), String>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/args/arg_builder/option.rs:135:42 [INFO] [stderr] | [INFO] [stderr] 135 | fn validator_os(&self) -> Option<&Rc StdResult<(), OsString>>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&OsStr) -> StdResult<(), OsString>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/args/arg_builder/valued.rs:19:30 [INFO] [stderr] | [INFO] [stderr] 19 | pub validator: Option Result<(), String>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(String) -> Result<(), String>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/args/arg_builder/valued.rs:20:33 [INFO] [stderr] | [INFO] [stderr] 20 | pub validator_os: Option Result<(), OsString>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&OsStr) -> Result<(), OsString>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/errors.rs:410:15 [INFO] [stderr] | [INFO] [stderr] 410 | arg: &AnyArg, [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/errors.rs:448:33 [INFO] [stderr] | [INFO] [stderr] 448 | pub fn empty_value(arg: &AnyArg, usage: U, color: ColorWhen) -> Self [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/errors.rs:476:15 [INFO] [stderr] | [INFO] [stderr] 476 | arg: &AnyArg, [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/errors.rs:662:48 [INFO] [stderr] | [INFO] [stderr] 662 | pub fn too_many_values(val: V, arg: &AnyArg, usage: U, color: ColorWhen) -> Self [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/errors.rs:691:15 [INFO] [stderr] | [INFO] [stderr] 691 | arg: &AnyArg, [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/errors.rs:724:42 [INFO] [stderr] | [INFO] [stderr] 724 | pub fn value_validation(arg: Option<&AnyArg>, err: String, color: ColorWhen) -> Self [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/errors.rs:748:24 [INFO] [stderr] | [INFO] [stderr] 748 | let n: Option<&AnyArg> = None; [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/errors.rs:754:15 [INFO] [stderr] | [INFO] [stderr] 754 | arg: &AnyArg, [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/errors.rs:789:47 [INFO] [stderr] | [INFO] [stderr] 789 | pub fn unexpected_multiple_usage(arg: &AnyArg, usage: U, color: ColorWhen) -> Self [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stderr] [INFO] [stderr] Checking url v1.7.2 [INFO] [stderr] warning: use of deprecated item 'bitflags::core::str::::trim_left_matches': superseded by `trim_start_matches` [INFO] [stderr] --> src/app/parser.rs:90:19 [INFO] [stderr] | [INFO] [stderr] 90 | let c = s.trim_left_matches(|c| c == '-') [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_start_matches` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'bitflags::core::str::::trim_left_matches': superseded by `trim_start_matches` [INFO] [stderr] --> src/app/parser.rs:98:19 [INFO] [stderr] | [INFO] [stderr] 98 | let c = s.trim_left_matches(|c| c == '-') [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_start_matches` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string() [INFO] [stderr] --> src/app/parser.rs:131:75 [INFO] [stderr] | [INFO] [stderr] 131 | Err(why) => panic!("couldn't create completion file: {}", why.description()), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'bitflags::core::str::::trim_left_matches': superseded by `trim_start_matches` [INFO] [stderr] --> src/args/arg.rs:332:35 [INFO] [stderr] | [INFO] [stderr] 332 | self.s.short = s.as_ref().trim_left_matches(|c| c == '-').chars().nth(0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_start_matches` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'bitflags::core::str::::trim_left_matches': superseded by `trim_start_matches` [INFO] [stderr] --> src/args/arg.rs:372:30 [INFO] [stderr] | [INFO] [stderr] 372 | self.s.long = Some(l.trim_left_matches(|c| c == '-')); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_start_matches` [INFO] [stderr] [INFO] [stderr] Checking regex v1.3.7 [INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string() [INFO] [stderr] --> src/errors.rs:852:60 [INFO] [stderr] | [INFO] [stderr] 852 | message: format!("{} {}", c.error("error:"), e.description()), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string() [INFO] [stderr] --> src/errors.rs:905:63 [INFO] [stderr] | [INFO] [stderr] 905 | fn from(e: io::Error) -> Self { Error::with_description(e.description(), ErrorKind::Io) } [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string() [INFO] [stderr] --> src/errors.rs:910:35 [INFO] [stderr] | [INFO] [stderr] 910 | Error::with_description(e.description(), ErrorKind::Format) [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: 68 warnings emitted [INFO] [stderr] [INFO] [stderr] Checking toml v0.5.6 [INFO] [stderr] Checking version-sync v0.8.1 [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/app/parser.rs:142:17 [INFO] [stderr] | [INFO] [stderr] 142 | / (self.flags.iter().any(|f| &f.b.name == arg) [INFO] [stderr] 143 | | || self.opts.iter().any(|o| &o.b.name == arg) [INFO] [stderr] 144 | | || self.positionals.values().any(|p| &p.b.name == arg) [INFO] [stderr] 145 | | || self.groups.iter().any(|g| &g.name == arg)) [INFO] [stderr] | |__________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 142 | self.flags.iter().any(|f| &f.b.name == arg) [INFO] [stderr] 143 | || self.opts.iter().any(|o| &o.b.name == arg) [INFO] [stderr] 144 | || self.positionals.values().any(|p| &p.b.name == arg) [INFO] [stderr] 145 | || self.groups.iter().any(|g| &g.name == arg) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/app/parser.rs:193:13 [INFO] [stderr] | [INFO] [stderr] 193 | (self.positionals.len() + 1) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/app/parser.rs:301:17 [INFO] [stderr] | [INFO] [stderr] 301 | (self.positionals.len() + 1) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/app/parser.rs:326:17 [INFO] [stderr] | [INFO] [stderr] 326 | (self.positionals.len() + 1) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/app/parser.rs:803:17 [INFO] [stderr] | [INFO] [stderr] 803 | (o.is_set(ArgSettings::AllowLeadingHyphen) || app_wide_settings) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/app/parser.rs:810:17 [INFO] [stderr] | [INFO] [stderr] 810 | (p.is_set(ArgSettings::AllowLeadingHyphen) || app_wide_settings) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/macros.rs:958:67 [INFO] [stderr] | [INFO] [stderr] 958 | fn as_trait_obj<'a, 'b, T: AnyArg<'a, 'b>>(x: &T) -> &AnyArg<'a, 'b> { x } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stderr] | [INFO] [stderr] ::: src/app/parser.rs:922:39 [INFO] [stderr] | [INFO] [stderr] 922 | let any_arg = find_any_by_name!(self, self.cache.unwrap_or("")); [INFO] [stderr] | ------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/macros.rs:958:67 [INFO] [stderr] | [INFO] [stderr] 958 | fn as_trait_obj<'a, 'b, T: AnyArg<'a, 'b>>(x: &T) -> &AnyArg<'a, 'b> { x } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stderr] | [INFO] [stderr] ::: src/app/parser.rs:1065:39 [INFO] [stderr] | [INFO] [stderr] 1065 | let any_arg = find_any_by_name!(self, self.cache.unwrap_or("")); [INFO] [stderr] | ------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/macros.rs:958:67 [INFO] [stderr] | [INFO] [stderr] 958 | fn as_trait_obj<'a, 'b, T: AnyArg<'a, 'b>>(x: &T) -> &AnyArg<'a, 'b> { x } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stderr] | [INFO] [stderr] ::: src/app/parser.rs:1192:27 [INFO] [stderr] | [INFO] [stderr] 1192 | let any_arg = find_any_by_name!(self, self.cache.unwrap_or("")); [INFO] [stderr] | ------------------------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/parser.rs:2098:55 [INFO] [stderr] | [INFO] [stderr] 2098 | pub fn find_any_arg(&self, name: &str) -> Option<&AnyArg<'a, 'b>> { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/help.rs:47:27 [INFO] [stderr] | [INFO] [stderr] 47 | fn as_base(&self) -> &ArgWithDisplay<'b, 'c>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithDisplay<'b, 'c>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/help.rs:53:27 [INFO] [stderr] | [INFO] [stderr] 53 | fn as_base(&self) -> &ArgWithDisplay<'b, 'c> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithDisplay<'b, 'c>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/help.rs:58:61 [INFO] [stderr] | [INFO] [stderr] 58 | fn as_arg_trait<'a, 'b, T: ArgWithOrder<'a, 'b>>(x: &T) -> &ArgWithOrder<'a, 'b> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithOrder<'a, 'b>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/help.rs:89:21 [INFO] [stderr] | [INFO] [stderr] 89 | writer: &'a mut Write, [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/help.rs:105:20 [INFO] [stderr] | [INFO] [stderr] 105 | w: &'a mut Write, [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/help.rs:143:38 [INFO] [stderr] | [INFO] [stderr] 143 | pub fn write_app_help(w: &'a mut Write, app: &App, use_long: bool) -> ClapResult<()> { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/help.rs:150:41 [INFO] [stderr] | [INFO] [stderr] 150 | pub fn write_parser_help(w: &'a mut Write, parser: &Parser, use_long: bool) -> ClapResult<()> { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/help.rs:158:51 [INFO] [stderr] | [INFO] [stderr] 158 | pub fn write_parser_help_to_stderr(w: &'a mut Write, parser: &Parser) -> ClapResult<()> { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/help.rs:165:20 [INFO] [stderr] | [INFO] [stderr] 165 | w: &'a mut Write, [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/help.rs:209:32 [INFO] [stderr] | [INFO] [stderr] 209 | I: Iterator>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithOrder<'b, 'c>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/help.rs:237:32 [INFO] [stderr] | [INFO] [stderr] 237 | I: Iterator>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithOrder<'b, 'c>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/help.rs:274:43 [INFO] [stderr] | [INFO] [stderr] 274 | fn write_arg<'b, 'c>(&mut self, arg: &ArgWithDisplay<'b, 'c>) -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithDisplay<'b, 'c>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/help.rs:284:39 [INFO] [stderr] | [INFO] [stderr] 284 | fn short<'b, 'c>(&mut self, arg: &ArgWithDisplay<'b, 'c>) -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithDisplay<'b, 'c>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/help.rs:297:38 [INFO] [stderr] | [INFO] [stderr] 297 | fn long<'b, 'c>(&mut self, arg: &ArgWithDisplay<'b, 'c>) -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithDisplay<'b, 'c>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/help.rs:326:37 [INFO] [stderr] | [INFO] [stderr] 326 | fn val<'b, 'c>(&mut self, arg: &ArgWithDisplay<'b, 'c>) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithDisplay<'b, 'c>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/help.rs:453:38 [INFO] [stderr] | [INFO] [stderr] 453 | fn help<'b, 'c>(&mut self, arg: &ArgWithDisplay<'b, 'c>, spec_vals: &str) -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithDisplay<'b, 'c>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/help.rs:509:29 [INFO] [stderr] | [INFO] [stderr] 509 | fn spec_vals(&self, a: &ArgWithDisplay) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithDisplay` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/help.rs:577:42 [INFO] [stderr] | [INFO] [stderr] 577 | fn should_show_arg(use_long: bool, arg: &ArgWithOrder) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithOrder` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/macros.rs:958:67 [INFO] [stderr] | [INFO] [stderr] 958 | fn as_trait_obj<'a, 'b, T: AnyArg<'a, 'b>>(x: &T) -> &AnyArg<'a, 'b> { x } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stderr] | [INFO] [stderr] ::: src/app/validator.rs:210:32 [INFO] [stderr] | [INFO] [stderr] 210 | if let Some(arg) = find_any_by_name!(self.0, name) { [INFO] [stderr] | ------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/macros.rs:958:67 [INFO] [stderr] | [INFO] [stderr] 958 | fn as_trait_obj<'a, 'b, T: AnyArg<'a, 'b>>(x: &T) -> &AnyArg<'a, 'b> { x } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stderr] | [INFO] [stderr] ::: src/app/validator.rs:223:39 [INFO] [stderr] | [INFO] [stderr] 223 | if let Some(bl) = find_any_by_name!(self.0, *arg).unwrap().blacklist() { [INFO] [stderr] | ------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/app/validator.rs:355:25 [INFO] [stderr] | [INFO] [stderr] 355 | (ma.vals.len() % num as usize) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/macros.rs:958:67 [INFO] [stderr] | [INFO] [stderr] 958 | fn as_trait_obj<'a, 'b, T: AnyArg<'a, 'b>>(x: &T) -> &AnyArg<'a, 'b> { x } [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stderr] | [INFO] [stderr] ::: src/app/validator.rs:458:37 [INFO] [stderr] | [INFO] [stderr] 458 | } else if let Some(a) = find_any_by_name!(self.0, *name) { [INFO] [stderr] | -------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/validator.rs:499:42 [INFO] [stderr] | [INFO] [stderr] 499 | fn validate_arg_conflicts(&self, a: &AnyArg, matcher: &ArgMatcher) -> Option { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/validator.rs:513:44 [INFO] [stderr] | [INFO] [stderr] 513 | fn validate_required_unless(&self, a: &AnyArg, matcher: &ArgMatcher) -> Option { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/validator.rs:568:42 [INFO] [stderr] | [INFO] [stderr] 568 | fn is_missing_required_ok(&self, a: &AnyArg, matcher: &ArgMatcher) -> bool { [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/mod.rs:1805:39 [INFO] [stderr] | [INFO] [stderr] 1805 | fn validator(&self) -> Option<&Rc StdResult<(), String>>> { None } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(String) -> StdResult<(), String>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/mod.rs:1806:42 [INFO] [stderr] | [INFO] [stderr] 1806 | fn validator_os(&self) -> Option<&Rc StdResult<(), OsString>>> { None } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&OsStr) -> StdResult<(), OsString>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/args/any_arg.rs:26:39 [INFO] [stderr] | [INFO] [stderr] 26 | fn validator(&self) -> Option<&Rc Result<(), String>>>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(String) -> Result<(), String>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/args/any_arg.rs:27:42 [INFO] [stderr] | [INFO] [stderr] 27 | fn validator_os(&self) -> Option<&Rc Result<(), OsString>>>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&OsStr) -> Result<(), OsString>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/args/any_arg.rs:60:39 [INFO] [stderr] | [INFO] [stderr] 60 | fn validator(&self) -> Option<&Rc Result<(), String>>> { (*self).validator() } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(String) -> Result<(), String>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/args/any_arg.rs:61:42 [INFO] [stderr] | [INFO] [stderr] 61 | fn validator_os(&self) -> Option<&Rc Result<(), OsString>>> { (*self).validator_os() } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&OsStr) -> Result<(), OsString>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/args/arg_matcher.rs:24:60 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn process_arg_overrides<'b>(&mut self, a: Option<&AnyArg<'a, 'b>>, overrides: &mut Vec<(&'b str, &'a str)>, required: &mut Vec<&'a str>, check_all: bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/args/arg_matcher.rs:56:60 [INFO] [stderr] | [INFO] [stderr] 56 | pub fn handle_self_overrides<'b>(&mut self, a: Option<&AnyArg<'a, 'b>>) { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/args/arg_builder/flag.rs:79:39 [INFO] [stderr] | [INFO] [stderr] 79 | fn validator(&self) -> Option<&Rc StdResult<(), String>>> { None } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(String) -> StdResult<(), String>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/args/arg_builder/flag.rs:80:42 [INFO] [stderr] | [INFO] [stderr] 80 | fn validator_os(&self) -> Option<&Rc StdResult<(), OsString>>> { None } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&OsStr) -> StdResult<(), OsString>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/args/arg_builder/positional.rs:150:39 [INFO] [stderr] | [INFO] [stderr] 150 | fn validator(&self) -> Option<&Rc StdResult<(), String>>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(String) -> StdResult<(), String>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/args/arg_builder/positional.rs:153:42 [INFO] [stderr] | [INFO] [stderr] 153 | fn validator_os(&self) -> Option<&Rc StdResult<(), OsString>>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&OsStr) -> StdResult<(), OsString>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/args/arg_builder/option.rs:132:39 [INFO] [stderr] | [INFO] [stderr] 132 | fn validator(&self) -> Option<&Rc StdResult<(), String>>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(String) -> StdResult<(), String>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/args/arg_builder/option.rs:135:42 [INFO] [stderr] | [INFO] [stderr] 135 | fn validator_os(&self) -> Option<&Rc StdResult<(), OsString>>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&OsStr) -> StdResult<(), OsString>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/args/arg_builder/valued.rs:19:30 [INFO] [stderr] | [INFO] [stderr] 19 | pub validator: Option Result<(), String>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(String) -> Result<(), String>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/args/arg_builder/valued.rs:20:33 [INFO] [stderr] | [INFO] [stderr] 20 | pub validator_os: Option Result<(), OsString>>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&OsStr) -> Result<(), OsString>` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/errors.rs:410:15 [INFO] [stderr] | [INFO] [stderr] 410 | arg: &AnyArg, [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/errors.rs:448:33 [INFO] [stderr] | [INFO] [stderr] 448 | pub fn empty_value(arg: &AnyArg, usage: U, color: ColorWhen) -> Self [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/errors.rs:476:15 [INFO] [stderr] | [INFO] [stderr] 476 | arg: &AnyArg, [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/errors.rs:662:48 [INFO] [stderr] | [INFO] [stderr] 662 | pub fn too_many_values(val: V, arg: &AnyArg, usage: U, color: ColorWhen) -> Self [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/errors.rs:691:15 [INFO] [stderr] | [INFO] [stderr] 691 | arg: &AnyArg, [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/errors.rs:724:42 [INFO] [stderr] | [INFO] [stderr] 724 | pub fn value_validation(arg: Option<&AnyArg>, err: String, color: ColorWhen) -> Self [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/errors.rs:748:24 [INFO] [stderr] | [INFO] [stderr] 748 | let n: Option<&AnyArg> = None; [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/errors.rs:754:15 [INFO] [stderr] | [INFO] [stderr] 754 | arg: &AnyArg, [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/errors.rs:789:47 [INFO] [stderr] | [INFO] [stderr] 789 | pub fn unexpected_multiple_usage(arg: &AnyArg, usage: U, color: ColorWhen) -> Self [INFO] [stderr] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'bitflags::core::str::::trim_left_matches': superseded by `trim_start_matches` [INFO] [stderr] --> src/app/parser.rs:90:19 [INFO] [stderr] | [INFO] [stderr] 90 | let c = s.trim_left_matches(|c| c == '-') [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_start_matches` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'bitflags::core::str::::trim_left_matches': superseded by `trim_start_matches` [INFO] [stderr] --> src/app/parser.rs:98:19 [INFO] [stderr] | [INFO] [stderr] 98 | let c = s.trim_left_matches(|c| c == '-') [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_start_matches` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string() [INFO] [stderr] --> src/app/parser.rs:131:75 [INFO] [stderr] | [INFO] [stderr] 131 | Err(why) => panic!("couldn't create completion file: {}", why.description()), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'bitflags::core::str::::trim_left_matches': superseded by `trim_start_matches` [INFO] [stderr] --> src/args/arg.rs:332:35 [INFO] [stderr] | [INFO] [stderr] 332 | self.s.short = s.as_ref().trim_left_matches(|c| c == '-').chars().nth(0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_start_matches` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'bitflags::core::str::::trim_left_matches': superseded by `trim_start_matches` [INFO] [stderr] --> src/args/arg.rs:372:30 [INFO] [stderr] | [INFO] [stderr] 372 | self.s.long = Some(l.trim_left_matches(|c| c == '-')); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_start_matches` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string() [INFO] [stderr] --> src/errors.rs:852:60 [INFO] [stderr] | [INFO] [stderr] 852 | message: format!("{} {}", c.error("error:"), e.description()), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string() [INFO] [stderr] --> src/errors.rs:905:63 [INFO] [stderr] | [INFO] [stderr] 905 | fn from(e: io::Error) -> Self { Error::with_description(e.description(), ErrorKind::Io) } [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string() [INFO] [stderr] --> src/errors.rs:910:35 [INFO] [stderr] | [INFO] [stderr] 910 | Error::with_description(e.description(), ErrorKind::Format) [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: 68 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 44.73s [INFO] running `"docker" "inspect" "396e4533925243fa8a89e81a355b33a64e012695f94cdb86aa474e7e17ffedc3"` [INFO] running `"docker" "rm" "-f" "396e4533925243fa8a89e81a355b33a64e012695f94cdb86aa474e7e17ffedc3"` [INFO] [stdout] 396e4533925243fa8a89e81a355b33a64e012695f94cdb86aa474e7e17ffedc3