[INFO] crate clap 2.33.1 is already in cache [INFO] testing clap-2.33.1 against master#8534be72fc3b9c5f2f2dc4e4ee7b651a008e9a3e for pr-74409 [INFO] extracting crate clap 2.33.1 into /workspace/builds/worker-13/source [INFO] validating manifest of crates.io crate clap 2.33.1 on toolchain 8534be72fc3b9c5f2f2dc4e4ee7b651a008e9a3e [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8534be72fc3b9c5f2f2dc4e4ee7b651a008e9a3e" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking crates.io crate clap 2.33.1 [INFO] finished tweaking crates.io crate clap 2.33.1 [INFO] tweaked toml for crates.io crate clap 2.33.1 written to /workspace/builds/worker-13/source/Cargo.toml [INFO] crate crates.io crate clap 2.33.1 already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8534be72fc3b9c5f2f2dc4e4ee7b651a008e9a3e" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env@sha256:d9fbb4e2287ab3795bdefaf705efb7541a8875c13bce71e067d6b01dc5ed759b" "/opt/rustwide/cargo-home/bin/cargo" "+8534be72fc3b9c5f2f2dc4e4ee7b651a008e9a3e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 73665942f46e22e483e0d42a5af5e07662cedd437a855815bc25f005b55d3d40 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "73665942f46e22e483e0d42a5af5e07662cedd437a855815bc25f005b55d3d40", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "73665942f46e22e483e0d42a5af5e07662cedd437a855815bc25f005b55d3d40", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "73665942f46e22e483e0d42a5af5e07662cedd437a855815bc25f005b55d3d40", kill_on_drop: false }` [INFO] [stdout] 73665942f46e22e483e0d42a5af5e07662cedd437a855815bc25f005b55d3d40 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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@sha256:d9fbb4e2287ab3795bdefaf705efb7541a8875c13bce71e067d6b01dc5ed759b" "/opt/rustwide/cargo-home/bin/cargo" "+8534be72fc3b9c5f2f2dc4e4ee7b651a008e9a3e" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 6374684a130cc10770c4991c82fb0e108deb2b999e7d2fa0e5bfbd4947df3648 [INFO] running `Command { std: "docker" "start" "-a" "6374684a130cc10770c4991c82fb0e108deb2b999e7d2fa0e5bfbd4947df3648", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.69 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling unicode-width v0.1.7 [INFO] [stderr] Compiling ansi_term v0.11.0 [INFO] [stderr] Compiling vec_map v0.8.1 [INFO] [stderr] Compiling strsim v0.8.0 [INFO] [stderr] Compiling textwrap v0.11.0 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling clap v2.33.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:43:27 [INFO] [stdout] | [INFO] [stdout] 43 | fn as_base(&self) -> &ArgWithDisplay<'b, 'c>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithDisplay<'b, 'c>` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:49:27 [INFO] [stdout] | [INFO] [stdout] 49 | fn as_base(&self) -> &ArgWithDisplay<'b, 'c> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithDisplay<'b, 'c>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:54:61 [INFO] [stdout] | [INFO] [stdout] 54 | fn as_arg_trait<'a, 'b, T: ArgWithOrder<'a, 'b>>(x: &T) -> &ArgWithOrder<'a, 'b> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithOrder<'a, 'b>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:85:21 [INFO] [stdout] | [INFO] [stdout] 85 | writer: &'a mut Write, [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:101:20 [INFO] [stdout] | [INFO] [stdout] 101 | w: &'a mut Write, [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:141:38 [INFO] [stdout] | [INFO] [stdout] 141 | pub fn write_app_help(w: &'a mut Write, app: &App, use_long: bool) -> ClapResult<()> { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:148:41 [INFO] [stdout] | [INFO] [stdout] 148 | pub fn write_parser_help(w: &'a mut Write, parser: &Parser, use_long: bool) -> ClapResult<()> { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:156:51 [INFO] [stdout] | [INFO] [stdout] 156 | pub fn write_parser_help_to_stderr(w: &'a mut Write, parser: &Parser) -> ClapResult<()> { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:163:20 [INFO] [stdout] | [INFO] [stdout] 163 | w: &'a mut Write, [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:208:32 [INFO] [stdout] | [INFO] [stdout] 208 | I: Iterator>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithOrder<'b, 'c>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:236:32 [INFO] [stdout] | [INFO] [stdout] 236 | I: Iterator>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithOrder<'b, 'c>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:273:43 [INFO] [stdout] | [INFO] [stdout] 273 | fn write_arg<'b, 'c>(&mut self, arg: &ArgWithDisplay<'b, 'c>) -> io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithDisplay<'b, 'c>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:283:39 [INFO] [stdout] | [INFO] [stdout] 283 | fn short<'b, 'c>(&mut self, arg: &ArgWithDisplay<'b, 'c>) -> io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithDisplay<'b, 'c>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:296:38 [INFO] [stdout] | [INFO] [stdout] 296 | fn long<'b, 'c>(&mut self, arg: &ArgWithDisplay<'b, 'c>) -> io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithDisplay<'b, 'c>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:325:37 [INFO] [stdout] | [INFO] [stdout] 325 | fn val<'b, 'c>(&mut self, arg: &ArgWithDisplay<'b, 'c>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithDisplay<'b, 'c>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:453:38 [INFO] [stdout] | [INFO] [stdout] 453 | fn help<'b, 'c>(&mut self, arg: &ArgWithDisplay<'b, 'c>, spec_vals: &str) -> io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithDisplay<'b, 'c>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:511:29 [INFO] [stdout] | [INFO] [stdout] 511 | fn spec_vals(&self, a: &ArgWithDisplay) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithDisplay` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:579:42 [INFO] [stdout] | [INFO] [stdout] 579 | fn should_show_arg(use_long: bool, arg: &ArgWithOrder) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithOrder` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/app/parser.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | / (self.flags.iter().any(|f| &f.b.name == arg) [INFO] [stdout] 150 | | || self.opts.iter().any(|o| &o.b.name == arg) [INFO] [stdout] 151 | | || self.positionals.values().any(|p| &p.b.name == arg) [INFO] [stdout] 152 | | || self.groups.iter().any(|g| &g.name == arg)) [INFO] [stdout] | |__________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 149 | self.flags.iter().any(|f| &f.b.name == arg) [INFO] [stdout] 150 | || self.opts.iter().any(|o| &o.b.name == arg) [INFO] [stdout] 151 | || self.positionals.values().any(|p| &p.b.name == arg) [INFO] [stdout] 152 | || self.groups.iter().any(|g| &g.name == arg) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/app/parser.rs:200:13 [INFO] [stdout] | [INFO] [stdout] 200 | (self.positionals.len() + 1) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/app/parser.rs:309:17 [INFO] [stdout] | [INFO] [stdout] 309 | (self.positionals.len() + 1) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/app/parser.rs:334:17 [INFO] [stdout] | [INFO] [stdout] 334 | (self.positionals.len() + 1) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/app/parser.rs:842:17 [INFO] [stdout] | [INFO] [stdout] 842 | (o.is_set(ArgSettings::AllowLeadingHyphen) || app_wide_settings) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/app/parser.rs:850:17 [INFO] [stdout] | [INFO] [stdout] 850 | (p.is_set(ArgSettings::AllowLeadingHyphen) || app_wide_settings) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/macros.rs:970:63 [INFO] [stdout] | [INFO] [stdout] 970 | fn as_trait_obj<'a, 'b, T: AnyArg<'a, 'b>>(x: &T) -> &AnyArg<'a, 'b> { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stdout] | [INFO] [stdout] ::: src/app/parser.rs:964:39 [INFO] [stdout] | [INFO] [stdout] 964 | let any_arg = find_any_by_name!(self, self.cache.unwrap_or("")); [INFO] [stdout] | ------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/macros.rs:970:63 [INFO] [stdout] | [INFO] [stdout] 970 | fn as_trait_obj<'a, 'b, T: AnyArg<'a, 'b>>(x: &T) -> &AnyArg<'a, 'b> { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stdout] | [INFO] [stdout] ::: src/app/parser.rs:1110:39 [INFO] [stdout] | [INFO] [stdout] 1110 | let any_arg = find_any_by_name!(self, self.cache.unwrap_or("")); [INFO] [stdout] | ------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/macros.rs:970:63 [INFO] [stdout] | [INFO] [stdout] 970 | fn as_trait_obj<'a, 'b, T: AnyArg<'a, 'b>>(x: &T) -> &AnyArg<'a, 'b> { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stdout] | [INFO] [stdout] ::: src/app/parser.rs:1238:27 [INFO] [stdout] | [INFO] [stdout] 1238 | let any_arg = find_any_by_name!(self, self.cache.unwrap_or("")); [INFO] [stdout] | ------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/parser.rs:2168:55 [INFO] [stdout] | [INFO] [stdout] 2168 | pub fn find_any_arg(&self, name: &str) -> Option<&AnyArg<'a, 'b>> { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/macros.rs:970:63 [INFO] [stdout] | [INFO] [stdout] 970 | fn as_trait_obj<'a, 'b, T: AnyArg<'a, 'b>>(x: &T) -> &AnyArg<'a, 'b> { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stdout] | [INFO] [stdout] ::: src/app/validator.rs:214:32 [INFO] [stdout] | [INFO] [stdout] 214 | if let Some(arg) = find_any_by_name!(self.0, name) { [INFO] [stdout] | ------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/macros.rs:970:63 [INFO] [stdout] | [INFO] [stdout] 970 | fn as_trait_obj<'a, 'b, T: AnyArg<'a, 'b>>(x: &T) -> &AnyArg<'a, 'b> { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stdout] | [INFO] [stdout] ::: src/app/validator.rs:231:39 [INFO] [stdout] | [INFO] [stdout] 231 | if let Some(bl) = find_any_by_name!(self.0, *arg).unwrap().blacklist() { [INFO] [stdout] | ------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/app/validator.rs:364:25 [INFO] [stdout] | [INFO] [stdout] 364 | (ma.vals.len() % num as usize) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/macros.rs:970:63 [INFO] [stdout] | [INFO] [stdout] 970 | fn as_trait_obj<'a, 'b, T: AnyArg<'a, 'b>>(x: &T) -> &AnyArg<'a, 'b> { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stdout] | [INFO] [stdout] ::: src/app/validator.rs:467:37 [INFO] [stdout] | [INFO] [stdout] 467 | } else if let Some(a) = find_any_by_name!(self.0, *name) { [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/validator.rs:508:42 [INFO] [stdout] | [INFO] [stdout] 508 | fn validate_arg_conflicts(&self, a: &AnyArg, matcher: &ArgMatcher) -> Option { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/validator.rs:523:44 [INFO] [stdout] | [INFO] [stdout] 523 | fn validate_required_unless(&self, a: &AnyArg, matcher: &ArgMatcher) -> Option { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/validator.rs:578:42 [INFO] [stdout] | [INFO] [stdout] 578 | fn is_missing_required_ok(&self, a: &AnyArg, matcher: &ArgMatcher) -> bool { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/mod.rs:1844:39 [INFO] [stdout] | [INFO] [stdout] 1844 | fn validator(&self) -> Option<&Rc StdResult<(), String>>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(String) -> StdResult<(), String>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/mod.rs:1847:42 [INFO] [stdout] | [INFO] [stdout] 1847 | fn validator_os(&self) -> Option<&Rc StdResult<(), OsString>>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&OsStr) -> StdResult<(), OsString>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/args/any_arg.rs:26:39 [INFO] [stdout] | [INFO] [stdout] 26 | fn validator(&self) -> Option<&Rc Result<(), String>>>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(String) -> Result<(), String>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/args/any_arg.rs:27:42 [INFO] [stdout] | [INFO] [stdout] 27 | fn validator_os(&self) -> Option<&Rc Result<(), OsString>>>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&OsStr) -> Result<(), OsString>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/args/any_arg.rs:89:39 [INFO] [stdout] | [INFO] [stdout] 89 | fn validator(&self) -> Option<&Rc Result<(), String>>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(String) -> Result<(), String>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/args/any_arg.rs:92:42 [INFO] [stdout] | [INFO] [stdout] 92 | fn validator_os(&self) -> Option<&Rc Result<(), OsString>>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&OsStr) -> Result<(), OsString>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/args/arg_builder/flag.rs:103:39 [INFO] [stdout] | [INFO] [stdout] 103 | fn validator(&self) -> Option<&Rc StdResult<(), String>>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(String) -> StdResult<(), String>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/args/arg_builder/flag.rs:106:42 [INFO] [stdout] | [INFO] [stdout] 106 | fn validator_os(&self) -> Option<&Rc StdResult<(), OsString>>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&OsStr) -> StdResult<(), OsString>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/args/arg_builder/option.rs:156:39 [INFO] [stdout] | [INFO] [stdout] 156 | fn validator(&self) -> Option<&Rc StdResult<(), String>>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(String) -> StdResult<(), String>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/args/arg_builder/option.rs:159:42 [INFO] [stdout] | [INFO] [stdout] 159 | fn validator_os(&self) -> Option<&Rc StdResult<(), OsString>>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&OsStr) -> StdResult<(), OsString>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/args/arg_builder/positional.rs:177:39 [INFO] [stdout] | [INFO] [stdout] 177 | fn validator(&self) -> Option<&Rc StdResult<(), String>>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(String) -> StdResult<(), String>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/args/arg_builder/positional.rs:180:42 [INFO] [stdout] | [INFO] [stdout] 180 | fn validator_os(&self) -> Option<&Rc StdResult<(), OsString>>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&OsStr) -> StdResult<(), OsString>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/args/arg_builder/valued.rs:19:30 [INFO] [stdout] | [INFO] [stdout] 19 | pub validator: Option Result<(), String>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(String) -> Result<(), String>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/args/arg_builder/valued.rs:20:33 [INFO] [stdout] | [INFO] [stdout] 20 | pub validator_os: Option Result<(), OsString>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&OsStr) -> Result<(), OsString>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/args/arg_matcher.rs:30:20 [INFO] [stdout] | [INFO] [stdout] 30 | a: Option<&AnyArg<'a, 'b>>, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/args/arg_matcher.rs:75:60 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn handle_self_overrides<'b>(&mut self, a: Option<&AnyArg<'a, 'b>>) { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/errors.rs:412:15 [INFO] [stdout] | [INFO] [stdout] 412 | arg: &AnyArg, [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/errors.rs:450:33 [INFO] [stdout] | [INFO] [stdout] 450 | pub fn empty_value(arg: &AnyArg, usage: U, color: ColorWhen) -> Self [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/errors.rs:478:15 [INFO] [stdout] | [INFO] [stdout] 478 | arg: &AnyArg, [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/errors.rs:663:48 [INFO] [stdout] | [INFO] [stdout] 663 | pub fn too_many_values(val: V, arg: &AnyArg, usage: U, color: ColorWhen) -> Self [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/errors.rs:692:15 [INFO] [stdout] | [INFO] [stdout] 692 | arg: &AnyArg, [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/errors.rs:725:42 [INFO] [stdout] | [INFO] [stdout] 725 | pub fn value_validation(arg: Option<&AnyArg>, err: String, color: ColorWhen) -> Self { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/errors.rs:748:24 [INFO] [stdout] | [INFO] [stdout] 748 | let n: Option<&AnyArg> = None; [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/errors.rs:754:15 [INFO] [stdout] | [INFO] [stdout] 754 | arg: &AnyArg, [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/errors.rs:789:47 [INFO] [stdout] | [INFO] [stdout] 789 | pub fn unexpected_multiple_usage(arg: &AnyArg, usage: U, color: ColorWhen) -> Self [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'bitflags::core::str::::trim_left_matches': superseded by `trim_start_matches` [INFO] [stdout] --> src/app/parser.rs:96:14 [INFO] [stdout] | [INFO] [stdout] 96 | .trim_left_matches(|c| c == '-') [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_start_matches` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'bitflags::core::str::::trim_left_matches': superseded by `trim_start_matches` [INFO] [stdout] --> src/app/parser.rs:105:14 [INFO] [stdout] | [INFO] [stdout] 105 | .trim_left_matches(|c| c == '-') [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_start_matches` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string() [INFO] [stdout] --> src/app/parser.rs:138:75 [INFO] [stdout] | [INFO] [stdout] 138 | Err(why) => panic!("couldn't create completion file: {}", why.description()), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'bitflags::core::str::::trim_left_matches': superseded by `trim_start_matches` [INFO] [stdout] --> src/args/arg.rs:337:35 [INFO] [stdout] | [INFO] [stdout] 337 | self.s.short = s.as_ref().trim_left_matches(|c| c == '-').chars().nth(0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_start_matches` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'bitflags::core::str::::trim_left_matches': superseded by `trim_start_matches` [INFO] [stdout] --> src/args/arg.rs:377:30 [INFO] [stdout] | [INFO] [stdout] 377 | self.s.long = Some(l.trim_left_matches(|c| c == '-')); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_start_matches` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string() [INFO] [stdout] --> src/errors.rs:852:60 [INFO] [stdout] | [INFO] [stdout] 852 | message: format!("{} {}", c.error("error:"), e.description()), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string() [INFO] [stdout] --> src/errors.rs:910:35 [INFO] [stdout] | [INFO] [stdout] 910 | Error::with_description(e.description(), ErrorKind::Io) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string() [INFO] [stdout] --> src/errors.rs:916:35 [INFO] [stdout] | [INFO] [stdout] 916 | Error::with_description(e.description(), ErrorKind::Format) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 68 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 16.33s [INFO] running `Command { std: "docker" "inspect" "6374684a130cc10770c4991c82fb0e108deb2b999e7d2fa0e5bfbd4947df3648", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6374684a130cc10770c4991c82fb0e108deb2b999e7d2fa0e5bfbd4947df3648", kill_on_drop: false }` [INFO] [stdout] 6374684a130cc10770c4991c82fb0e108deb2b999e7d2fa0e5bfbd4947df3648 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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@sha256:d9fbb4e2287ab3795bdefaf705efb7541a8875c13bce71e067d6b01dc5ed759b" "/opt/rustwide/cargo-home/bin/cargo" "+8534be72fc3b9c5f2f2dc4e4ee7b651a008e9a3e" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3fea557bce3c52806a4a019dc1732e30a2bf222d27aa08f8badc4895540f48b6 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "3fea557bce3c52806a4a019dc1732e30a2bf222d27aa08f8badc4895540f48b6", kill_on_drop: false }` [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 unicode-xid v0.1.0 [INFO] [stderr] Compiling smallvec v1.4.0 [INFO] [stderr] Compiling matches v0.1.8 [INFO] [stderr] Compiling serde v1.0.106 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling pulldown-cmark v0.4.1 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Compiling either v1.5.3 [INFO] [stderr] Compiling regex-syntax v0.6.17 [INFO] [stderr] Compiling percent-encoding v1.0.1 [INFO] [stderr] Compiling semver-parser v0.9.0 [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:43:27 [INFO] [stdout] | [INFO] [stdout] 43 | fn as_base(&self) -> &ArgWithDisplay<'b, 'c>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithDisplay<'b, 'c>` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:49:27 [INFO] [stdout] | [INFO] [stdout] 49 | fn as_base(&self) -> &ArgWithDisplay<'b, 'c> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithDisplay<'b, 'c>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:54:61 [INFO] [stdout] | [INFO] [stdout] 54 | fn as_arg_trait<'a, 'b, T: ArgWithOrder<'a, 'b>>(x: &T) -> &ArgWithOrder<'a, 'b> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithOrder<'a, 'b>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:85:21 [INFO] [stdout] | [INFO] [stdout] 85 | writer: &'a mut Write, [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:101:20 [INFO] [stdout] | [INFO] [stdout] 101 | w: &'a mut Write, [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:141:38 [INFO] [stdout] | [INFO] [stdout] 141 | pub fn write_app_help(w: &'a mut Write, app: &App, use_long: bool) -> ClapResult<()> { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:148:41 [INFO] [stdout] | [INFO] [stdout] 148 | pub fn write_parser_help(w: &'a mut Write, parser: &Parser, use_long: bool) -> ClapResult<()> { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:156:51 [INFO] [stdout] | [INFO] [stdout] 156 | pub fn write_parser_help_to_stderr(w: &'a mut Write, parser: &Parser) -> ClapResult<()> { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:163:20 [INFO] [stdout] | [INFO] [stdout] 163 | w: &'a mut Write, [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:208:32 [INFO] [stdout] | [INFO] [stdout] 208 | I: Iterator>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithOrder<'b, 'c>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:236:32 [INFO] [stdout] | [INFO] [stdout] 236 | I: Iterator>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithOrder<'b, 'c>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:273:43 [INFO] [stdout] | [INFO] [stdout] 273 | fn write_arg<'b, 'c>(&mut self, arg: &ArgWithDisplay<'b, 'c>) -> io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithDisplay<'b, 'c>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:283:39 [INFO] [stdout] | [INFO] [stdout] 283 | fn short<'b, 'c>(&mut self, arg: &ArgWithDisplay<'b, 'c>) -> io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithDisplay<'b, 'c>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:296:38 [INFO] [stdout] | [INFO] [stdout] 296 | fn long<'b, 'c>(&mut self, arg: &ArgWithDisplay<'b, 'c>) -> io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithDisplay<'b, 'c>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:325:37 [INFO] [stdout] | [INFO] [stdout] 325 | fn val<'b, 'c>(&mut self, arg: &ArgWithDisplay<'b, 'c>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithDisplay<'b, 'c>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:453:38 [INFO] [stdout] | [INFO] [stdout] 453 | fn help<'b, 'c>(&mut self, arg: &ArgWithDisplay<'b, 'c>, spec_vals: &str) -> io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithDisplay<'b, 'c>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:511:29 [INFO] [stdout] | [INFO] [stdout] 511 | fn spec_vals(&self, a: &ArgWithDisplay) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithDisplay` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:579:42 [INFO] [stdout] | [INFO] [stdout] 579 | fn should_show_arg(use_long: bool, arg: &ArgWithOrder) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithOrder` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/app/parser.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | / (self.flags.iter().any(|f| &f.b.name == arg) [INFO] [stdout] 150 | | || self.opts.iter().any(|o| &o.b.name == arg) [INFO] [stdout] 151 | | || self.positionals.values().any(|p| &p.b.name == arg) [INFO] [stdout] 152 | | || self.groups.iter().any(|g| &g.name == arg)) [INFO] [stdout] | |__________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 149 | self.flags.iter().any(|f| &f.b.name == arg) [INFO] [stdout] 150 | || self.opts.iter().any(|o| &o.b.name == arg) [INFO] [stdout] 151 | || self.positionals.values().any(|p| &p.b.name == arg) [INFO] [stdout] 152 | || self.groups.iter().any(|g| &g.name == arg) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/app/parser.rs:200:13 [INFO] [stdout] | [INFO] [stdout] 200 | (self.positionals.len() + 1) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/app/parser.rs:309:17 [INFO] [stdout] | [INFO] [stdout] 309 | (self.positionals.len() + 1) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/app/parser.rs:334:17 [INFO] [stdout] | [INFO] [stdout] 334 | (self.positionals.len() + 1) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/app/parser.rs:842:17 [INFO] [stdout] | [INFO] [stdout] 842 | (o.is_set(ArgSettings::AllowLeadingHyphen) || app_wide_settings) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/app/parser.rs:850:17 [INFO] [stdout] | [INFO] [stdout] 850 | (p.is_set(ArgSettings::AllowLeadingHyphen) || app_wide_settings) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/macros.rs:970:63 [INFO] [stdout] | [INFO] [stdout] 970 | fn as_trait_obj<'a, 'b, T: AnyArg<'a, 'b>>(x: &T) -> &AnyArg<'a, 'b> { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stdout] | [INFO] [stdout] ::: src/app/parser.rs:964:39 [INFO] [stdout] | [INFO] [stdout] 964 | let any_arg = find_any_by_name!(self, self.cache.unwrap_or("")); [INFO] [stdout] | ------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/macros.rs:970:63 [INFO] [stdout] | [INFO] [stdout] 970 | fn as_trait_obj<'a, 'b, T: AnyArg<'a, 'b>>(x: &T) -> &AnyArg<'a, 'b> { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stdout] | [INFO] [stdout] ::: src/app/parser.rs:1110:39 [INFO] [stdout] | [INFO] [stdout] 1110 | let any_arg = find_any_by_name!(self, self.cache.unwrap_or("")); [INFO] [stdout] | ------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/macros.rs:970:63 [INFO] [stdout] | [INFO] [stdout] 970 | fn as_trait_obj<'a, 'b, T: AnyArg<'a, 'b>>(x: &T) -> &AnyArg<'a, 'b> { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stdout] | [INFO] [stdout] ::: src/app/parser.rs:1238:27 [INFO] [stdout] | [INFO] [stdout] 1238 | let any_arg = find_any_by_name!(self, self.cache.unwrap_or("")); [INFO] [stdout] | ------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/parser.rs:2168:55 [INFO] [stdout] | [INFO] [stdout] 2168 | pub fn find_any_arg(&self, name: &str) -> Option<&AnyArg<'a, 'b>> { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/macros.rs:970:63 [INFO] [stdout] | [INFO] [stdout] 970 | fn as_trait_obj<'a, 'b, T: AnyArg<'a, 'b>>(x: &T) -> &AnyArg<'a, 'b> { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stdout] | [INFO] [stdout] ::: src/app/validator.rs:214:32 [INFO] [stdout] | [INFO] [stdout] 214 | if let Some(arg) = find_any_by_name!(self.0, name) { [INFO] [stdout] | ------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/macros.rs:970:63 [INFO] [stdout] | [INFO] [stdout] 970 | fn as_trait_obj<'a, 'b, T: AnyArg<'a, 'b>>(x: &T) -> &AnyArg<'a, 'b> { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stdout] | [INFO] [stdout] ::: src/app/validator.rs:231:39 [INFO] [stdout] | [INFO] [stdout] 231 | if let Some(bl) = find_any_by_name!(self.0, *arg).unwrap().blacklist() { [INFO] [stdout] | ------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/app/validator.rs:364:25 [INFO] [stdout] | [INFO] [stdout] 364 | (ma.vals.len() % num as usize) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/macros.rs:970:63 [INFO] [stdout] | [INFO] [stdout] 970 | fn as_trait_obj<'a, 'b, T: AnyArg<'a, 'b>>(x: &T) -> &AnyArg<'a, 'b> { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stdout] | [INFO] [stdout] ::: src/app/validator.rs:467:37 [INFO] [stdout] | [INFO] [stdout] 467 | } else if let Some(a) = find_any_by_name!(self.0, *name) { [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/validator.rs:508:42 [INFO] [stdout] | [INFO] [stdout] 508 | fn validate_arg_conflicts(&self, a: &AnyArg, matcher: &ArgMatcher) -> Option { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/validator.rs:523:44 [INFO] [stdout] | [INFO] [stdout] 523 | fn validate_required_unless(&self, a: &AnyArg, matcher: &ArgMatcher) -> Option { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/validator.rs:578:42 [INFO] [stdout] | [INFO] [stdout] 578 | fn is_missing_required_ok(&self, a: &AnyArg, matcher: &ArgMatcher) -> bool { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/mod.rs:1844:39 [INFO] [stdout] | [INFO] [stdout] 1844 | fn validator(&self) -> Option<&Rc StdResult<(), String>>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(String) -> StdResult<(), String>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/mod.rs:1847:42 [INFO] [stdout] | [INFO] [stdout] 1847 | fn validator_os(&self) -> Option<&Rc StdResult<(), OsString>>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&OsStr) -> StdResult<(), OsString>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/args/any_arg.rs:26:39 [INFO] [stdout] | [INFO] [stdout] 26 | fn validator(&self) -> Option<&Rc Result<(), String>>>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(String) -> Result<(), String>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/args/any_arg.rs:27:42 [INFO] [stdout] | [INFO] [stdout] 27 | fn validator_os(&self) -> Option<&Rc Result<(), OsString>>>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&OsStr) -> Result<(), OsString>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/args/any_arg.rs:89:39 [INFO] [stdout] | [INFO] [stdout] 89 | fn validator(&self) -> Option<&Rc Result<(), String>>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(String) -> Result<(), String>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/args/any_arg.rs:92:42 [INFO] [stdout] | [INFO] [stdout] 92 | fn validator_os(&self) -> Option<&Rc Result<(), OsString>>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&OsStr) -> Result<(), OsString>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/args/arg_builder/flag.rs:103:39 [INFO] [stdout] | [INFO] [stdout] 103 | fn validator(&self) -> Option<&Rc StdResult<(), String>>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(String) -> StdResult<(), String>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/args/arg_builder/flag.rs:106:42 [INFO] [stdout] | [INFO] [stdout] 106 | fn validator_os(&self) -> Option<&Rc StdResult<(), OsString>>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&OsStr) -> StdResult<(), OsString>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/args/arg_builder/option.rs:156:39 [INFO] [stdout] | [INFO] [stdout] 156 | fn validator(&self) -> Option<&Rc StdResult<(), String>>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(String) -> StdResult<(), String>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/args/arg_builder/option.rs:159:42 [INFO] [stdout] | [INFO] [stdout] 159 | fn validator_os(&self) -> Option<&Rc StdResult<(), OsString>>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&OsStr) -> StdResult<(), OsString>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/args/arg_builder/positional.rs:177:39 [INFO] [stdout] | [INFO] [stdout] 177 | fn validator(&self) -> Option<&Rc StdResult<(), String>>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(String) -> StdResult<(), String>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/args/arg_builder/positional.rs:180:42 [INFO] [stdout] | [INFO] [stdout] 180 | fn validator_os(&self) -> Option<&Rc StdResult<(), OsString>>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&OsStr) -> StdResult<(), OsString>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/args/arg_builder/valued.rs:19:30 [INFO] [stdout] | [INFO] [stdout] 19 | pub validator: Option Result<(), String>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(String) -> Result<(), String>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/args/arg_builder/valued.rs:20:33 [INFO] [stdout] | [INFO] [stdout] 20 | pub validator_os: Option Result<(), OsString>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&OsStr) -> Result<(), OsString>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/args/arg_matcher.rs:30:20 [INFO] [stdout] | [INFO] [stdout] 30 | a: Option<&AnyArg<'a, 'b>>, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/args/arg_matcher.rs:75:60 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn handle_self_overrides<'b>(&mut self, a: Option<&AnyArg<'a, 'b>>) { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/errors.rs:412:15 [INFO] [stdout] | [INFO] [stdout] 412 | arg: &AnyArg, [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/errors.rs:450:33 [INFO] [stdout] | [INFO] [stdout] 450 | pub fn empty_value(arg: &AnyArg, usage: U, color: ColorWhen) -> Self [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/errors.rs:478:15 [INFO] [stdout] | [INFO] [stdout] 478 | arg: &AnyArg, [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/errors.rs:663:48 [INFO] [stdout] | [INFO] [stdout] 663 | pub fn too_many_values(val: V, arg: &AnyArg, usage: U, color: ColorWhen) -> Self [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/errors.rs:692:15 [INFO] [stdout] | [INFO] [stdout] 692 | arg: &AnyArg, [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/errors.rs:725:42 [INFO] [stdout] | [INFO] [stdout] 725 | pub fn value_validation(arg: Option<&AnyArg>, err: String, color: ColorWhen) -> Self { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/errors.rs:748:24 [INFO] [stdout] | [INFO] [stdout] 748 | let n: Option<&AnyArg> = None; [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/errors.rs:754:15 [INFO] [stdout] | [INFO] [stdout] 754 | arg: &AnyArg, [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/errors.rs:789:47 [INFO] [stdout] | [INFO] [stdout] 789 | pub fn unexpected_multiple_usage(arg: &AnyArg, usage: U, color: ColorWhen) -> Self [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'bitflags::core::str::::trim_left_matches': superseded by `trim_start_matches` [INFO] [stdout] --> src/app/parser.rs:96:14 [INFO] [stdout] | [INFO] [stdout] 96 | .trim_left_matches(|c| c == '-') [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_start_matches` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'bitflags::core::str::::trim_left_matches': superseded by `trim_start_matches` [INFO] [stdout] --> src/app/parser.rs:105:14 [INFO] [stdout] | [INFO] [stdout] 105 | .trim_left_matches(|c| c == '-') [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_start_matches` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string() [INFO] [stdout] --> src/app/parser.rs:138:75 [INFO] [stdout] | [INFO] [stdout] 138 | Err(why) => panic!("couldn't create completion file: {}", why.description()), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'bitflags::core::str::::trim_left_matches': superseded by `trim_start_matches` [INFO] [stdout] --> src/args/arg.rs:337:35 [INFO] [stdout] | [INFO] [stdout] 337 | self.s.short = s.as_ref().trim_left_matches(|c| c == '-').chars().nth(0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_start_matches` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'bitflags::core::str::::trim_left_matches': superseded by `trim_start_matches` [INFO] [stdout] --> src/args/arg.rs:377:30 [INFO] [stdout] | [INFO] [stdout] 377 | self.s.long = Some(l.trim_left_matches(|c| c == '-')); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_start_matches` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string() [INFO] [stdout] --> src/errors.rs:852:60 [INFO] [stdout] | [INFO] [stdout] 852 | message: format!("{} {}", c.error("error:"), e.description()), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string() [INFO] [stdout] --> src/errors.rs:910:35 [INFO] [stdout] | [INFO] [stdout] 910 | Error::with_description(e.description(), ErrorKind::Io) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string() [INFO] [stdout] --> src/errors.rs:916:35 [INFO] [stdout] | [INFO] [stdout] 916 | Error::with_description(e.description(), ErrorKind::Format) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 68 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling unicode-bidi v0.3.4 [INFO] [stderr] Compiling thread_local v1.0.1 [INFO] [stderr] Compiling itertools v0.8.2 [INFO] [stderr] Compiling unicode-normalization v0.1.12 [INFO] [stderr] Compiling unicase v2.6.0 [INFO] [stderr] Compiling aho-corasick v0.7.10 [INFO] [stderr] Compiling quote v0.6.13 [INFO] [stderr] Compiling idna v0.1.5 [INFO] [stderr] Compiling url v1.7.2 [INFO] [stderr] Compiling regex v1.3.7 [INFO] [stderr] Compiling toml v0.5.6 [INFO] [stderr] Compiling version-sync v0.8.1 [INFO] [stderr] Compiling clap v2.33.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:43:27 [INFO] [stdout] | [INFO] [stdout] 43 | fn as_base(&self) -> &ArgWithDisplay<'b, 'c>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithDisplay<'b, 'c>` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:49:27 [INFO] [stdout] | [INFO] [stdout] 49 | fn as_base(&self) -> &ArgWithDisplay<'b, 'c> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithDisplay<'b, 'c>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:54:61 [INFO] [stdout] | [INFO] [stdout] 54 | fn as_arg_trait<'a, 'b, T: ArgWithOrder<'a, 'b>>(x: &T) -> &ArgWithOrder<'a, 'b> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithOrder<'a, 'b>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:85:21 [INFO] [stdout] | [INFO] [stdout] 85 | writer: &'a mut Write, [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:101:20 [INFO] [stdout] | [INFO] [stdout] 101 | w: &'a mut Write, [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:141:38 [INFO] [stdout] | [INFO] [stdout] 141 | pub fn write_app_help(w: &'a mut Write, app: &App, use_long: bool) -> ClapResult<()> { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:148:41 [INFO] [stdout] | [INFO] [stdout] 148 | pub fn write_parser_help(w: &'a mut Write, parser: &Parser, use_long: bool) -> ClapResult<()> { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:156:51 [INFO] [stdout] | [INFO] [stdout] 156 | pub fn write_parser_help_to_stderr(w: &'a mut Write, parser: &Parser) -> ClapResult<()> { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:163:20 [INFO] [stdout] | [INFO] [stdout] 163 | w: &'a mut Write, [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:208:32 [INFO] [stdout] | [INFO] [stdout] 208 | I: Iterator>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithOrder<'b, 'c>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:236:32 [INFO] [stdout] | [INFO] [stdout] 236 | I: Iterator>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithOrder<'b, 'c>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:273:43 [INFO] [stdout] | [INFO] [stdout] 273 | fn write_arg<'b, 'c>(&mut self, arg: &ArgWithDisplay<'b, 'c>) -> io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithDisplay<'b, 'c>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:283:39 [INFO] [stdout] | [INFO] [stdout] 283 | fn short<'b, 'c>(&mut self, arg: &ArgWithDisplay<'b, 'c>) -> io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithDisplay<'b, 'c>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:296:38 [INFO] [stdout] | [INFO] [stdout] 296 | fn long<'b, 'c>(&mut self, arg: &ArgWithDisplay<'b, 'c>) -> io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithDisplay<'b, 'c>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:325:37 [INFO] [stdout] | [INFO] [stdout] 325 | fn val<'b, 'c>(&mut self, arg: &ArgWithDisplay<'b, 'c>) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithDisplay<'b, 'c>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:453:38 [INFO] [stdout] | [INFO] [stdout] 453 | fn help<'b, 'c>(&mut self, arg: &ArgWithDisplay<'b, 'c>, spec_vals: &str) -> io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithDisplay<'b, 'c>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:511:29 [INFO] [stdout] | [INFO] [stdout] 511 | fn spec_vals(&self, a: &ArgWithDisplay) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithDisplay` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/help.rs:579:42 [INFO] [stdout] | [INFO] [stdout] 579 | fn should_show_arg(use_long: bool, arg: &ArgWithOrder) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithOrder` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/app/parser.rs:149:17 [INFO] [stdout] | [INFO] [stdout] 149 | / (self.flags.iter().any(|f| &f.b.name == arg) [INFO] [stdout] 150 | | || self.opts.iter().any(|o| &o.b.name == arg) [INFO] [stdout] 151 | | || self.positionals.values().any(|p| &p.b.name == arg) [INFO] [stdout] 152 | | || self.groups.iter().any(|g| &g.name == arg)) [INFO] [stdout] | |__________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 149 | self.flags.iter().any(|f| &f.b.name == arg) [INFO] [stdout] 150 | || self.opts.iter().any(|o| &o.b.name == arg) [INFO] [stdout] 151 | || self.positionals.values().any(|p| &p.b.name == arg) [INFO] [stdout] 152 | || self.groups.iter().any(|g| &g.name == arg) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/app/parser.rs:200:13 [INFO] [stdout] | [INFO] [stdout] 200 | (self.positionals.len() + 1) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/app/parser.rs:309:17 [INFO] [stdout] | [INFO] [stdout] 309 | (self.positionals.len() + 1) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/app/parser.rs:334:17 [INFO] [stdout] | [INFO] [stdout] 334 | (self.positionals.len() + 1) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/app/parser.rs:842:17 [INFO] [stdout] | [INFO] [stdout] 842 | (o.is_set(ArgSettings::AllowLeadingHyphen) || app_wide_settings) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/app/parser.rs:850:17 [INFO] [stdout] | [INFO] [stdout] 850 | (p.is_set(ArgSettings::AllowLeadingHyphen) || app_wide_settings) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/macros.rs:970:63 [INFO] [stdout] | [INFO] [stdout] 970 | fn as_trait_obj<'a, 'b, T: AnyArg<'a, 'b>>(x: &T) -> &AnyArg<'a, 'b> { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stdout] | [INFO] [stdout] ::: src/app/parser.rs:964:39 [INFO] [stdout] | [INFO] [stdout] 964 | let any_arg = find_any_by_name!(self, self.cache.unwrap_or("")); [INFO] [stdout] | ------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/macros.rs:970:63 [INFO] [stdout] | [INFO] [stdout] 970 | fn as_trait_obj<'a, 'b, T: AnyArg<'a, 'b>>(x: &T) -> &AnyArg<'a, 'b> { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stdout] | [INFO] [stdout] ::: src/app/parser.rs:1110:39 [INFO] [stdout] | [INFO] [stdout] 1110 | let any_arg = find_any_by_name!(self, self.cache.unwrap_or("")); [INFO] [stdout] | ------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/macros.rs:970:63 [INFO] [stdout] | [INFO] [stdout] 970 | fn as_trait_obj<'a, 'b, T: AnyArg<'a, 'b>>(x: &T) -> &AnyArg<'a, 'b> { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stdout] | [INFO] [stdout] ::: src/app/parser.rs:1238:27 [INFO] [stdout] | [INFO] [stdout] 1238 | let any_arg = find_any_by_name!(self, self.cache.unwrap_or("")); [INFO] [stdout] | ------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/parser.rs:2168:55 [INFO] [stdout] | [INFO] [stdout] 2168 | pub fn find_any_arg(&self, name: &str) -> Option<&AnyArg<'a, 'b>> { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/macros.rs:970:63 [INFO] [stdout] | [INFO] [stdout] 970 | fn as_trait_obj<'a, 'b, T: AnyArg<'a, 'b>>(x: &T) -> &AnyArg<'a, 'b> { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stdout] | [INFO] [stdout] ::: src/app/validator.rs:214:32 [INFO] [stdout] | [INFO] [stdout] 214 | if let Some(arg) = find_any_by_name!(self.0, name) { [INFO] [stdout] | ------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/macros.rs:970:63 [INFO] [stdout] | [INFO] [stdout] 970 | fn as_trait_obj<'a, 'b, T: AnyArg<'a, 'b>>(x: &T) -> &AnyArg<'a, 'b> { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stdout] | [INFO] [stdout] ::: src/app/validator.rs:231:39 [INFO] [stdout] | [INFO] [stdout] 231 | if let Some(bl) = find_any_by_name!(self.0, *arg).unwrap().blacklist() { [INFO] [stdout] | ------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/app/validator.rs:364:25 [INFO] [stdout] | [INFO] [stdout] 364 | (ma.vals.len() % num as usize) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/macros.rs:970:63 [INFO] [stdout] | [INFO] [stdout] 970 | fn as_trait_obj<'a, 'b, T: AnyArg<'a, 'b>>(x: &T) -> &AnyArg<'a, 'b> { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stdout] | [INFO] [stdout] ::: src/app/validator.rs:467:37 [INFO] [stdout] | [INFO] [stdout] 467 | } else if let Some(a) = find_any_by_name!(self.0, *name) { [INFO] [stdout] | -------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/validator.rs:508:42 [INFO] [stdout] | [INFO] [stdout] 508 | fn validate_arg_conflicts(&self, a: &AnyArg, matcher: &ArgMatcher) -> Option { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/validator.rs:523:44 [INFO] [stdout] | [INFO] [stdout] 523 | fn validate_required_unless(&self, a: &AnyArg, matcher: &ArgMatcher) -> Option { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/validator.rs:578:42 [INFO] [stdout] | [INFO] [stdout] 578 | fn is_missing_required_ok(&self, a: &AnyArg, matcher: &ArgMatcher) -> bool { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/mod.rs:1844:39 [INFO] [stdout] | [INFO] [stdout] 1844 | fn validator(&self) -> Option<&Rc StdResult<(), String>>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(String) -> StdResult<(), String>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/app/mod.rs:1847:42 [INFO] [stdout] | [INFO] [stdout] 1847 | fn validator_os(&self) -> Option<&Rc StdResult<(), OsString>>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&OsStr) -> StdResult<(), OsString>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/args/any_arg.rs:26:39 [INFO] [stdout] | [INFO] [stdout] 26 | fn validator(&self) -> Option<&Rc Result<(), String>>>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(String) -> Result<(), String>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/args/any_arg.rs:27:42 [INFO] [stdout] | [INFO] [stdout] 27 | fn validator_os(&self) -> Option<&Rc Result<(), OsString>>>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&OsStr) -> Result<(), OsString>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/args/any_arg.rs:89:39 [INFO] [stdout] | [INFO] [stdout] 89 | fn validator(&self) -> Option<&Rc Result<(), String>>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(String) -> Result<(), String>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/args/any_arg.rs:92:42 [INFO] [stdout] | [INFO] [stdout] 92 | fn validator_os(&self) -> Option<&Rc Result<(), OsString>>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&OsStr) -> Result<(), OsString>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/args/arg_builder/flag.rs:103:39 [INFO] [stdout] | [INFO] [stdout] 103 | fn validator(&self) -> Option<&Rc StdResult<(), String>>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(String) -> StdResult<(), String>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/args/arg_builder/flag.rs:106:42 [INFO] [stdout] | [INFO] [stdout] 106 | fn validator_os(&self) -> Option<&Rc StdResult<(), OsString>>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&OsStr) -> StdResult<(), OsString>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/args/arg_builder/option.rs:156:39 [INFO] [stdout] | [INFO] [stdout] 156 | fn validator(&self) -> Option<&Rc StdResult<(), String>>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(String) -> StdResult<(), String>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/args/arg_builder/option.rs:159:42 [INFO] [stdout] | [INFO] [stdout] 159 | fn validator_os(&self) -> Option<&Rc StdResult<(), OsString>>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&OsStr) -> StdResult<(), OsString>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/args/arg_builder/positional.rs:177:39 [INFO] [stdout] | [INFO] [stdout] 177 | fn validator(&self) -> Option<&Rc StdResult<(), String>>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(String) -> StdResult<(), String>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/args/arg_builder/positional.rs:180:42 [INFO] [stdout] | [INFO] [stdout] 180 | fn validator_os(&self) -> Option<&Rc StdResult<(), OsString>>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&OsStr) -> StdResult<(), OsString>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/args/arg_builder/valued.rs:19:30 [INFO] [stdout] | [INFO] [stdout] 19 | pub validator: Option Result<(), String>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(String) -> Result<(), String>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/args/arg_builder/valued.rs:20:33 [INFO] [stdout] | [INFO] [stdout] 20 | pub validator_os: Option Result<(), OsString>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(&OsStr) -> Result<(), OsString>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/args/arg_matcher.rs:30:20 [INFO] [stdout] | [INFO] [stdout] 30 | a: Option<&AnyArg<'a, 'b>>, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/args/arg_matcher.rs:75:60 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn handle_self_overrides<'b>(&mut self, a: Option<&AnyArg<'a, 'b>>) { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/errors.rs:412:15 [INFO] [stdout] | [INFO] [stdout] 412 | arg: &AnyArg, [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/errors.rs:450:33 [INFO] [stdout] | [INFO] [stdout] 450 | pub fn empty_value(arg: &AnyArg, usage: U, color: ColorWhen) -> Self [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/errors.rs:478:15 [INFO] [stdout] | [INFO] [stdout] 478 | arg: &AnyArg, [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/errors.rs:663:48 [INFO] [stdout] | [INFO] [stdout] 663 | pub fn too_many_values(val: V, arg: &AnyArg, usage: U, color: ColorWhen) -> Self [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/errors.rs:692:15 [INFO] [stdout] | [INFO] [stdout] 692 | arg: &AnyArg, [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/errors.rs:725:42 [INFO] [stdout] | [INFO] [stdout] 725 | pub fn value_validation(arg: Option<&AnyArg>, err: String, color: ColorWhen) -> Self { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/errors.rs:748:24 [INFO] [stdout] | [INFO] [stdout] 748 | let n: Option<&AnyArg> = None; [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/errors.rs:754:15 [INFO] [stdout] | [INFO] [stdout] 754 | arg: &AnyArg, [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/errors.rs:789:47 [INFO] [stdout] | [INFO] [stdout] 789 | pub fn unexpected_multiple_usage(arg: &AnyArg, usage: U, color: ColorWhen) -> Self [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn AnyArg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'bitflags::core::str::::trim_left_matches': superseded by `trim_start_matches` [INFO] [stdout] --> src/app/parser.rs:96:14 [INFO] [stdout] | [INFO] [stdout] 96 | .trim_left_matches(|c| c == '-') [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_start_matches` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'bitflags::core::str::::trim_left_matches': superseded by `trim_start_matches` [INFO] [stdout] --> src/app/parser.rs:105:14 [INFO] [stdout] | [INFO] [stdout] 105 | .trim_left_matches(|c| c == '-') [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_start_matches` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string() [INFO] [stdout] --> src/app/parser.rs:138:75 [INFO] [stdout] | [INFO] [stdout] 138 | Err(why) => panic!("couldn't create completion file: {}", why.description()), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'bitflags::core::str::::trim_left_matches': superseded by `trim_start_matches` [INFO] [stdout] --> src/args/arg.rs:337:35 [INFO] [stdout] | [INFO] [stdout] 337 | self.s.short = s.as_ref().trim_left_matches(|c| c == '-').chars().nth(0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_start_matches` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'bitflags::core::str::::trim_left_matches': superseded by `trim_start_matches` [INFO] [stdout] --> src/args/arg.rs:377:30 [INFO] [stdout] | [INFO] [stdout] 377 | self.s.long = Some(l.trim_left_matches(|c| c == '-')); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_start_matches` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string() [INFO] [stdout] --> src/errors.rs:852:60 [INFO] [stdout] | [INFO] [stdout] 852 | message: format!("{} {}", c.error("error:"), e.description()), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string() [INFO] [stdout] --> src/errors.rs:910:35 [INFO] [stdout] | [INFO] [stdout] 910 | Error::with_description(e.description(), ErrorKind::Io) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string() [INFO] [stdout] --> src/errors.rs:916:35 [INFO] [stdout] | [INFO] [stdout] 916 | Error::with_description(e.description(), ErrorKind::Format) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 68 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 41.63s [INFO] running `Command { std: "docker" "inspect" "3fea557bce3c52806a4a019dc1732e30a2bf222d27aa08f8badc4895540f48b6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3fea557bce3c52806a4a019dc1732e30a2bf222d27aa08f8badc4895540f48b6", kill_on_drop: false }` [INFO] [stdout] 3fea557bce3c52806a4a019dc1732e30a2bf222d27aa08f8badc4895540f48b6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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@sha256:d9fbb4e2287ab3795bdefaf705efb7541a8875c13bce71e067d6b01dc5ed759b" "/opt/rustwide/cargo-home/bin/cargo" "+8534be72fc3b9c5f2f2dc4e4ee7b651a008e9a3e" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 602305c075ecd9defbb20e97201a3015c1a1d6a4850e4ea4fbaf97fb2444d1e6 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "602305c075ecd9defbb20e97201a3015c1a1d6a4850e4ea4fbaf97fb2444d1e6", kill_on_drop: false }` [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/help.rs:43:27 [INFO] [stderr] | [INFO] [stderr] 43 | fn as_base(&self) -> &ArgWithDisplay<'b, 'c>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithDisplay<'b, 'c>` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/help.rs:49:27 [INFO] [stderr] | [INFO] [stderr] 49 | 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:54:61 [INFO] [stderr] | [INFO] [stderr] 54 | 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:85:21 [INFO] [stderr] | [INFO] [stderr] 85 | 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:101:20 [INFO] [stderr] | [INFO] [stderr] 101 | 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:141:38 [INFO] [stderr] | [INFO] [stderr] 141 | 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:148:41 [INFO] [stderr] | [INFO] [stderr] 148 | 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:156:51 [INFO] [stderr] | [INFO] [stderr] 156 | 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:163:20 [INFO] [stderr] | [INFO] [stderr] 163 | 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:208:32 [INFO] [stderr] | [INFO] [stderr] 208 | 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:236:32 [INFO] [stderr] | [INFO] [stderr] 236 | 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:273:43 [INFO] [stderr] | [INFO] [stderr] 273 | 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:283:39 [INFO] [stderr] | [INFO] [stderr] 283 | 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:296:38 [INFO] [stderr] | [INFO] [stderr] 296 | 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:325:37 [INFO] [stderr] | [INFO] [stderr] 325 | 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:511:29 [INFO] [stderr] | [INFO] [stderr] 511 | 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:579:42 [INFO] [stderr] | [INFO] [stderr] 579 | fn should_show_arg(use_long: bool, arg: &ArgWithOrder) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithOrder` [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/app/parser.rs:149:17 [INFO] [stderr] | [INFO] [stderr] 149 | / (self.flags.iter().any(|f| &f.b.name == arg) [INFO] [stderr] 150 | | || self.opts.iter().any(|o| &o.b.name == arg) [INFO] [stderr] 151 | | || self.positionals.values().any(|p| &p.b.name == arg) [INFO] [stderr] 152 | | || 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] 149 | self.flags.iter().any(|f| &f.b.name == arg) [INFO] [stderr] 150 | || self.opts.iter().any(|o| &o.b.name == arg) [INFO] [stderr] 151 | || self.positionals.values().any(|p| &p.b.name == arg) [INFO] [stderr] 152 | || 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:200:13 [INFO] [stderr] | [INFO] [stderr] 200 | (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:309:17 [INFO] [stderr] | [INFO] [stderr] 309 | (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:334:17 [INFO] [stderr] | [INFO] [stderr] 334 | (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:842:17 [INFO] [stderr] | [INFO] [stderr] 842 | (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:850:17 [INFO] [stderr] | [INFO] [stderr] 850 | (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:970:63 [INFO] [stderr] | [INFO] [stderr] 970 | fn as_trait_obj<'a, 'b, T: AnyArg<'a, 'b>>(x: &T) -> &AnyArg<'a, 'b> { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stderr] | [INFO] [stderr] ::: src/app/parser.rs:964:39 [INFO] [stderr] | [INFO] [stderr] 964 | 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:970:63 [INFO] [stderr] | [INFO] [stderr] 970 | fn as_trait_obj<'a, 'b, T: AnyArg<'a, 'b>>(x: &T) -> &AnyArg<'a, 'b> { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stderr] | [INFO] [stderr] ::: src/app/parser.rs:1110:39 [INFO] [stderr] | [INFO] [stderr] 1110 | 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:970:63 [INFO] [stderr] | [INFO] [stderr] 970 | fn as_trait_obj<'a, 'b, T: AnyArg<'a, 'b>>(x: &T) -> &AnyArg<'a, 'b> { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stderr] | [INFO] [stderr] ::: src/app/parser.rs:1238:27 [INFO] [stderr] | [INFO] [stderr] 1238 | 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:2168:55 [INFO] [stderr] | [INFO] [stderr] 2168 | 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/macros.rs:970:63 [INFO] [stderr] | [INFO] [stderr] 970 | fn as_trait_obj<'a, 'b, T: AnyArg<'a, 'b>>(x: &T) -> &AnyArg<'a, 'b> { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stderr] | [INFO] [stderr] ::: src/app/validator.rs:214:32 [INFO] [stderr] | [INFO] [stderr] 214 | 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:970:63 [INFO] [stderr] | [INFO] [stderr] 970 | fn as_trait_obj<'a, 'b, T: AnyArg<'a, 'b>>(x: &T) -> &AnyArg<'a, 'b> { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stderr] | [INFO] [stderr] ::: src/app/validator.rs:231:39 [INFO] [stderr] | [INFO] [stderr] 231 | 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:364:25 [INFO] [stderr] | [INFO] [stderr] 364 | (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:970:63 [INFO] [stderr] | [INFO] [stderr] 970 | fn as_trait_obj<'a, 'b, T: AnyArg<'a, 'b>>(x: &T) -> &AnyArg<'a, 'b> { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stderr] | [INFO] [stderr] ::: src/app/validator.rs:467:37 [INFO] [stderr] | [INFO] [stderr] 467 | } 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:508:42 [INFO] [stderr] | [INFO] [stderr] 508 | 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:523:44 [INFO] [stderr] | [INFO] [stderr] 523 | 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:578:42 [INFO] [stderr] | [INFO] [stderr] 578 | 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:1844:39 [INFO] [stderr] | [INFO] [stderr] 1844 | 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/app/mod.rs:1847:42 [INFO] [stderr] | [INFO] [stderr] 1847 | 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/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:89:39 [INFO] [stderr] | [INFO] [stderr] 89 | 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:92:42 [INFO] [stderr] | [INFO] [stderr] 92 | 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/arg_builder/flag.rs:103:39 [INFO] [stderr] | [INFO] [stderr] 103 | 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/flag.rs:106:42 [INFO] [stderr] | [INFO] [stderr] 106 | 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:156:39 [INFO] [stderr] | [INFO] [stderr] 156 | 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:159:42 [INFO] [stderr] | [INFO] [stderr] 159 | 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/positional.rs:177:39 [INFO] [stderr] | [INFO] [stderr] 177 | 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:180:42 [INFO] [stderr] | [INFO] [stderr] 180 | 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/args/arg_matcher.rs:30:20 [INFO] [stderr] | [INFO] [stderr] 30 | 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_matcher.rs:75:60 [INFO] [stderr] | [INFO] [stderr] 75 | 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/errors.rs:412:15 [INFO] [stderr] | [INFO] [stderr] 412 | 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:450:33 [INFO] [stderr] | [INFO] [stderr] 450 | 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:478:15 [INFO] [stderr] | [INFO] [stderr] 478 | 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:663:48 [INFO] [stderr] | [INFO] [stderr] 663 | 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:692:15 [INFO] [stderr] | [INFO] [stderr] 692 | 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:725:42 [INFO] [stderr] | [INFO] [stderr] 725 | 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:96:14 [INFO] [stderr] | [INFO] [stderr] 96 | .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:105:14 [INFO] [stderr] | [INFO] [stderr] 105 | .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:138:75 [INFO] [stderr] | [INFO] [stderr] 138 | 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:337:35 [INFO] [stderr] | [INFO] [stderr] 337 | 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:377:30 [INFO] [stderr] | [INFO] [stderr] 377 | 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:910:35 [INFO] [stderr] | [INFO] [stderr] 910 | 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:916:35 [INFO] [stderr] | [INFO] [stderr] 916 | Error::with_description(e.description(), ErrorKind::Format) [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: 68 warnings emitted [INFO] [stderr] [INFO] [stdout] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] running 88 tests [INFO] [stderr] --> src/app/help.rs:43:27 [INFO] [stderr] | [INFO] [stderr] 43 | fn as_base(&self) -> &ArgWithDisplay<'b, 'c>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithDisplay<'b, 'c>` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/app/help.rs:49:27 [INFO] [stderr] | [INFO] [stderr] 49 | 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:54:61 [INFO] [stderr] | [INFO] [stderr] 54 | 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:85:21 [INFO] [stderr] | [INFO] [stderr] 85 | 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:101:20 [INFO] [stderr] | [INFO] [stderr] 101 | 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:141:38 [INFO] [stderr] | [INFO] [stderr] 141 | 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:148:41 [INFO] [stderr] | [INFO] [stderr] 148 | 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:156:51 [INFO] [stderr] | [INFO] [stderr] 156 | 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:163:20 [INFO] [stderr] | [INFO] [stderr] 163 | 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:208:32 [INFO] [stderr] | [INFO] [stderr] 208 | 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:236:32 [INFO] [stderr] | [INFO] [stderr] 236 | 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:273:43 [INFO] [stderr] | [INFO] [stderr] 273 | 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:283:39 [INFO] [stderr] | [INFO] [stderr] 283 | 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:296:38 [INFO] [stderr] | [INFO] [stderr] 296 | 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:325:37 [INFO] [stderr] | [INFO] [stderr] 325 | 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:511:29 [INFO] [stderr] | [INFO] [stderr] 511 | 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:579:42 [INFO] [stderr] | [INFO] [stderr] 579 | fn should_show_arg(use_long: bool, arg: &ArgWithOrder) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn ArgWithOrder` [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/app/parser.rs:149:17 [INFO] [stderr] | [INFO] [stderr] 149 | / (self.flags.iter().any(|f| &f.b.name == arg) [INFO] [stderr] 150 | | || self.opts.iter().any(|o| &o.b.name == arg) [INFO] [stderr] 151 | | || self.positionals.values().any(|p| &p.b.name == arg) [INFO] [stderr] 152 | | || 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] 149 | self.flags.iter().any(|f| &f.b.name == arg) [INFO] [stderr] 150 | || self.opts.iter().any(|o| &o.b.name == arg) [INFO] [stderr] 151 | || self.positionals.values().any(|p| &p.b.name == arg) [INFO] [stderr] 152 | || 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:200:13 [INFO] [stderr] | [INFO] [stderr] 200 | (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:309:17 [INFO] [stderr] | [INFO] [stderr] 309 | (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:334:17 [INFO] [stderr] | [INFO] [stderr] 334 | (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:842:17 [INFO] [stderr] | [INFO] [stderr] 842 | (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:850:17 [INFO] [stderr] | [INFO] [stderr] 850 | (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:970:63 [INFO] [stderr] | [INFO] [stderr] 970 | fn as_trait_obj<'a, 'b, T: AnyArg<'a, 'b>>(x: &T) -> &AnyArg<'a, 'b> { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stderr] | [INFO] [stderr] ::: src/app/parser.rs:964:39 [INFO] [stderr] | [INFO] [stderr] 964 | 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:970:63 [INFO] [stderr] | [INFO] [stderr] 970 | fn as_trait_obj<'a, 'b, T: AnyArg<'a, 'b>>(x: &T) -> &AnyArg<'a, 'b> { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stderr] | [INFO] [stderr] ::: src/app/parser.rs:1110:39 [INFO] [stderr] | [INFO] [stderr] 1110 | 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:970:63 [INFO] [stderr] | [INFO] [stderr] 970 | fn as_trait_obj<'a, 'b, T: AnyArg<'a, 'b>>(x: &T) -> &AnyArg<'a, 'b> { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stderr] | [INFO] [stderr] ::: src/app/parser.rs:1238:27 [INFO] [stderr] | [INFO] [stderr] 1238 | 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:2168:55 [INFO] [stderr] | [INFO] [stderr] 2168 | 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/macros.rs:970:63 [INFO] [stderr] | [INFO] [stderr] 970 | fn as_trait_obj<'a, 'b, T: AnyArg<'a, 'b>>(x: &T) -> &AnyArg<'a, 'b> { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stderr] | [INFO] [stderr] ::: src/app/validator.rs:214:32 [INFO] [stderr] | [INFO] [stderr] 214 | 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:970:63 [INFO] [stderr] | [INFO] [stderr] 970 | fn as_trait_obj<'a, 'b, T: AnyArg<'a, 'b>>(x: &T) -> &AnyArg<'a, 'b> { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stderr] | [INFO] [stderr] ::: src/app/validator.rs:231:39 [INFO] [stderr] | [INFO] [stderr] 231 | 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:364:25 [INFO] [stderr] | [INFO] [stderr] 364 | (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:970:63 [INFO] [stderr] | [INFO] [stderr] 970 | fn as_trait_obj<'a, 'b, T: AnyArg<'a, 'b>>(x: &T) -> &AnyArg<'a, 'b> { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: use `dyn`: `dyn AnyArg<'a, 'b>` [INFO] [stderr] | [INFO] [stderr] ::: src/app/validator.rs:467:37 [INFO] [stderr] | [INFO] [stderr] 467 | } 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:508:42 [INFO] [stderr] | [INFO] [stderr] 508 | 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:523:44 [INFO] [stderr] | [INFO] [stderr] 523 | 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:578:42 [INFO] [stderr] | [INFO] [stderr] 578 | 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:1844:39 [INFO] [stderr] | [INFO] [stderr] 1844 | 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/app/mod.rs:1847:42 [INFO] [stderr] | [INFO] [stderr] 1847 | 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/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:89:39 [INFO] [stderr] | [INFO] [stderr] 89 | 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:92:42 [INFO] [stderr] | [INFO] [stderr] 92 | 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/arg_builder/flag.rs:103:39 [INFO] [stderr] | [INFO] [stderr] 103 | 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/flag.rs:106:42 [INFO] [stderr] | [INFO] [stderr] 106 | 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:156:39 [INFO] [stderr] | [INFO] [stderr] 156 | 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:159:42 [INFO] [stderr] | [INFO] [stderr] 159 | 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/positional.rs:177:39 [INFO] [stderr] | [INFO] [stderr] 177 | 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:180:42 [INFO] [stderr] | [INFO] [stderr] 180 | 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/args/arg_matcher.rs:30:20 [INFO] [stderr] | [INFO] [stderr] 30 | 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_matcher.rs:75:60 [INFO] [stderr] | [INFO] [stderr] 75 | 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/errors.rs:412:15 [INFO] [stderr] | [INFO] [stderr] 412 | 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:450:33 [INFO] [stderr] | [INFO] [stderr] 450 | 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:478:15 [INFO] [stderr] | [INFO] [stderr] 478 | 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:663:48 [INFO] [stderr] | [INFO] [stderr] 663 | 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:692:15 [INFO] [stderr] | [INFO] [stderr] 692 | 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:725:42 [INFO] [stderr] | [INFO] [stderr] 725 | 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:96:14 [INFO] [stderr] | [INFO] [stderr] 96 | .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:105:14 [INFO] [stderr] | [INFO] [stderr] 105 | .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:138:75 [INFO] [stderr] | [INFO] [stderr] 138 | 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:337:35 [INFO] [stderr] | [INFO] [stderr] 337 | 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:377:30 [INFO] [stderr] | [INFO] [stderr] 377 | 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:910:35 [INFO] [stderr] | [INFO] [stderr] 910 | 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:916:35 [INFO] [stderr] | [INFO] [stderr] 916 | Error::with_description(e.description(), ErrorKind::Format) [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: 68 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.11s [INFO] [stderr] Running /opt/rustwide/target/debug/deps/clap-c1cd73a60fda693e [INFO] [stdout] test args::arg_builder::positional::test::display_val_names_req ... ok [INFO] [stdout] test args::arg_builder::positional::test::display_val_names ... ok [INFO] [stdout] test args::arg_builder::option::test::optbuilder_display2 ... ok [INFO] [stdout] test args::arg_matches::tests::test_default_osvalues_with_shorter_lifetime ... ok [INFO] [stdout] test args::arg_matches::tests::test_default_values ... ok [INFO] [stdout] test args::arg_builder::positional::test::display_required ... ok [INFO] [stdout] test args::arg_builder::positional::test::display_mult ... ok [INFO] [stdout] test args::group::test::groups ... ok [INFO] [stdout] test args::group::test::test_debug ... ok [INFO] [stdout] test args::group::test::test_from ... ok [INFO] [stdout] test args::settings::test::arg_settings_fromstr ... ok [INFO] [stdout] test args::arg_matches::tests::test_default_values_with_shorter_lifetime ... ok [INFO] [stdout] test fmt::test::colored_output ... ok [INFO] [stdout] test usage_parser::test::create_flag_usage ... ok [INFO] [stdout] test usage_parser::test::create_option_usage2 ... ok [INFO] [stdout] test usage_parser::test::create_option_usage4 ... ok [INFO] [stdout] test usage_parser::test::create_option_usage5 ... ok [INFO] [stdout] test usage_parser::test::create_option_usage6 ... ok [INFO] [stdout] test usage_parser::test::create_option_usage7 ... ok [INFO] [stdout] test usage_parser::test::create_option_usage8 ... ok [INFO] [stdout] test usage_parser::test::create_option_usage9 ... ok [INFO] [stdout] test usage_parser::test::create_option_usage_both1 ... ok [INFO] [stdout] test usage_parser::test::create_option_usage_both2 ... ok [INFO] [stdout] test args::arg_matches::tests::test_default_osvalues ... ok [INFO] [stdout] test usage_parser::test::create_option_usage_both3 ... ok [INFO] [stdout] test usage_parser::test::create_option_usage3 ... ok [INFO] [stdout] test usage_parser::test::create_option_usage_both4 ... ok [INFO] [stdout] test usage_parser::test::create_option_usage_both5 ... ok [INFO] [stdout] test usage_parser::test::create_option_usage_both8 ... ok [INFO] [stdout] test usage_parser::test::create_option_usage_both_equals1 ... ok [INFO] [stdout] test usage_parser::test::create_option_usage_both_equals2 ... ok [INFO] [stdout] test usage_parser::test::create_option_usage_both_equals3 ... ok [INFO] [stdout] test usage_parser::test::create_option_usage_both_equals4 ... ok [INFO] [stdout] test usage_parser::test::create_option_usage_both_equals5 ... ok [INFO] [stdout] test usage_parser::test::create_option_usage_both_equals6 ... ok [INFO] [stdout] test usage_parser::test::create_option_usage_both_equals7 ... ok [INFO] [stdout] test usage_parser::test::create_option_usage_both_equals8 ... ok [INFO] [stdout] test usage_parser::test::create_option_usage_long1 ... ok [INFO] [stdout] test usage_parser::test::create_option_usage_long10 ... ok [INFO] [stdout] test usage_parser::test::create_option_usage_long2 ... ok [INFO] [stdout] test usage_parser::test::create_option_usage_long3 ... ok [INFO] [stdout] test usage_parser::test::create_option_usage_long4 ... ok [INFO] [stdout] test usage_parser::test::create_option_usage_long5 ... ok [INFO] [stdout] test usage_parser::test::create_option_usage_long6 ... ok [INFO] [stdout] test usage_parser::test::create_option_usage_long7 ... ok [INFO] [stdout] test usage_parser::test::create_option_usage_long8 ... ok [INFO] [stdout] test args::arg_matches::tests::test_default_indices_with_shorter_lifetime ... ok [INFO] [stdout] test args::arg_builder::flag::test::flagbuilder_display ... ok [INFO] [stdout] test args::arg_builder::option::test::optbuilder_display_single_alias ... ok [INFO] [stdout] test app::help::test::wrap_help_last_word ... ok [INFO] [stdout] test usage_parser::test::create_option_usage0 ... ok [INFO] [stdout] test args::arg_builder::flag::test::flagbuilder_display_multiple_aliases ... ok [INFO] [stdout] test args::arg_builder::flag::test::flagbuilder_display_single_alias ... ok [INFO] [stdout] test args::arg_builder::option::test::optbuilder_display3 ... ok [INFO] [stdout] test usage_parser::test::create_option_usage1 ... ok [INFO] [stdout] test args::arg_builder::option::test::optbuilder_display_multiple_aliases ... ok [INFO] [stdout] test usage_parser::test::create_option_usage_long9 ... ok [INFO] [stdout] test usage_parser::test::create_option_usage_both7 ... ok [INFO] [stdout] test args::arg_matches::tests::test_default_indices ... ok [INFO] [stdout] test args::arg_builder::option::test::optbuilder_display1 ... ok [INFO] [stdout] test usage_parser::test::create_option_usage_both6 ... ok [INFO] [stdout] test app::settings::test::app_settings_fromstr ... ok [INFO] [stdout] test usage_parser::test::create_option_usage_long_equals9 ... ok [INFO] [stdout] test usage_parser::test::create_option_usage_long_equals10 ... ok [INFO] [stdout] test usage_parser::test::create_option_with_vals1 ... ok [INFO] [stdout] test usage_parser::test::create_option_usage_long_equals4 ... ok [INFO] [stdout] test usage_parser::test::create_option_with_vals5 ... ok [INFO] [stdout] test usage_parser::test::create_positional_usage ... ok [INFO] [stdout] test usage_parser::test::create_option_with_vals2 ... ok [INFO] [stdout] test usage_parser::test::create_positional_usage0 ... ok [INFO] [stdout] test usage_parser::test::create_option_usage_long_equals2 ... ok [INFO] [stdout] test usage_parser::test::pos_help_lit_single_quote ... ok [INFO] [stdout] test usage_parser::test::pos_help_double_lit_single_quote ... ok [INFO] [stdout] test usage_parser::test::pos_help_newline ... ok [INFO] [stdout] test usage_parser::test::pos_mult ... ok [INFO] [stdout] test usage_parser::test::nonascii ... ok [INFO] [stdout] test usage_parser::test::pos_req ... ok [INFO] [stdout] test usage_parser::test::pos_help_newline_lit_sq ... ok [INFO] [stdout] test usage_parser::test::pos_req_mult_help ... ok [INFO] [stdout] test usage_parser::test::pos_mult_help ... ok [INFO] [stderr] Doc-tests clap [INFO] [stdout] test usage_parser::test::create_option_usage_long_equals8 ... ok [INFO] [stdout] test usage_parser::test::create_option_usage_long_equals6 ... ok [INFO] [stdout] test usage_parser::test::create_option_usage_long_equals3 ... ok [INFO] [stdout] test usage_parser::test::create_option_usage_long_equals1 ... ok [INFO] [stdout] test usage_parser::test::create_option_usage_long_equals7 ... ok [INFO] [stdout] test usage_parser::test::create_option_with_vals4 ... ok [INFO] [stdout] test usage_parser::test::create_option_with_vals3 ... ok [INFO] [stdout] test usage_parser::test::create_option_usage_long_equals5 ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 88 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> /opt/rustwide/workdir/src/app/parser.rs:149:17 [INFO] [stderr] | [INFO] [stderr] 149 | / (self.flags.iter().any(|f| &f.b.name == arg) [INFO] [stderr] 150 | | || self.opts.iter().any(|o| &o.b.name == arg) [INFO] [stderr] 151 | | || self.positionals.values().any(|p| &p.b.name == arg) [INFO] [stderr] 152 | | || 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] 149 | self.flags.iter().any(|f| &f.b.name == arg) [INFO] [stderr] 150 | || self.opts.iter().any(|o| &o.b.name == arg) [INFO] [stderr] 151 | || self.positionals.values().any(|p| &p.b.name == arg) [INFO] [stderr] 152 | || self.groups.iter().any(|g| &g.name == arg) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> /opt/rustwide/workdir/src/app/parser.rs:200:13 [INFO] [stderr] | [INFO] [stderr] 200 | (self.positionals.len() + 1) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> /opt/rustwide/workdir/src/app/parser.rs:309:17 [INFO] [stderr] | [INFO] [stderr] 309 | (self.positionals.len() + 1) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> /opt/rustwide/workdir/src/app/parser.rs:334:17 [INFO] [stderr] | [INFO] [stderr] 334 | (self.positionals.len() + 1) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> /opt/rustwide/workdir/src/app/parser.rs:842:17 [INFO] [stderr] | [INFO] [stderr] 842 | (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] --> /opt/rustwide/workdir/src/app/parser.rs:850:17 [INFO] [stderr] | [INFO] [stderr] 850 | (p.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] --> /opt/rustwide/workdir/src/app/validator.rs:364:25 [INFO] [stderr] | [INFO] [stderr] 364 | (ma.vals.len() % num as usize) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: 7 warnings emitted [INFO] [stderr] [INFO] [stdout] [INFO] [stdout] running 307 tests [INFO] [stdout] test src/app/mod.rs - app::App::gen_completions (line 1346) ... ignored [INFO] [stdout] test src/app/mod.rs - app::App::gen_completions (line 1370) ... ignored [INFO] [stdout] test src/app/mod.rs - app::App::gen_completions_to (line 1412) ... ignored [INFO] [stdout] test src/app/mod.rs - app::App::after_help (line 297) ... ok [INFO] [stdout] test src/app/mod.rs - app::App::bin_name (line 203) ... ok [INFO] [stdout] test src/app/mod.rs - app::App::about (line 226) ... ok [INFO] [stdout] test src/app/mod.rs - app::App::arg (line 776) ... ok [INFO] [stdout] test src/app/mod.rs - app::App::before_help (line 314) ... ok [INFO] [stdout] test src/app/mod.rs - app::App (line 43) ... ok [INFO] [stdout] test src/app/mod.rs - app::App::author (line 179) ... ok [INFO] [stdout] test src/app/mod.rs - app::App::arg_from_usage (line 827) ... ok [INFO] [stdout] test src/app/mod.rs - app::App::get_matches_from (line 1502) ... ok [INFO] [stdout] test src/app/mod.rs - app::App::args (line 802) ... ok [INFO] [stdout] test src/app/mod.rs - app::App::args_from_usage (line 849) ... ok [INFO] [stdout] test src/app/mod.rs - app::App::get_matches_from_safe (line 1552) ... ok [INFO] [stdout] test src/app/mod.rs - app::App::get_matches (line 1452) ... ok [INFO] [stdout] test src/app/mod.rs - app::App::alias (line 881) ... ok [INFO] [stdout] test src/app/mod.rs - app::App::name (line 271) ... ignored [INFO] [stdout] test src/app/mod.rs - app::App::global_setting (line 634) ... ok [INFO] [stdout] test src/app/mod.rs - app::App::help (line 424) ... ok [INFO] [stdout] test src/app/mod.rs - app::App::get_matches_safe (line 1473) ... ok [INFO] [stdout] test src/app/mod.rs - app::App::help_short (line 464) ... ok [INFO] [stdout] test src/app/mod.rs - app::App::groups (line 1023) ... ok [INFO] [stdout] test src/app/mod.rs - app::App::global_settings (line 656) ... ok [INFO] [stdout] test src/app/mod.rs - app::App::group (line 1000) ... ok [INFO] [stdout] test src/app/mod.rs - app::App::new (line 75) ... ok [INFO] [stdout] test src/app/mod.rs - app::App::help_message (line 510) ... ok [INFO] [stdout] test src/app/mod.rs - app::App::get_matches_from_safe_borrow (line 1588) ... ok [INFO] [stdout] test src/app/mod.rs - app::App::long_about (line 249) ... ok [INFO] [stdout] test src/app/mod.rs - app::App::long_version (line 363) ... ok [INFO] [stdout] test src/app/mod.rs - app::App::max_term_width (line 761) ... ok [INFO] [stdout] test src/app/mod.rs - app::App::gen_completions (line 1324) ... ok [INFO] [stdout] test src/app/mod.rs - app::App::setting (line 590) ... ok [INFO] [stdout] test src/app/mod.rs - app::App::set_term_width (line 733) ... ok [INFO] [stdout] test src/app/mod.rs - app::App::unset_settings (line 698) ... ok [INFO] [stdout] test src/app/mod.rs - app::App::template (line 565) ... ok [INFO] [stdout] test src/app/mod.rs - app::App::unset_setting (line 679) ... ok [INFO] [stdout] test src/app/mod.rs - app::App::usage (line 399) ... ok [INFO] [stdout] test src/app/mod.rs - app::App::settings (line 610) ... ok [INFO] [stdout] test src/app/mod.rs - app::App::subcommand (line 1058) ... ok [INFO] [stdout] test src/app/mod.rs - app::App::version (line 337) ... ok [INFO] [stdout] test src/app/mod.rs - app::App::visible_aliases (line 959) ... ok [INFO] [stdout] test src/app/mod.rs - app::App::with_defaults (line 101) ... ok [INFO] [stdout] test src/app/mod.rs - app::App::version_message (line 529) ... ok [INFO] [stdout] test src/app/mod.rs - app::App::version_short (line 490) ... ok [INFO] [stdout] test src/app/mod.rs - app::App::visible_alias (line 935) ... ok [INFO] [stderr] error: test failed, to rerun pass '--doc' [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `rustdoc --crate-type lib --test /opt/rustwide/workdir/src/lib.rs --crate-name clap -L dependency=/opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --cfg 'feature="suggestions"' --cfg 'feature="vec_map"' --cfg 'feature="strsim"' --cfg 'feature="atty"' --cfg 'feature="default"' --cfg 'feature="ansi_term"' --cfg 'feature="color"' --extern ansi_term=/opt/rustwide/target/debug/deps/libansi_term-6ee0888209c67446.rlib --extern atty=/opt/rustwide/target/debug/deps/libatty-34073b1197b0e400.rlib --extern bitflags=/opt/rustwide/target/debug/deps/libbitflags-39f5b568568e6c52.rlib --extern clap=/opt/rustwide/target/debug/deps/libclap-f2802eb9139f41bf.rlib --extern lazy_static=/opt/rustwide/target/debug/deps/liblazy_static-120fb662e0df71fd.rlib --extern regex=/opt/rustwide/target/debug/deps/libregex-1587510507afafb9.rlib --extern strsim=/opt/rustwide/target/debug/deps/libstrsim-d79a88843cc66be7.rlib --extern textwrap=/opt/rustwide/target/debug/deps/libtextwrap-2f6940de55e47e19.rlib --extern unicode_width=/opt/rustwide/target/debug/deps/libunicode_width-71dd4c1e607168d3.rlib --extern vec_map=/opt/rustwide/target/debug/deps/libvec_map-3a672b8738547421.rlib --extern version_sync=/opt/rustwide/target/debug/deps/libversion_sync-20c5c1e36cfd8ae8.rlib` (signal: 9, SIGKILL: kill) [INFO] running `Command { std: "docker" "inspect" "602305c075ecd9defbb20e97201a3015c1a1d6a4850e4ea4fbaf97fb2444d1e6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "602305c075ecd9defbb20e97201a3015c1a1d6a4850e4ea4fbaf97fb2444d1e6", kill_on_drop: false }` [INFO] [stdout] 602305c075ecd9defbb20e97201a3015c1a1d6a4850e4ea4fbaf97fb2444d1e6