[INFO] cloning repository https://github.com/openkylin/rust-clap-2 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/openkylin/rust-clap-2" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fopenkylin%2Frust-clap-2", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fopenkylin%2Frust-clap-2'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b970938b2aecb9e0b8194dbf74ef6780ed52a5c6 [INFO] linting openkylin/rust-clap-2 against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fopenkylin%2Frust-clap-2" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/openkylin/rust-clap-2 [INFO] finished tweaking git repo https://github.com/openkylin/rust-clap-2 [INFO] tweaked toml for git repo https://github.com/openkylin/rust-clap-2 written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/openkylin/rust-clap-2 on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/openkylin/rust-clap-2 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 22 packages to latest compatible versions [INFO] [stderr] Adding bitflags v2.11.0 [INFO] [stderr] Adding errno v0.3.14 [INFO] [stderr] Updating libc v0.2.108 -> v0.2.183 [INFO] [stderr] Adding linux-raw-sys v0.12.1 [INFO] [stderr] Adding rustix v1.1.4 [INFO] [stderr] Adding smawk v0.3.2 [INFO] [stderr] Adding terminal_size v0.4.3 [INFO] [stderr] Updating textwrap v0.11.0 -> v0.16.2 [INFO] [stderr] Adding unicode-linebreak v0.1.5 [INFO] [stderr] Adding unicode-width v0.2.2 [INFO] [stderr] Adding windows-link v0.2.1 [INFO] [stderr] Adding windows-sys v0.60.2 [INFO] [stderr] Adding windows-sys v0.61.2 [INFO] [stderr] Adding windows-targets v0.53.5 [INFO] [stderr] Adding windows_aarch64_gnullvm v0.53.1 [INFO] [stderr] Adding windows_aarch64_msvc v0.53.1 [INFO] [stderr] Adding windows_i686_gnu v0.53.1 [INFO] [stderr] Adding windows_i686_gnullvm v0.53.1 [INFO] [stderr] Adding windows_i686_msvc v0.53.1 [INFO] [stderr] Adding windows_x86_64_gnu v0.53.1 [INFO] [stderr] Adding windows_x86_64_gnullvm v0.53.1 [INFO] [stderr] Adding windows_x86_64_msvc v0.53.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/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" "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" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 78948101b6d10cf13a413a73decccea72fa3be6d0ce1c430026729214d6feaa5 [INFO] running `Command { std: "docker" "start" "-a" "78948101b6d10cf13a413a73decccea72fa3be6d0ce1c430026729214d6feaa5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "78948101b6d10cf13a413a73decccea72fa3be6d0ce1c430026729214d6feaa5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "78948101b6d10cf13a413a73decccea72fa3be6d0ce1c430026729214d6feaa5", kill_on_drop: false }` [INFO] [stdout] 78948101b6d10cf13a413a73decccea72fa3be6d0ce1c430026729214d6feaa5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/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" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 17d99cecb7aa4bda06406cfcbfd99db82b61dbc513635c2381e7a0165edf9cdb [INFO] running `Command { std: "docker" "start" "-a" "17d99cecb7aa4bda06406cfcbfd99db82b61dbc513635c2381e7a0165edf9cdb", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Checking unicode-width v0.2.2 [INFO] [stderr] Checking unicode-linebreak v0.1.5 [INFO] [stderr] Checking smawk v0.3.2 [INFO] [stderr] Checking ansi_term v0.12.1 [INFO] [stderr] Checking vec_map v0.8.2 [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Checking regex-syntax v0.6.25 [INFO] [stderr] Checking strsim v0.8.0 [INFO] [stderr] Checking unicode-width v0.1.9 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Checking memchr v2.4.1 [INFO] [stderr] Checking textwrap v0.16.2 [INFO] [stderr] Checking aho-corasick v0.7.18 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking clap v2.34.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/lib.rs:533:13 [INFO] [stdout] | [INFO] [stdout] 533 | not(any(feature = "cargo-clippy", feature = "nightly")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] = note: `#[warn(clippy::deprecated_clippy_cfg_attr)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/app/mod.rs:1847:16 [INFO] [stdout] | [INFO] [stdout] 1847 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/app/mod.rs:1851:16 [INFO] [stdout] | [INFO] [stdout] 1851 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/app/help.rs:102:16 [INFO] [stdout] | [INFO] [stdout] 102 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::too_many_arguments))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/app/parser.rs:872:9 [INFO] [stdout] | [INFO] [stdout] 872 | feature = "cargo-clippy", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/app/parser.rs:1141:28 [INFO] [stdout] | [INFO] [stdout] 1141 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::while_let_on_iterator))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/args/any_arg.rs:30:16 [INFO] [stdout] | [INFO] [stdout] 30 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/args/any_arg.rs:32:16 [INFO] [stdout] | [INFO] [stdout] 32 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/args/any_arg.rs:95:16 [INFO] [stdout] | [INFO] [stdout] 95 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/args/any_arg.rs:99:16 [INFO] [stdout] | [INFO] [stdout] 99 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/args/arg_builder/flag.rs:106:16 [INFO] [stdout] | [INFO] [stdout] 106 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/args/arg_builder/flag.rs:110:16 [INFO] [stdout] | [INFO] [stdout] 110 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/args/arg_builder/option.rs:160:16 [INFO] [stdout] | [INFO] [stdout] 160 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/args/arg_builder/option.rs:164:16 [INFO] [stdout] | [INFO] [stdout] 164 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/args/arg_builder/positional.rs:180:16 [INFO] [stdout] | [INFO] [stdout] 180 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/args/arg_builder/positional.rs:184:16 [INFO] [stdout] | [INFO] [stdout] 184 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/args/arg_builder/valued.rs:19:16 [INFO] [stdout] | [INFO] [stdout] 19 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/args/arg_builder/valued.rs:21:16 [INFO] [stdout] | [INFO] [stdout] 21 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/args/arg_builder/valued.rs:25:16 [INFO] [stdout] | [INFO] [stdout] 25 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/args/arg_matcher.rs:269:12 [INFO] [stdout] | [INFO] [stdout] 269 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::from_over_into))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/completions/shell.rs:31:16 [INFO] [stdout] | [INFO] [stdout] 31 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::wildcard_in_or_patterns))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/fmt.rs:143:12 [INFO] [stdout] | [INFO] [stdout] 143 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::match_same_arms))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/suggestions.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::needless_lifetimes))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/lib.rs:533:13 [INFO] [stdout] | [INFO] [stdout] 533 | not(any(feature = "cargo-clippy", feature = "nightly")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/app/help.rs:102:16 [INFO] [stdout] | [INFO] [stdout] 102 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::too_many_arguments))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `lints` [INFO] [stdout] --> src/app/parser.rs:808:16 [INFO] [stdout] | [INFO] [stdout] 808 | #[cfg_attr(feature = "lints", allow(wrong_self_convention))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `lints` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/app/parser.rs:872:9 [INFO] [stdout] | [INFO] [stdout] 872 | feature = "cargo-clippy", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/app/parser.rs:1141:28 [INFO] [stdout] | [INFO] [stdout] 1141 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::while_let_on_iterator))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `lints` [INFO] [stdout] --> src/app/parser.rs:2202:16 [INFO] [stdout] | [INFO] [stdout] 2202 | #[cfg_attr(feature = "lints", allow(block_in_if_condition_stmt))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `lints` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/app/mod.rs:1847:16 [INFO] [stdout] | [INFO] [stdout] 1847 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/app/mod.rs:1851:16 [INFO] [stdout] | [INFO] [stdout] 1851 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/args/any_arg.rs:30:16 [INFO] [stdout] | [INFO] [stdout] 30 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/args/any_arg.rs:32:16 [INFO] [stdout] | [INFO] [stdout] 32 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/args/any_arg.rs:95:16 [INFO] [stdout] | [INFO] [stdout] 95 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/args/any_arg.rs:99:16 [INFO] [stdout] | [INFO] [stdout] 99 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/args/arg_builder/flag.rs:106:16 [INFO] [stdout] | [INFO] [stdout] 106 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/args/arg_builder/flag.rs:110:16 [INFO] [stdout] | [INFO] [stdout] 110 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/args/arg_builder/option.rs:160:16 [INFO] [stdout] | [INFO] [stdout] 160 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/args/arg_builder/option.rs:164:16 [INFO] [stdout] | [INFO] [stdout] 164 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/args/arg_builder/positional.rs:180:16 [INFO] [stdout] | [INFO] [stdout] 180 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/args/arg_builder/positional.rs:184:16 [INFO] [stdout] | [INFO] [stdout] 184 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/args/arg_matcher.rs:269:12 [INFO] [stdout] | [INFO] [stdout] 269 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::from_over_into))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/completions/shell.rs:31:16 [INFO] [stdout] | [INFO] [stdout] 31 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::wildcard_in_or_patterns))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/suggestions.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::needless_lifetimes))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `unstable` [INFO] [stdout] --> src/lib.rs:585:7 [INFO] [stdout] | [INFO] [stdout] 585 | #[cfg(unstable)] [INFO] [stdout] | ^^^^^^^^ help: found config with similar value: `feature = "unstable"` [INFO] [stdout] | [INFO] [stdout] = help: expected names are: `docsrs`, `feature`, and `test` and 31 more [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(unstable)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(unstable)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `unstable` [INFO] [stdout] --> src/lib.rs:588:7 [INFO] [stdout] | [INFO] [stdout] 588 | #[cfg(unstable)] [INFO] [stdout] | ^^^^^^^^ help: found config with similar value: `feature = "unstable"` [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(unstable)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(unstable)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/args/arg_builder/valued.rs:19:16 [INFO] [stdout] | [INFO] [stdout] 19 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/args/arg_builder/valued.rs:21:16 [INFO] [stdout] | [INFO] [stdout] 21 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/args/arg_builder/valued.rs:25:16 [INFO] [stdout] | [INFO] [stdout] 25 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> src/app/help.rs:209:48 [INFO] [stdout] | [INFO] [stdout] 209 | fn write_args_unsorted<'b: 'd, 'c: 'd, 'd, I: 'd>(&mut self, args: I) -> io::Result<()> [INFO] [stdout] | ^ [INFO] [stdout] 210 | where [INFO] [stdout] 211 | I: Iterator>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] = note: `#[warn(clippy::multiple_bound_locations)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> src/app/help.rs:237:39 [INFO] [stdout] | [INFO] [stdout] 237 | fn write_args<'b: 'd, 'c: 'd, 'd, I: 'd>(&mut self, args: I) -> io::Result<()> [INFO] [stdout] | ^ [INFO] [stdout] 238 | where [INFO] [stdout] 239 | I: Iterator>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: can be more succinctly written as a byte str [INFO] [stdout] --> src/app/parser.rs:1792:37 [INFO] [stdout] | [INFO] [stdout] 1792 | has_eq = fv.starts_with(&[b'=']) || had_eq; [INFO] [stdout] | ^^^^^^^ help: try: `b"="` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#byte_char_slices [INFO] [stdout] = note: `#[warn(clippy::byte_char_slices)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `features` [INFO] [stdout] --> src/suggestions.rs:106:17 [INFO] [stdout] | [INFO] [stdout] 106 | #[cfg(all(test, features = "suggestions"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] help: there is a config with a similar name and value [INFO] [stdout] | [INFO] [stdout] 106 - #[cfg(all(test, features = "suggestions"))] [INFO] [stdout] 106 + #[cfg(all(test, feature = "suggestions"))] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> src/suggestions.rs:10:25 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn did_you_mean<'a, T: ?Sized, I>(v: &str, possible_values: I) -> Option<&'a str> [INFO] [stdout] | ^ [INFO] [stdout] 11 | where [INFO] [stdout] 12 | T: AsRef + 'a, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking regex v1.5.4 [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/lib.rs:533:13 [INFO] [stdout] | [INFO] [stdout] 533 | not(any(feature = "cargo-clippy", feature = "nightly")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] = note: `#[warn(clippy::deprecated_clippy_cfg_attr)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/app/mod.rs:1847:16 [INFO] [stdout] | [INFO] [stdout] 1847 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/app/mod.rs:1851:16 [INFO] [stdout] | [INFO] [stdout] 1851 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/app/help.rs:102:16 [INFO] [stdout] | [INFO] [stdout] 102 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::too_many_arguments))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/app/parser.rs:872:9 [INFO] [stdout] | [INFO] [stdout] 872 | feature = "cargo-clippy", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/app/parser.rs:1141:28 [INFO] [stdout] | [INFO] [stdout] 1141 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::while_let_on_iterator))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/args/any_arg.rs:30:16 [INFO] [stdout] | [INFO] [stdout] 30 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/args/any_arg.rs:32:16 [INFO] [stdout] | [INFO] [stdout] 32 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/args/any_arg.rs:95:16 [INFO] [stdout] | [INFO] [stdout] 95 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/args/any_arg.rs:99:16 [INFO] [stdout] | [INFO] [stdout] 99 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/args/arg_builder/flag.rs:106:16 [INFO] [stdout] | [INFO] [stdout] 106 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/args/arg_builder/flag.rs:110:16 [INFO] [stdout] | [INFO] [stdout] 110 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/args/arg_builder/option.rs:160:16 [INFO] [stdout] | [INFO] [stdout] 160 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/args/arg_builder/option.rs:164:16 [INFO] [stdout] | [INFO] [stdout] 164 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/args/arg_builder/positional.rs:180:16 [INFO] [stdout] | [INFO] [stdout] 180 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/args/arg_builder/positional.rs:184:16 [INFO] [stdout] | [INFO] [stdout] 184 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/args/arg_builder/valued.rs:19:16 [INFO] [stdout] | [INFO] [stdout] 19 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/args/arg_builder/valued.rs:21:16 [INFO] [stdout] | [INFO] [stdout] 21 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/args/arg_builder/valued.rs:25:16 [INFO] [stdout] | [INFO] [stdout] 25 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/args/arg_matcher.rs:269:12 [INFO] [stdout] | [INFO] [stdout] 269 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::from_over_into))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/completions/shell.rs:31:16 [INFO] [stdout] | [INFO] [stdout] 31 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::wildcard_in_or_patterns))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/fmt.rs:143:12 [INFO] [stdout] | [INFO] [stdout] 143 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::match_same_arms))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `feature = "cargo-clippy"` was replaced by `clippy` [INFO] [stdout] --> src/suggestions.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::needless_lifetimes))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `clippy` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_clippy_cfg_attr [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/lib.rs:533:13 [INFO] [stdout] | [INFO] [stdout] 533 | not(any(feature = "cargo-clippy", feature = "nightly")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/app/help.rs:102:16 [INFO] [stdout] | [INFO] [stdout] 102 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::too_many_arguments))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `lints` [INFO] [stdout] --> src/app/parser.rs:808:16 [INFO] [stdout] | [INFO] [stdout] 808 | #[cfg_attr(feature = "lints", allow(wrong_self_convention))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `lints` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/app/parser.rs:872:9 [INFO] [stdout] | [INFO] [stdout] 872 | feature = "cargo-clippy", [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/app/parser.rs:1141:28 [INFO] [stdout] | [INFO] [stdout] 1141 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::while_let_on_iterator))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `lints` [INFO] [stdout] --> src/app/parser.rs:2202:16 [INFO] [stdout] | [INFO] [stdout] 2202 | #[cfg_attr(feature = "lints", allow(block_in_if_condition_stmt))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `lints` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/app/mod.rs:1847:16 [INFO] [stdout] | [INFO] [stdout] 1847 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/app/mod.rs:1851:16 [INFO] [stdout] | [INFO] [stdout] 1851 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/args/any_arg.rs:30:16 [INFO] [stdout] | [INFO] [stdout] 30 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/args/any_arg.rs:32:16 [INFO] [stdout] | [INFO] [stdout] 32 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/args/any_arg.rs:95:16 [INFO] [stdout] | [INFO] [stdout] 95 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/args/any_arg.rs:99:16 [INFO] [stdout] | [INFO] [stdout] 99 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/args/arg_builder/flag.rs:106:16 [INFO] [stdout] | [INFO] [stdout] 106 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/args/arg_builder/flag.rs:110:16 [INFO] [stdout] | [INFO] [stdout] 110 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/args/arg_builder/option.rs:160:16 [INFO] [stdout] | [INFO] [stdout] 160 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/args/arg_builder/option.rs:164:16 [INFO] [stdout] | [INFO] [stdout] 164 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/args/arg_builder/positional.rs:180:16 [INFO] [stdout] | [INFO] [stdout] 180 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/args/arg_builder/positional.rs:184:16 [INFO] [stdout] | [INFO] [stdout] 184 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/args/arg_matcher.rs:269:12 [INFO] [stdout] | [INFO] [stdout] 269 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::from_over_into))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/completions/shell.rs:31:16 [INFO] [stdout] | [INFO] [stdout] 31 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::wildcard_in_or_patterns))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/suggestions.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::needless_lifetimes))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `unstable` [INFO] [stdout] --> src/lib.rs:585:7 [INFO] [stdout] | [INFO] [stdout] 585 | #[cfg(unstable)] [INFO] [stdout] | ^^^^^^^^ help: found config with similar value: `feature = "unstable"` [INFO] [stdout] | [INFO] [stdout] = help: expected names are: `docsrs`, `feature`, and `test` and 31 more [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(unstable)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(unstable)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `unstable` [INFO] [stdout] --> src/lib.rs:588:7 [INFO] [stdout] | [INFO] [stdout] 588 | #[cfg(unstable)] [INFO] [stdout] | ^^^^^^^^ help: found config with similar value: `feature = "unstable"` [INFO] [stdout] | [INFO] [stdout] = help: consider using a Cargo feature instead [INFO] [stdout] = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint: [INFO] [stdout] [lints.rust] [INFO] [stdout] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(unstable)'] } [INFO] [stdout] = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(unstable)");` to the top of the `build.rs` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/args/arg_builder/valued.rs:19:16 [INFO] [stdout] | [INFO] [stdout] 19 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/args/arg_builder/valued.rs:21:16 [INFO] [stdout] | [INFO] [stdout] 21 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> src/args/arg_builder/valued.rs:25:16 [INFO] [stdout] | [INFO] [stdout] 25 | #[cfg_attr(feature = "cargo-clippy", allow(clippy::type_complexity))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `ansi_term`, `atty`, `color`, `debug`, `default`, `doc`, `nightly`, `no_cargo`, `strsim`, `suggestions`, `term_size`, `unstable`, `vec_map`, `wrap_help`, `yaml`, and `yaml-rust` [INFO] [stdout] = help: consider adding `cargo-clippy` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> src/app/help.rs:209:48 [INFO] [stdout] | [INFO] [stdout] 209 | fn write_args_unsorted<'b: 'd, 'c: 'd, 'd, I: 'd>(&mut self, args: I) -> io::Result<()> [INFO] [stdout] | ^ [INFO] [stdout] 210 | where [INFO] [stdout] 211 | I: Iterator>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] = note: `#[warn(clippy::multiple_bound_locations)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> src/app/help.rs:237:39 [INFO] [stdout] | [INFO] [stdout] 237 | fn write_args<'b: 'd, 'c: 'd, 'd, I: 'd>(&mut self, args: I) -> io::Result<()> [INFO] [stdout] | ^ [INFO] [stdout] 238 | where [INFO] [stdout] 239 | I: Iterator>, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: can be more succinctly written as a byte str [INFO] [stdout] --> src/app/parser.rs:1792:37 [INFO] [stdout] | [INFO] [stdout] 1792 | has_eq = fv.starts_with(&[b'=']) || had_eq; [INFO] [stdout] | ^^^^^^^ help: try: `b"="` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#byte_char_slices [INFO] [stdout] = note: `#[warn(clippy::byte_char_slices)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition name: `features` [INFO] [stdout] --> src/suggestions.rs:106:17 [INFO] [stdout] | [INFO] [stdout] 106 | #[cfg(all(test, features = "suggestions"))] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] help: there is a config with a similar name and value [INFO] [stdout] | [INFO] [stdout] 106 - #[cfg(all(test, features = "suggestions"))] [INFO] [stdout] 106 + #[cfg(all(test, feature = "suggestions"))] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: bound is defined in more than one place [INFO] [stdout] --> src/suggestions.rs:10:25 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn did_you_mean<'a, T: ?Sized, I>(v: &str, possible_values: I) -> Option<&'a str> [INFO] [stdout] | ^ [INFO] [stdout] 11 | where [INFO] [stdout] 12 | T: AsRef + 'a, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#multiple_bound_locations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/lib.rs:333:5 [INFO] [stdout] | [INFO] [stdout] 333 | //! available, instead of 120 characters. (builds dependency `textwrap` [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] = note: `#[warn(clippy::doc_lazy_continuation)]` on by default [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 333 | //! available, instead of 120 characters. (builds dependency `textwrap` [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/lib.rs:334:5 [INFO] [stdout] | [INFO] [stdout] 334 | //! with feature `term_size`) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 334 | //! with feature `term_size`) [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/lib.rs:471:5 [INFO] [stdout] | [INFO] [stdout] 471 | //! removing legacy code - This does not apply for security concerns [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 471 | //! removing legacy code - This does not apply for security concerns [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/lib.rs:474:5 [INFO] [stdout] | [INFO] [stdout] 474 | //! generating help and usage information (although *slightly* less stringent, as the program is about [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 474 | //! generating help and usage information (although *slightly* less stringent, as the program is about [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/lib.rs:475:5 [INFO] [stdout] | [INFO] [stdout] 475 | //! to exit) [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 475 | //! to exit) [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/lib.rs:478:5 [INFO] [stdout] | [INFO] [stdout] 478 | //! is the star of the show [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 478 | //! is the star of the show [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/macros.rs:631:5 [INFO] [stdout] | [INFO] [stdout] 631 | /// `Arg::required(true)` such as `--config ` = `Arg::value_name("FILE")` and [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 631 | /// `Arg::required(true)` such as `--config ` = `Arg::value_name("FILE")` and [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/macros.rs:632:5 [INFO] [stdout] | [INFO] [stdout] 632 | /// `Arg::required(true)` [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 632 | /// `Arg::required(true)` [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/macros.rs:634:5 [INFO] [stdout] | [INFO] [stdout] 634 | /// `Arg::required(false)` such as `--config [FILE]` = `Arg::value_name("FILE")` and [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 634 | /// `Arg::required(false)` such as `--config [FILE]` = `Arg::value_name("FILE")` and [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/macros.rs:635:5 [INFO] [stdout] | [INFO] [stdout] 635 | /// `Arg::required(false)` [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 635 | /// `Arg::required(false)` [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/macros.rs:643:5 [INFO] [stdout] | [INFO] [stdout] 643 | /// `conflicts_with[FOO]` will set `Arg::conflicts_with("FOO")` (note the lack of quotes around [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 643 | /// `conflicts_with[FOO]` will set `Arg::conflicts_with("FOO")` (note the lack of quotes around [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/macros.rs:644:5 [INFO] [stdout] | [INFO] [stdout] 644 | /// `FOO` in the macro) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 644 | /// `FOO` in the macro) [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/macros.rs:646:5 [INFO] [stdout] | [INFO] [stdout] 646 | /// [`Arg::conflicts_with`]) followed by square brackets and a list of values separated by spaces [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 646 | /// [`Arg::conflicts_with`]) followed by square brackets and a list of values separated by spaces [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/macros.rs:647:5 [INFO] [stdout] | [INFO] [stdout] 647 | /// will set that method such as `conflicts_with[FOO BAR BAZ]` will set [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 647 | /// will set that method such as `conflicts_with[FOO BAR BAZ]` will set [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/macros.rs:648:5 [INFO] [stdout] | [INFO] [stdout] 648 | /// `Arg::conflicts_with("FOO")`, `Arg::conflicts_with("BAR")`, and `Arg::conflicts_with("BAZ")` [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 648 | /// `Arg::conflicts_with("FOO")`, `Arg::conflicts_with("BAR")`, and `Arg::conflicts_with("BAZ")` [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/macros.rs:649:5 [INFO] [stdout] | [INFO] [stdout] 649 | /// (note the lack of quotes around the values in the macro) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 649 | /// (note the lack of quotes around the values in the macro) [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: importing legacy numeric constants [INFO] [stdout] --> src/app/help.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove this import [INFO] [stdout] = note: then `usize::` will resolve to the respective associated constant [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] = note: `#[warn(clippy::legacy_numeric_constants)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/app/help.rs:103:5 [INFO] [stdout] | [INFO] [stdout] 103 | / pub fn new( [INFO] [stdout] 104 | | w: &'a mut Write, [INFO] [stdout] 105 | | next_line_help: bool, [INFO] [stdout] 106 | | hide_pv: bool, [INFO] [stdout] ... | [INFO] [stdout] 111 | | use_long: bool, [INFO] [stdout] 112 | | ) -> Self { [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/help.rs:281:24 [INFO] [stdout] | [INFO] [stdout] 281 | self.help(arg, &*spec_vals)?; [INFO] [stdout] | ^^^^^^^^^^^ help: try: `&spec_vals` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] = note: `#[warn(clippy::explicit_auto_deref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/help.rs:371:44 [INFO] [stdout] | [INFO] [stdout] 371 | let h_w = str_width(h) + str_width(&*spec_vals); [INFO] [stdout] | ^^^^^^^^^^^ help: try: `&spec_vals` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/app/help.rs:475:56 [INFO] [stdout] | [INFO] [stdout] 475 | let too_long = spcs + str_width(h) + str_width(&*spec_vals) >= self.term_w; [INFO] [stdout] | ^^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `spec_vals` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] = note: `#[warn(clippy::borrow_deref_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling .bytes() is very inefficient when data is not in memory [INFO] [stdout] --> src/app/help.rs:801:15 [INFO] [stdout] | [INFO] [stdout] 801 | for wb in r.bytes() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using `BufReader` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unbuffered_bytes [INFO] [stdout] = note: `#[warn(clippy::unbuffered_bytes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `a.index` after checking its variant with `is_none` [INFO] [stdout] --> src/app/parser.rs:199:13 [INFO] [stdout] | [INFO] [stdout] 196 | let i = if a.index.is_none() { [INFO] [stdout] | -------------------- help: try: `if let Some() = a.index` [INFO] [stdout] ... [INFO] [stdout] 199 | a.index.unwrap() as usize [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `a.index` after checking its variant with `is_none` [INFO] [stdout] --> src/app/parser.rs:308:17 [INFO] [stdout] | [INFO] [stdout] 305 | let i = if a.index.is_none() { [INFO] [stdout] | -------------------- help: try: `if let Some() = a.index` [INFO] [stdout] ... [INFO] [stdout] 308 | a.index.unwrap() as usize [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `a.index` after checking its variant with `is_none` [INFO] [stdout] --> src/app/parser.rs:333:17 [INFO] [stdout] | [INFO] [stdout] 330 | let i = if a.index.is_none() { [INFO] [stdout] | -------------------- help: try: `if let Some() = a.index` [INFO] [stdout] ... [INFO] [stdout] 333 | a.index.unwrap() as usize [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `self.meta.version` after checking its variant with `is_some` [INFO] [stdout] --> src/app/parser.rs:414:46 [INFO] [stdout] | [INFO] [stdout] 412 | if gv && sc.p.meta.version.is_none() && self.meta.version.is_some() { [INFO] [stdout] | --------------------------- the check is happening here [INFO] [stdout] 413 | sc.p.set(AS::GlobalVersion); [INFO] [stdout] 414 | sc.p.meta.version = Some(self.meta.version.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/app/parser.rs:432:26 [INFO] [stdout] | [INFO] [stdout] 432 | .filter(|&(_, ref o)| o.s.disp_ord == 999) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] = note: `#[warn(clippy::needless_borrowed_reference)]` on by default [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 432 - .filter(|&(_, ref o)| o.s.disp_ord == 999) [INFO] [stdout] 432 + .filter(|(_, o)| o.s.disp_ord == 999) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/app/parser.rs:440:26 [INFO] [stdout] | [INFO] [stdout] 440 | .filter(|&(_, ref f)| f.s.disp_ord == 999) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 440 - .filter(|&(_, ref f)| f.s.disp_ord == 999) [INFO] [stdout] 440 + .filter(|(_, f)| f.s.disp_ord == 999) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/app/parser.rs:448:26 [INFO] [stdout] | [INFO] [stdout] 448 | .filter(|&(_, ref sc)| sc.p.meta.disp_ord == 999) [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 448 - .filter(|&(_, ref sc)| sc.p.meta.disp_ord == 999) [INFO] [stdout] 448 + .filter(|(_, sc)| sc.p.meta.disp_ord == 999) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/app/parser.rs:547:17 [INFO] [stdout] | [INFO] [stdout] 547 | !(idx != self.positionals.len()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(idx == self.positionals.len())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual backwards iteration [INFO] [stdout] --> src/app/parser.rs:545:56 [INFO] [stdout] | [INFO] [stdout] 545 | if let Some((idx, p)) = self.positionals.iter().rev().next() { [INFO] [stdout] | ^^^^^^^^^^^^^ help: use: `.next_back()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_next_back [INFO] [stdout] = note: `#[warn(clippy::manual_next_back)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/app/parser.rs:1020:16 [INFO] [stdout] | [INFO] [stdout] 1020 | if !(self.is_set(AS::ArgsNegateSubcommands) && self.is_set(AS::ValidArgFound)) [INFO] [stdout] | ________________^ [INFO] [stdout] 1021 | | && !self.is_set(AS::InferSubcommands) [INFO] [stdout] 1022 | | && !self.is_set(AS::AllowExternalSubcommands) [INFO] [stdout] | |_____________________________________________________________^ help: try: `!(self.is_set(AS::InferSubcommands) || self.is_set(AS::AllowExternalSubcommands) || self.is_set(AS::ArgsNegateSubcommands) && self.is_set(AS::ValidArgFound))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/app/parser.rs:1020:16 [INFO] [stdout] | [INFO] [stdout] 1020 | if !(self.is_set(AS::ArgsNegateSubcommands) && self.is_set(AS::ValidArgFound)) [INFO] [stdout] | ________________^ [INFO] [stdout] 1021 | | && !self.is_set(AS::InferSubcommands) [INFO] [stdout] | |_____________________________________________________^ help: try: `!(self.is_set(AS::InferSubcommands) || self.is_set(AS::ArgsNegateSubcommands) && self.is_set(AS::ValidArgFound))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/app/parser.rs:889:15 [INFO] [stdout] | [INFO] [stdout] 889 | }) && self [INFO] [stdout] | _______________^ [INFO] [stdout] 890 | | .positionals [INFO] [stdout] 891 | | .values() [INFO] [stdout] 892 | | .last() [INFO] [stdout] 893 | | .map_or(false, |p| !p.is_set(ArgSettings::Last)) [INFO] [stdout] | |____________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] = note: `#[warn(clippy::unnecessary_map_or)]` on by default [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 893 - .map_or(false, |p| !p.is_set(ArgSettings::Last)) [INFO] [stdout] 893 + .is_some_and(|p| !p.is_set(ArgSettings::Last)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `Iterator::last` on a `DoubleEndedIterator`; this will needlessly iterate the entire iterator [INFO] [stdout] --> src/app/parser.rs:889:15 [INFO] [stdout] | [INFO] [stdout] 889 | }) && self [INFO] [stdout] | _______________^ [INFO] [stdout] 890 | | .positionals [INFO] [stdout] 891 | | .values() [INFO] [stdout] 892 | | .last() [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_ended_iterator_last [INFO] [stdout] = note: `#[warn(clippy::double_ended_iterator_last)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 892 - .last() [INFO] [stdout] 892 + .next_back() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/app/parser.rs:989:33 [INFO] [stdout] | [INFO] [stdout] 989 | / ... if !(arg_os.to_string_lossy().parse::().is_ok() [INFO] [stdout] 990 | | ... || arg_os.to_string_lossy().parse::().is_ok()) [INFO] [stdout] 991 | | ... { [INFO] [stdout] 992 | | ... return Err(Error::unknown_argument( [INFO] [stdout] ... | [INFO] [stdout] 997 | | ... )); [INFO] [stdout] 998 | | ... } [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 988 ~ ParseResult::MaybeNegNum [INFO] [stdout] 989 | if !(arg_os.to_string_lossy().parse::().is_ok() [INFO] [stdout] 990 | || arg_os.to_string_lossy().parse::().is_ok()) [INFO] [stdout] 991 ~ => { [INFO] [stdout] 992 | return Err(Error::unknown_argument( [INFO] [stdout] ... [INFO] [stdout] 997 | )); [INFO] [stdout] 998 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/parser.rs:1025:47 [INFO] [stdout] | [INFO] [stdout] 1025 | suggestions::did_you_mean(&*arg_os.to_string_lossy(), sc_names!(self)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&arg_os.to_string_lossy()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/app/parser.rs:1097:20 [INFO] [stdout] | [INFO] [stdout] 1097 | if self.cache.map_or(true, |name| name != p.b.name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use a standard comparison instead [INFO] [stdout] | [INFO] [stdout] 1097 - if self.cache.map_or(true, |name| name != p.b.name) { [INFO] [stdout] 1097 + if self.cache != Some(p.b.name) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/parser.rs:1115:59 [INFO] [stdout] | [INFO] [stdout] 1115 | .map(|vec| matcher.inc_occurrences_of(&*vec)); [INFO] [stdout] | ^^^^^ help: try: `&vec` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this loop could be written as a `for` loop [INFO] [stdout] --> src/app/parser.rs:1142:17 [INFO] [stdout] | [INFO] [stdout] 1142 | while let Some(v) = it.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `for v in it.by_ref()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stdout] = note: `#[warn(clippy::while_let_on_iterator)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/parser.rs:1171:47 [INFO] [stdout] | [INFO] [stdout] 1171 | suggestions::did_you_mean(&*arg_os.to_string_lossy(), sc_names!(self)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&arg_os.to_string_lossy()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/parser.rs:1207:39 [INFO] [stdout] | [INFO] [stdout] 1207 | self.parse_subcommand(&*sc_name, matcher, it)?; [INFO] [stdout] | ^^^^^^^^^ help: try: `&sc_name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/app/parser.rs:1212:21 [INFO] [stdout] | [INFO] [stdout] 1212 | &usage::create_error_usage(self, matcher, None), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `usage::create_error_usage(self, matcher, None)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/parser.rs:1220:54 [INFO] [stdout] | [INFO] [stdout] 1220 | message: String::from_utf8_lossy(&*out).into_owned(), [INFO] [stdout] | ^^^^^ help: try: `&out` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/app/parser.rs:1396:30 [INFO] [stdout] | [INFO] [stdout] 1396 | res.push(&*grp.name); [INFO] [stdout] | ^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `grp.name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `iter().copied().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> src/app/parser.rs:1457:13 [INFO] [stdout] | [INFO] [stdout] 1457 | args.iter().copied().collect() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] = note: `#[warn(clippy::iter_cloned_collect)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/app/parser.rs:1641:16 [INFO] [stdout] | [INFO] [stdout] 1641 | if self.cache.map_or(true, |name| name != opt.b.name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use a standard comparison instead [INFO] [stdout] | [INFO] [stdout] 1641 - if self.cache.map_or(true, |name| name != opt.b.name) { [INFO] [stdout] 1641 + if self.cache != Some(opt.b.name) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/app/parser.rs:1659:16 [INFO] [stdout] | [INFO] [stdout] 1659 | if self.cache.map_or(true, |name| name != flag.b.name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use a standard comparison instead [INFO] [stdout] | [INFO] [stdout] 1659 - if self.cache.map_or(true, |name| name != flag.b.name) { [INFO] [stdout] 1659 + if self.cache != Some(flag.b.name) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needless call to `as_bytes` [INFO] [stdout] --> src/app/parser.rs:1729:25 [INFO] [stdout] | [INFO] [stdout] 1729 | let i = p[0].as_bytes().len() + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: `len()` can be called directly on strings: `p[0].len()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_as_bytes [INFO] [stdout] = note: `#[warn(clippy::needless_as_bytes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needless call to `as_bytes` [INFO] [stdout] --> src/app/parser.rs:1730:31 [INFO] [stdout] | [INFO] [stdout] 1730 | let val = if !p[1].as_bytes().is_empty() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: `is_empty()` can be called directly on strings: `p[1].is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_as_bytes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/app/parser.rs:1745:20 [INFO] [stdout] | [INFO] [stdout] 1745 | if self.cache.map_or(true, |name| name != opt.b.name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use a standard comparison instead [INFO] [stdout] | [INFO] [stdout] 1745 - if self.cache.map_or(true, |name| name != opt.b.name) { [INFO] [stdout] 1745 + if self.cache != Some(opt.b.name) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/app/parser.rs:1759:20 [INFO] [stdout] | [INFO] [stdout] 1759 | if self.cache.map_or(true, |name| name != flag.b.name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use a standard comparison instead [INFO] [stdout] | [INFO] [stdout] 1759 - if self.cache.map_or(true, |name| name != flag.b.name) { [INFO] [stdout] 1759 + if self.cache != Some(flag.b.name) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/parser.rs:1823:40 [INFO] [stdout] | [INFO] [stdout] 1823 | matcher.inc_occurrences_of(&*vec); [INFO] [stdout] | ^^^^^ help: try: `&vec` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/app/parser.rs:1908:36 [INFO] [stdout] | [INFO] [stdout] 1908 | matcher.add_val_to(&*grp, v); [INFO] [stdout] | ^^^^^ help: if you would like to reborrow, try removing `&*`: `grp` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/parser.rs:1930:40 [INFO] [stdout] | [INFO] [stdout] 1930 | matcher.inc_occurrences_of(&*vec); [INFO] [stdout] | ^^^^^ help: try: `&vec` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/app/parser.rs:1949:57 [INFO] [stdout] | [INFO] [stdout] 1949 | if let Some(grps) = self.groups_for_arg(&*opt.b.name) { [INFO] [stdout] | ^^^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `opt.b.name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/parser.rs:1950:48 [INFO] [stdout] | [INFO] [stdout] 1950 | matcher.inc_occurrences_of(&*grps); [INFO] [stdout] | ^^^^^^ help: try: `&grps` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/app/parser.rs:1952:32 [INFO] [stdout] | [INFO] [stdout] 1952 | matcher.insert(&*opt.b.name); [INFO] [stdout] | ^^^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `opt.b.name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/app/parser.rs:1954:57 [INFO] [stdout] | [INFO] [stdout] 1954 | if let Some(grps) = self.groups_for_arg(&*flg.b.name) { [INFO] [stdout] | ^^^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `flg.b.name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/parser.rs:1955:48 [INFO] [stdout] | [INFO] [stdout] 1955 | matcher.inc_occurrences_of(&*grps); [INFO] [stdout] | ^^^^^^ help: try: `&grps` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/app/parser.rs:1957:32 [INFO] [stdout] | [INFO] [stdout] 1957 | matcher.insert(&*flg.b.name); [INFO] [stdout] | ^^^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `flg.b.name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/parser.rs:1964:13 [INFO] [stdout] | [INFO] [stdout] 1964 | &*suffix.0, [INFO] [stdout] | ^^^^^^^^^^ help: try: `&suffix.0` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual backwards iteration [INFO] [stdout] --> src/app/parser.rs:2215:37 [INFO] [stdout] | [INFO] [stdout] 2215 | let last = sc.split(' ').rev().next().expect(INTERNAL_ERROR_MSG); [INFO] [stdout] | ^^^^^^^^^^^^^ help: use: `.next_back()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_next_back [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/usage.rs:17:20 [INFO] [stdout] | [INFO] [stdout] 17 | usage.push_str(&*create_usage_no_title(p, used)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&create_usage_no_title(p, used)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/usage.rs:44:32 [INFO] [stdout] | [INFO] [stdout] 44 | create_usage_with_title(p, &*args) [INFO] [stdout] | ^^^^^^ help: try: `&args` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/app/usage.rs:51:22 [INFO] [stdout] | [INFO] [stdout] 51 | String::from(&*u) [INFO] [stdout] | ^^^ help: if you would like to reborrow, try removing `&*`: `u` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/app/usage.rs:67:20 [INFO] [stdout] | [INFO] [stdout] 67 | usage.push_str(&*name); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] help: if you would like to reborrow, try removing `&*` [INFO] [stdout] | [INFO] [stdout] 67 - usage.push_str(&*name); [INFO] [stdout] 67 + usage.push_str(name); [INFO] [stdout] | [INFO] [stdout] help: if you would like to deref, try using `&**` [INFO] [stdout] | [INFO] [stdout] 67 | usage.push_str(&**name); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/usage.rs:113:28 [INFO] [stdout] | [INFO] [stdout] 113 | usage.push_str(&*args_tag); [INFO] [stdout] | ^^^^^^^^^^ help: try: `&args_tag` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/usage.rs:136:28 [INFO] [stdout] | [INFO] [stdout] 136 | usage.push_str(&*pos.name_no_brackets()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&pos.name_no_brackets()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/usage.rs:150:32 [INFO] [stdout] | [INFO] [stdout] 150 | usage.push_str(&*create_help_usage(p, false)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&create_help_usage(p, false)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/app/usage.rs:152:32 [INFO] [stdout] | [INFO] [stdout] 152 | usage.push_str(&*name); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] help: if you would like to reborrow, try removing `&*` [INFO] [stdout] | [INFO] [stdout] 152 - usage.push_str(&*name); [INFO] [stdout] 152 + usage.push_str(name); [INFO] [stdout] | [INFO] [stdout] help: if you would like to deref, try using `&**` [INFO] [stdout] | [INFO] [stdout] 152 | usage.push_str(&**name); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/usage.rs:184:20 [INFO] [stdout] | [INFO] [stdout] 184 | usage.push_str(&*r_string); [INFO] [stdout] | ^^^^^^^^^^ help: try: `&r_string` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/usage.rs:384:33 [INFO] [stdout] | [INFO] [stdout] 384 | desc_reqs.extend_from_slice(&*new_reqs); [INFO] [stdout] | ^^^^^^^^^^ help: try: `&new_reqs` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/usage.rs:406:41 [INFO] [stdout] | [INFO] [stdout] 406 | desc_reqs.extend_from_slice(&*new_reqs); [INFO] [stdout] | ^^^^^^^^^^ help: try: `&new_reqs` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/usage.rs:408:40 [INFO] [stdout] | [INFO] [stdout] 408 | new_reqs.extend_from_slice(&*tmp); [INFO] [stdout] | ^^^^^ help: try: `&tmp` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/app/validator.rs:50:66 [INFO] [stdout] | [INFO] [stdout] 50 | let should_err = if let Some(v) = matcher.0.args.get(&*o.b.name) { [INFO] [stdout] | ^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `o.b.name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/validator.rs:71:50 [INFO] [stdout] | [INFO] [stdout] 71 | message: String::from_utf8_lossy(&*out).into_owned(), [INFO] [stdout] | ^^^^^ help: try: `&out` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/validator.rs:111:68 [INFO] [stdout] | [INFO] [stdout] 111 | p_vals.iter().any(|pv| pv.eq_ignore_ascii_case(&*val_str)) [INFO] [stdout] | ^^^^^^^^^ help: try: `&val_str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/app/validator.rs:127:37 [INFO] [stdout] | [INFO] [stdout] 127 | && matcher.contains(&*arg.name()) [INFO] [stdout] | ^^^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `arg.name()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/app/validator.rs:210:46 [INFO] [stdout] | [INFO] [stdout] 210 | ... conflicts.extend(&*gc); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] help: if you would like to reborrow, try removing `&*` [INFO] [stdout] | [INFO] [stdout] 210 - conflicts.extend(&*gc); [INFO] [stdout] 210 + conflicts.extend(gc); [INFO] [stdout] | [INFO] [stdout] help: if you would like to deref, try using `&**` [INFO] [stdout] | [INFO] [stdout] 210 | conflicts.extend(&**gc); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/validator.rs:277:39 [INFO] [stdout] | [INFO] [stdout] 277 | return self.build_err(*name, matcher); [INFO] [stdout] | ^^^^^ help: try: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/app/validator.rs:355:17 [INFO] [stdout] | [INFO] [stdout] 355 | ((ma.vals.len() as u64) % num) != 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `!(ma.vals.len() as u64).is_multiple_of(num)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] = note: `#[warn(clippy::manual_is_multiple_of)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/app/validator.rs:514:24 [INFO] [stdout] | [INFO] [stdout] 514 | || self [INFO] [stdout] | ________________________^ [INFO] [stdout] 515 | | .0 [INFO] [stdout] 516 | | .groups [INFO] [stdout] 517 | | .iter() [INFO] [stdout] 518 | | .find(|g| &g.name == conf) [INFO] [stdout] 519 | | .map_or(false, |g| g.args.iter().any(|arg| matcher.contains(arg))) [INFO] [stdout] | |__________________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 519 - .map_or(false, |g| g.args.iter().any(|arg| matcher.contains(arg))) [INFO] [stdout] 519 + .is_some_and(|g| g.args.iter().any(|arg| matcher.contains(arg))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/app/validator.rs:554:56 [INFO] [stdout] | [INFO] [stdout] 554 | let mut reqs = self.0.required.iter().map(|&r| &*r).collect::>(); [INFO] [stdout] | ^^^ help: if you would like to reborrow, try removing `&*`: `r` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/app/mod.rs:555:9 [INFO] [stdout] | [INFO] [stdout] 555 | /// and subcommands) including titles. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try using ` ` (4 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] = note: `#[warn(clippy::doc_overindented_list_items)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/app/mod.rs:557:9 [INFO] [stdout] | [INFO] [stdout] 557 | /// [`AppSettings::UnifiedHelpMessage`] to fully merge both options and [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try using ` ` (4 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/app/mod.rs:558:9 [INFO] [stdout] | [INFO] [stdout] 558 | /// flags, otherwise the ordering is "best effort" [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try using ` ` (4 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/app/mod.rs:1463:31 [INFO] [stdout] | [INFO] [stdout] 1463 | self.get_matches_from(&mut env::args_os()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: change this to: `env::args_os()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/app/mod.rs:1493:36 [INFO] [stdout] | [INFO] [stdout] 1493 | self.get_matches_from_safe(&mut env::args_os()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: change this to: `env::args_os()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this block may be rewritten with the `?` operator [INFO] [stdout] --> src/app/mod.rs:1642:9 [INFO] [stdout] | [INFO] [stdout] 1642 | / if let Err(e) = self.p.get_matches_with(&mut matcher, &mut it.peekable()) { [INFO] [stdout] 1643 | | return Err(e); [INFO] [stdout] 1644 | | } [INFO] [stdout] | |_________^ help: replace it with: `self.p.get_matches_with(&mut matcher, &mut it.peekable())?;` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] = note: `#[warn(clippy::question_mark)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/args/any_arg.rs:31:28 [INFO] [stdout] | [INFO] [stdout] 31 | fn validator(&self) -> Option<&Rc Result<(), String>>>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/args/any_arg.rs:33:31 [INFO] [stdout] | [INFO] [stdout] 33 | fn validator_os(&self) -> Option<&Rc Result<(), OsString>>>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `iter().copied().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> src/args/arg.rs:1032:41 [INFO] [stdout] | [INFO] [stdout] 1032 | self.b.r_unless = Some(names.iter().copied().collect()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `iter().copied().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> src/args/arg.rs:1108:41 [INFO] [stdout] | [INFO] [stdout] 1108 | self.b.r_unless = Some(names.iter().copied().collect()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `iter().copied().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> src/args/arg.rs:1206:42 [INFO] [stdout] | [INFO] [stdout] 1206 | self.b.blacklist = Some(names.iter().copied().collect()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `iter().copied().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> src/args/arg.rs:1351:42 [INFO] [stdout] | [INFO] [stdout] 1351 | self.b.overrides = Some(names.iter().copied().collect()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `iter().copied().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> src/args/arg.rs:2414:46 [INFO] [stdout] | [INFO] [stdout] 2414 | self.v.possible_vals = Some(names.iter().copied().collect()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `iter().copied().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> src/args/arg.rs:2610:39 [INFO] [stdout] | [INFO] [stdout] 2610 | self.b.groups = Some(names.iter().copied().collect()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the variable `l` is used as a loop counter [INFO] [stdout] --> src/args/arg.rs:3110:13 [INFO] [stdout] | [INFO] [stdout] 3110 | for s in names { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider using: `for (l, s) in (vals.len()..).zip(names.iter())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stdout] = note: `#[warn(clippy::explicit_counter_loop)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/args/arg_builder/positional.rs:69:25 [INFO] [stdout] | [INFO] [stdout] 69 | let mult_vals = self [INFO] [stdout] | _________________________^ [INFO] [stdout] 70 | | .v [INFO] [stdout] 71 | | .val_names [INFO] [stdout] 72 | | .as_ref() [INFO] [stdout] 73 | | .map_or(true, |names| names.len() < 2); [INFO] [stdout] | |__________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_none_or` instead [INFO] [stdout] | [INFO] [stdout] 73 - .map_or(true, |names| names.len() < 2); [INFO] [stdout] 73 + .is_none_or(|names| names.len() < 2); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/args/arg_builder/valued.rs:20:20 [INFO] [stdout] | [INFO] [stdout] 20 | pub validator: Option Result<(), String>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/args/arg_builder/valued.rs:22:23 [INFO] [stdout] | [INFO] [stdout] 22 | pub validator_os: Option Result<(), OsString>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/args/arg_builder/valued.rs:31:1 [INFO] [stdout] | [INFO] [stdout] 31 | / impl<'n, 'e> Default for Valued<'n, 'e> { [INFO] [stdout] 32 | | fn default() -> Self { [INFO] [stdout] 33 | | Valued { [INFO] [stdout] 34 | | possible_vals: None, [INFO] [stdout] ... | [INFO] [stdout] 48 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] = note: `#[warn(clippy::derivable_impls)]` on by default [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 10 + #[derive(Default)] [INFO] [stdout] 11 | pub struct Valued<'a, 'b> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/args/arg_matcher.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | / impl<'a> Default for ArgMatcher<'a> { [INFO] [stdout] 20 | | fn default() -> Self { [INFO] [stdout] 21 | | ArgMatcher(ArgMatches::default()) [INFO] [stdout] 22 | | } [INFO] [stdout] 23 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 17 + #[derive(Default)] [INFO] [stdout] 18 | pub struct ArgMatcher<'a>(pub ArgMatches<'a>); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/args/arg_matcher.rs:250:21 [INFO] [stdout] | [INFO] [stdout] 250 | ((ma.vals.len() as u64) % num) != 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `!(ma.vals.len() as u64).is_multiple_of(num)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true [INFO] [stdout] --> src/args/arg_matcher.rs:270:1 [INFO] [stdout] | [INFO] [stdout] 270 | impl<'a> Into> for ArgMatcher<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into [INFO] [stdout] = note: `#[warn(clippy::from_over_into)]` on by default [INFO] [stdout] help: replace the `Into` implementation with `From>` [INFO] [stdout] | [INFO] [stdout] 270 ~ impl<'a> From> for ArgMatches<'a> { [INFO] [stdout] 271 ~ fn from(val: ArgMatcher<'a>) -> Self { [INFO] [stdout] 272 ~ val.0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/args/arg_matches.rs:73:1 [INFO] [stdout] | [INFO] [stdout] 73 | / impl<'a> Default for ArgMatches<'a> { [INFO] [stdout] 74 | | fn default() -> Self { [INFO] [stdout] 75 | | ArgMatches { [INFO] [stdout] 76 | | args: HashMap::new(), [INFO] [stdout] ... | [INFO] [stdout] 81 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 64 + #[derive(Default)] [INFO] [stdout] 65 | pub struct ArgMatches<'a> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `arg.vals.get(0)` [INFO] [stdout] --> src/args/arg_matches.rs:120:30 [INFO] [stdout] | [INFO] [stdout] 120 | if let Some(v) = arg.vals.get(0) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `arg.vals.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `arg.vals.get(0)` [INFO] [stdout] --> src/args/arg_matches.rs:152:30 [INFO] [stdout] | [INFO] [stdout] 152 | if let Some(v) = arg.vals.get(0) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `arg.vals.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `arg.vals.get(0)` [INFO] [stdout] --> src/args/arg_matches.rs:189:29 [INFO] [stdout] | [INFO] [stdout] 189 | .and_then(|arg| arg.vals.get(0).map(|v| v.as_os_str())) [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `arg.vals.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/args/arg_matches.rs:299:13 [INFO] [stdout] | [INFO] [stdout] 299 | &*o [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] help: if you would like to reborrow, try removing `&*` [INFO] [stdout] | [INFO] [stdout] 299 - &*o [INFO] [stdout] 299 + o [INFO] [stdout] | [INFO] [stdout] help: if you would like to deref, try using `&**` [INFO] [stdout] | [INFO] [stdout] 299 | &**o [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `arg.indices.get(0)` [INFO] [stdout] --> src/args/arg_matches.rs:509:30 [INFO] [stdout] | [INFO] [stdout] 509 | if let Some(i) = arg.indices.get(0) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `arg.indices.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/args/group.rs:161:13 [INFO] [stdout] | [INFO] [stdout] 161 | &*self.name [INFO] [stdout] | ^^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `self.name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/completions/bash.rs:127:53 [INFO] [stdout] | [INFO] [stdout] 127 | sc_opts = self.all_options_for_path(&*sc), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] help: if you would like to reborrow, try removing `&*` [INFO] [stdout] | [INFO] [stdout] 127 - sc_opts = self.all_options_for_path(&*sc), [INFO] [stdout] 127 + sc_opts = self.all_options_for_path(sc), [INFO] [stdout] | [INFO] [stdout] help: if you would like to deref, try using `&**` [INFO] [stdout] | [INFO] [stdout] 127 | sc_opts = self.all_options_for_path(&**sc), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/completions/bash.rs:129:61 [INFO] [stdout] | [INFO] [stdout] 129 | opts_details = self.option_details_for_path(&*sc) [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] help: if you would like to reborrow, try removing `&*` [INFO] [stdout] | [INFO] [stdout] 129 - opts_details = self.option_details_for_path(&*sc) [INFO] [stdout] 129 + opts_details = self.option_details_for_path(sc) [INFO] [stdout] | [INFO] [stdout] help: if you would like to deref, try using `&**` [INFO] [stdout] | [INFO] [stdout] 129 | opts_details = self.option_details_for_path(&**sc) [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: parameter is only used in recursion [INFO] [stdout] --> src/completions/elvish.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | names: &mut Vec<&'p str>, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_names` [INFO] [stdout] | [INFO] [stdout] note: parameter used here [INFO] [stdout] --> src/completions/elvish.rs:122:89 [INFO] [stdout] | [INFO] [stdout] 122 | let subcommand_subcommands_cases = generate_inner(&subcommand.p, &command_name, names); [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#only_used_in_recursion [INFO] [stdout] = note: `#[warn(clippy::only_used_in_recursion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: parameter is only used in recursion [INFO] [stdout] --> src/completions/powershell.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | names: &mut Vec<&'p str>, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_names` [INFO] [stdout] | [INFO] [stdout] note: parameter used here [INFO] [stdout] --> src/completions/powershell.rs:160:89 [INFO] [stdout] | [INFO] [stdout] 160 | let subcommand_subcommands_cases = generate_inner(&subcommand.p, &command_name, names); [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#only_used_in_recursion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: wildcard pattern covers any other pattern as it will match anyway [INFO] [stdout] --> src/completions/shell.rs:34:13 [INFO] [stdout] | [INFO] [stdout] 34 | "ZSH" | _ if s.eq_ignore_ascii_case("zsh") => Ok(Shell::Zsh), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider handling `_` separately [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wildcard_in_or_patterns [INFO] [stdout] = note: `#[warn(clippy::wildcard_in_or_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: wildcard pattern covers any other pattern as it will match anyway [INFO] [stdout] --> src/completions/shell.rs:35:13 [INFO] [stdout] | [INFO] [stdout] 35 | "FISH" | _ if s.eq_ignore_ascii_case("fish") => Ok(Shell::Fish), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider handling `_` separately [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wildcard_in_or_patterns [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: wildcard pattern covers any other pattern as it will match anyway [INFO] [stdout] --> src/completions/shell.rs:36:13 [INFO] [stdout] | [INFO] [stdout] 36 | "BASH" | _ if s.eq_ignore_ascii_case("bash") => Ok(Shell::Bash), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider handling `_` separately [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wildcard_in_or_patterns [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: wildcard pattern covers any other pattern as it will match anyway [INFO] [stdout] --> src/completions/shell.rs:37:13 [INFO] [stdout] | [INFO] [stdout] 37 | "POWERSHELL" | _ if s.eq_ignore_ascii_case("powershell") => Ok(Shell::PowerShell), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider handling `_` separately [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wildcard_in_or_patterns [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: wildcard pattern covers any other pattern as it will match anyway [INFO] [stdout] --> src/completions/shell.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | "ELVISH" | _ if s.eq_ignore_ascii_case("elvish") => Ok(Shell::Elvish), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider handling `_` separately [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wildcard_in_or_patterns [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/completions/zsh.rs:112:9 [INFO] [stdout] | [INFO] [stdout] 112 | for &(_, ref bin_name) in &all_subcommands { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 112 - for &(_, ref bin_name) in &all_subcommands { [INFO] [stdout] 112 + for (_, bin_name) in &all_subcommands { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/completions/zsh.rs:220:9 [INFO] [stdout] | [INFO] [stdout] 220 | for &(ref name, ref bin_name) in &sc_names { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 220 - for &(ref name, ref bin_name) in &sc_names { [INFO] [stdout] 220 + for (name, bin_name) in &sc_names { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/completions/zsh.rs:222:56 [INFO] [stdout] | [INFO] [stdout] 222 | let subcommand_args = get_args_of(parser_of(p, &*bin_name)); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] help: if you would like to reborrow, try removing `&*` [INFO] [stdout] | [INFO] [stdout] 222 - let subcommand_args = get_args_of(parser_of(p, &*bin_name)); [INFO] [stdout] 222 + let subcommand_args = get_args_of(parser_of(p, bin_name)); [INFO] [stdout] | [INFO] [stdout] help: if you would like to deref, try using `&**` [INFO] [stdout] | [INFO] [stdout] 222 | let subcommand_args = get_args_of(parser_of(p, &**bin_name)); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/completions/zsh.rs:226:59 [INFO] [stdout] | [INFO] [stdout] 226 | let subcommands = get_subcommands_of(parser_of(p, &*bin_name)); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] help: if you would like to reborrow, try removing `&*` [INFO] [stdout] | [INFO] [stdout] 226 - let subcommands = get_subcommands_of(parser_of(p, &*bin_name)); [INFO] [stdout] 226 + let subcommands = get_subcommands_of(parser_of(p, bin_name)); [INFO] [stdout] | [INFO] [stdout] help: if you would like to deref, try using `&**` [INFO] [stdout] | [INFO] [stdout] 226 | let subcommands = get_subcommands_of(parser_of(p, &**bin_name)); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/completions/zsh.rs:362:43 [INFO] [stdout] | [INFO] [stdout] 362 | .map(|v| escape_value(*v)) [INFO] [stdout] | ^^ help: try: `v` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/completions/zsh.rs:472:47 [INFO] [stdout] | [INFO] [stdout] 472 | .map(|v| escape_value(*v)) [INFO] [stdout] | ^^ help: try: `v` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/completions/mod.rs:55:15 [INFO] [stdout] | [INFO] [stdout] 55 | .map(|&(ref n, _)| n.clone()) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 55 - .map(|&(ref n, _)| n.clone()) [INFO] [stdout] 55 + .map(|(n, _)| n.clone()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/errors.rs:913:9 [INFO] [stdout] | [INFO] [stdout] 913 | &*self.message [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `&self.message` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/osstringext.rs:142:13 [INFO] [stdout] | [INFO] [stdout] 142 | &*self, [INFO] [stdout] | ^^^^^^ help: if you would like to reborrow, try removing `&*`: `self` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/osstringext.rs:159:9 [INFO] [stdout] | [INFO] [stdout] 159 | &*self [INFO] [stdout] | ^^^^^^ help: if you would like to reborrow, try removing `&*`: `self` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/app/mod.rs:1879:25 [INFO] [stdout] | [INFO] [stdout] 1879 | fn default_vals_ifs(&self) -> Option, &'e OsStr)>> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 1879 | fn default_vals_ifs(&self) -> Option, &'e OsStr)>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/app/parser.rs:458:21 [INFO] [stdout] | [INFO] [stdout] 458 | pub fn required(&self) -> Iter<&str> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^ [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is elided here [INFO] [stdout] | | the same lifetime is hidden here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 458 | pub fn required(&self) -> Iter<'_, &str> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/app/parser.rs:2130:18 [INFO] [stdout] | [INFO] [stdout] 2130 | pub fn flags(&self) -> Iter> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 2130 | pub fn flags(&self) -> Iter<'_, FlagBuilder<'a, 'b>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/app/parser.rs:2134:17 [INFO] [stdout] | [INFO] [stdout] 2134 | pub fn opts(&self) -> Iter> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 2134 | pub fn opts(&self) -> Iter<'_, OptBuilder<'a, 'b>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/app/parser.rs:2138:24 [INFO] [stdout] | [INFO] [stdout] 2138 | pub fn positionals(&self) -> map::Values> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 2138 | pub fn positionals(&self) -> map::Values<'_, PosBuilder<'a, 'b>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/app/parser.rs:2142:24 [INFO] [stdout] | [INFO] [stdout] 2142 | pub fn subcommands(&self) -> Iter { [INFO] [stdout] | ^^^^^ ^^^^^^^^^ [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is hidden here [INFO] [stdout] | | | the same lifetime is hidden here [INFO] [stdout] | | the same lifetime is hidden here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 2142 | pub fn subcommands(&self) -> Iter<'_, App<'_>> { [INFO] [stdout] | +++ ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/args/any_arg.rs:42:25 [INFO] [stdout] | [INFO] [stdout] 42 | fn default_vals_ifs(&self) -> Option, &'e OsStr)>>; [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 42 | fn default_vals_ifs(&self) -> Option, &'e OsStr)>>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/args/any_arg.rs:127:25 [INFO] [stdout] | [INFO] [stdout] 127 | fn default_vals_ifs(&self) -> Option, &'e OsStr)>> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 127 | fn default_vals_ifs(&self) -> Option, &'e OsStr)>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/args/arg_builder/flag.rs:138:25 [INFO] [stdout] | [INFO] [stdout] 138 | fn default_vals_ifs(&self) -> Option, &'e OsStr)>> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 138 | fn default_vals_ifs(&self) -> Option, &'e OsStr)>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/args/arg_builder/option.rs:192:25 [INFO] [stdout] | [INFO] [stdout] 192 | fn default_vals_ifs(&self) -> Option, &'e OsStr)>> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 192 | fn default_vals_ifs(&self) -> Option, &'e OsStr)>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/args/arg_builder/positional.rs:81:29 [INFO] [stdout] | [INFO] [stdout] 81 | pub fn name_no_brackets(&self) -> Cow { [INFO] [stdout] | ^^^^^ ^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 81 | pub fn name_no_brackets(&self) -> Cow<'_, str> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/args/arg_builder/positional.rs:209:25 [INFO] [stdout] | [INFO] [stdout] 209 | fn default_vals_ifs(&self) -> Option, &'e OsStr)>> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 209 | fn default_vals_ifs(&self) -> Option, &'e OsStr)>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/args/arg_matcher.rs:190:18 [INFO] [stdout] | [INFO] [stdout] 190 | pub fn entry(&mut self, arg: &'a str) -> Entry<&'a str, MatchedArg> { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 190 | pub fn entry(&mut self, arg: &'a str) -> Entry<'_, &'a str, MatchedArg> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/args/arg_matcher.rs:202:17 [INFO] [stdout] | [INFO] [stdout] 202 | pub fn iter(&self) -> Iter<&str, MatchedArg> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is elided here [INFO] [stdout] | | the same lifetime is hidden here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 202 | pub fn iter(&self) -> Iter<'_, &str, MatchedArg> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/fmt.rs:132:15 [INFO] [stdout] | [INFO] [stdout] 132 | fn format(&self) -> ANSIString { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 132 | fn format(&self) -> ANSIString<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/osstringext.rs:20:14 [INFO] [stdout] | [INFO] [stdout] 20 | fn split(&self, b: u8) -> OsSplit; [INFO] [stdout] | ^^^^^ ^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 20 | fn split(&self, b: u8) -> OsSplit<'_>; [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/osstringext.rs:169:14 [INFO] [stdout] | [INFO] [stdout] 169 | fn split(&self, b: u8) -> OsSplit { [INFO] [stdout] | ^^^^^ ^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 169 | fn split(&self, b: u8) -> OsSplit<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/lib.rs:333:5 [INFO] [stdout] | [INFO] [stdout] 333 | //! available, instead of 120 characters. (builds dependency `textwrap` [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] = note: `#[warn(clippy::doc_lazy_continuation)]` on by default [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 333 | //! available, instead of 120 characters. (builds dependency `textwrap` [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/lib.rs:334:5 [INFO] [stdout] | [INFO] [stdout] 334 | //! with feature `term_size`) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 334 | //! with feature `term_size`) [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/lib.rs:471:5 [INFO] [stdout] | [INFO] [stdout] 471 | //! removing legacy code - This does not apply for security concerns [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 471 | //! removing legacy code - This does not apply for security concerns [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/lib.rs:474:5 [INFO] [stdout] | [INFO] [stdout] 474 | //! generating help and usage information (although *slightly* less stringent, as the program is about [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 474 | //! generating help and usage information (although *slightly* less stringent, as the program is about [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/lib.rs:475:5 [INFO] [stdout] | [INFO] [stdout] 475 | //! to exit) [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 475 | //! to exit) [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/lib.rs:478:5 [INFO] [stdout] | [INFO] [stdout] 478 | //! is the star of the show [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 478 | //! is the star of the show [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/macros.rs:631:5 [INFO] [stdout] | [INFO] [stdout] 631 | /// `Arg::required(true)` such as `--config ` = `Arg::value_name("FILE")` and [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 631 | /// `Arg::required(true)` such as `--config ` = `Arg::value_name("FILE")` and [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/macros.rs:632:5 [INFO] [stdout] | [INFO] [stdout] 632 | /// `Arg::required(true)` [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 632 | /// `Arg::required(true)` [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/macros.rs:634:5 [INFO] [stdout] | [INFO] [stdout] 634 | /// `Arg::required(false)` such as `--config [FILE]` = `Arg::value_name("FILE")` and [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 634 | /// `Arg::required(false)` such as `--config [FILE]` = `Arg::value_name("FILE")` and [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/macros.rs:635:5 [INFO] [stdout] | [INFO] [stdout] 635 | /// `Arg::required(false)` [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 635 | /// `Arg::required(false)` [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/macros.rs:643:5 [INFO] [stdout] | [INFO] [stdout] 643 | /// `conflicts_with[FOO]` will set `Arg::conflicts_with("FOO")` (note the lack of quotes around [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 643 | /// `conflicts_with[FOO]` will set `Arg::conflicts_with("FOO")` (note the lack of quotes around [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/macros.rs:644:5 [INFO] [stdout] | [INFO] [stdout] 644 | /// `FOO` in the macro) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 644 | /// `FOO` in the macro) [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/macros.rs:646:5 [INFO] [stdout] | [INFO] [stdout] 646 | /// [`Arg::conflicts_with`]) followed by square brackets and a list of values separated by spaces [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 646 | /// [`Arg::conflicts_with`]) followed by square brackets and a list of values separated by spaces [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/macros.rs:647:5 [INFO] [stdout] | [INFO] [stdout] 647 | /// will set that method such as `conflicts_with[FOO BAR BAZ]` will set [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 647 | /// will set that method such as `conflicts_with[FOO BAR BAZ]` will set [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/macros.rs:648:5 [INFO] [stdout] | [INFO] [stdout] 648 | /// `Arg::conflicts_with("FOO")`, `Arg::conflicts_with("BAR")`, and `Arg::conflicts_with("BAZ")` [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 648 | /// `Arg::conflicts_with("FOO")`, `Arg::conflicts_with("BAR")`, and `Arg::conflicts_with("BAZ")` [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item without indentation [INFO] [stdout] --> src/macros.rs:649:5 [INFO] [stdout] | [INFO] [stdout] 649 | /// (note the lack of quotes around the values in the macro) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: if this is supposed to be its own paragraph, add a blank line [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_lazy_continuation [INFO] [stdout] help: indent this line [INFO] [stdout] | [INFO] [stdout] 649 | /// (note the lack of quotes around the values in the macro) [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: importing legacy numeric constants [INFO] [stdout] --> src/app/help.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove this import [INFO] [stdout] = note: then `usize::` will resolve to the respective associated constant [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] = note: `#[warn(clippy::legacy_numeric_constants)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/app/help.rs:103:5 [INFO] [stdout] | [INFO] [stdout] 103 | / pub fn new( [INFO] [stdout] 104 | | w: &'a mut Write, [INFO] [stdout] 105 | | next_line_help: bool, [INFO] [stdout] 106 | | hide_pv: bool, [INFO] [stdout] ... | [INFO] [stdout] 111 | | use_long: bool, [INFO] [stdout] 112 | | ) -> Self { [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/help.rs:281:24 [INFO] [stdout] | [INFO] [stdout] 281 | self.help(arg, &*spec_vals)?; [INFO] [stdout] | ^^^^^^^^^^^ help: try: `&spec_vals` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] = note: `#[warn(clippy::explicit_auto_deref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/help.rs:371:44 [INFO] [stdout] | [INFO] [stdout] 371 | let h_w = str_width(h) + str_width(&*spec_vals); [INFO] [stdout] | ^^^^^^^^^^^ help: try: `&spec_vals` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/app/help.rs:475:56 [INFO] [stdout] | [INFO] [stdout] 475 | let too_long = spcs + str_width(h) + str_width(&*spec_vals) >= self.term_w; [INFO] [stdout] | ^^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `spec_vals` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] = note: `#[warn(clippy::borrow_deref_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calling .bytes() is very inefficient when data is not in memory [INFO] [stdout] --> src/app/help.rs:801:15 [INFO] [stdout] | [INFO] [stdout] 801 | for wb in r.bytes() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider using `BufReader` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unbuffered_bytes [INFO] [stdout] = note: `#[warn(clippy::unbuffered_bytes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `a.index` after checking its variant with `is_none` [INFO] [stdout] --> src/app/parser.rs:199:13 [INFO] [stdout] | [INFO] [stdout] 196 | let i = if a.index.is_none() { [INFO] [stdout] | -------------------- help: try: `if let Some() = a.index` [INFO] [stdout] ... [INFO] [stdout] 199 | a.index.unwrap() as usize [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `a.index` after checking its variant with `is_none` [INFO] [stdout] --> src/app/parser.rs:308:17 [INFO] [stdout] | [INFO] [stdout] 305 | let i = if a.index.is_none() { [INFO] [stdout] | -------------------- help: try: `if let Some() = a.index` [INFO] [stdout] ... [INFO] [stdout] 308 | a.index.unwrap() as usize [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `a.index` after checking its variant with `is_none` [INFO] [stdout] --> src/app/parser.rs:333:17 [INFO] [stdout] | [INFO] [stdout] 330 | let i = if a.index.is_none() { [INFO] [stdout] | -------------------- help: try: `if let Some() = a.index` [INFO] [stdout] ... [INFO] [stdout] 333 | a.index.unwrap() as usize [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `self.meta.version` after checking its variant with `is_some` [INFO] [stdout] --> src/app/parser.rs:414:46 [INFO] [stdout] | [INFO] [stdout] 412 | if gv && sc.p.meta.version.is_none() && self.meta.version.is_some() { [INFO] [stdout] | --------------------------- the check is happening here [INFO] [stdout] 413 | sc.p.set(AS::GlobalVersion); [INFO] [stdout] 414 | sc.p.meta.version = Some(self.meta.version.unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/app/parser.rs:432:26 [INFO] [stdout] | [INFO] [stdout] 432 | .filter(|&(_, ref o)| o.s.disp_ord == 999) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] = note: `#[warn(clippy::needless_borrowed_reference)]` on by default [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 432 - .filter(|&(_, ref o)| o.s.disp_ord == 999) [INFO] [stdout] 432 + .filter(|(_, o)| o.s.disp_ord == 999) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/app/parser.rs:440:26 [INFO] [stdout] | [INFO] [stdout] 440 | .filter(|&(_, ref f)| f.s.disp_ord == 999) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 440 - .filter(|&(_, ref f)| f.s.disp_ord == 999) [INFO] [stdout] 440 + .filter(|(_, f)| f.s.disp_ord == 999) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/app/parser.rs:448:26 [INFO] [stdout] | [INFO] [stdout] 448 | .filter(|&(_, ref sc)| sc.p.meta.disp_ord == 999) [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 448 - .filter(|&(_, ref sc)| sc.p.meta.disp_ord == 999) [INFO] [stdout] 448 + .filter(|(_, sc)| sc.p.meta.disp_ord == 999) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/app/parser.rs:547:17 [INFO] [stdout] | [INFO] [stdout] 547 | !(idx != self.positionals.len()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(idx == self.positionals.len())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual backwards iteration [INFO] [stdout] --> src/app/parser.rs:545:56 [INFO] [stdout] | [INFO] [stdout] 545 | if let Some((idx, p)) = self.positionals.iter().rev().next() { [INFO] [stdout] | ^^^^^^^^^^^^^ help: use: `.next_back()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_next_back [INFO] [stdout] = note: `#[warn(clippy::manual_next_back)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/app/parser.rs:1020:16 [INFO] [stdout] | [INFO] [stdout] 1020 | if !(self.is_set(AS::ArgsNegateSubcommands) && self.is_set(AS::ValidArgFound)) [INFO] [stdout] | ________________^ [INFO] [stdout] 1021 | | && !self.is_set(AS::InferSubcommands) [INFO] [stdout] 1022 | | && !self.is_set(AS::AllowExternalSubcommands) [INFO] [stdout] | |_____________________________________________________________^ help: try: `!(self.is_set(AS::InferSubcommands) || self.is_set(AS::AllowExternalSubcommands) || self.is_set(AS::ArgsNegateSubcommands) && self.is_set(AS::ValidArgFound))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/app/parser.rs:1020:16 [INFO] [stdout] | [INFO] [stdout] 1020 | if !(self.is_set(AS::ArgsNegateSubcommands) && self.is_set(AS::ValidArgFound)) [INFO] [stdout] | ________________^ [INFO] [stdout] 1021 | | && !self.is_set(AS::InferSubcommands) [INFO] [stdout] | |_____________________________________________________^ help: try: `!(self.is_set(AS::InferSubcommands) || self.is_set(AS::ArgsNegateSubcommands) && self.is_set(AS::ValidArgFound))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/app/parser.rs:889:15 [INFO] [stdout] | [INFO] [stdout] 889 | }) && self [INFO] [stdout] | _______________^ [INFO] [stdout] 890 | | .positionals [INFO] [stdout] 891 | | .values() [INFO] [stdout] 892 | | .last() [INFO] [stdout] 893 | | .map_or(false, |p| !p.is_set(ArgSettings::Last)) [INFO] [stdout] | |____________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] = note: `#[warn(clippy::unnecessary_map_or)]` on by default [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 893 - .map_or(false, |p| !p.is_set(ArgSettings::Last)) [INFO] [stdout] 893 + .is_some_and(|p| !p.is_set(ArgSettings::Last)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `Iterator::last` on a `DoubleEndedIterator`; this will needlessly iterate the entire iterator [INFO] [stdout] --> src/app/parser.rs:889:15 [INFO] [stdout] | [INFO] [stdout] 889 | }) && self [INFO] [stdout] | _______________^ [INFO] [stdout] 890 | | .positionals [INFO] [stdout] 891 | | .values() [INFO] [stdout] 892 | | .last() [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_ended_iterator_last [INFO] [stdout] = note: `#[warn(clippy::double_ended_iterator_last)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 892 - .last() [INFO] [stdout] 892 + .next_back() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> src/app/parser.rs:989:33 [INFO] [stdout] | [INFO] [stdout] 989 | / ... if !(arg_os.to_string_lossy().parse::().is_ok() [INFO] [stdout] 990 | | ... || arg_os.to_string_lossy().parse::().is_ok()) [INFO] [stdout] 991 | | ... { [INFO] [stdout] 992 | | ... return Err(Error::unknown_argument( [INFO] [stdout] ... | [INFO] [stdout] 997 | | ... )); [INFO] [stdout] 998 | | ... } [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 988 ~ ParseResult::MaybeNegNum [INFO] [stdout] 989 | if !(arg_os.to_string_lossy().parse::().is_ok() [INFO] [stdout] 990 | || arg_os.to_string_lossy().parse::().is_ok()) [INFO] [stdout] 991 ~ => { [INFO] [stdout] 992 | return Err(Error::unknown_argument( [INFO] [stdout] ... [INFO] [stdout] 997 | )); [INFO] [stdout] 998 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/parser.rs:1025:47 [INFO] [stdout] | [INFO] [stdout] 1025 | suggestions::did_you_mean(&*arg_os.to_string_lossy(), sc_names!(self)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&arg_os.to_string_lossy()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/app/parser.rs:1097:20 [INFO] [stdout] | [INFO] [stdout] 1097 | if self.cache.map_or(true, |name| name != p.b.name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use a standard comparison instead [INFO] [stdout] | [INFO] [stdout] 1097 - if self.cache.map_or(true, |name| name != p.b.name) { [INFO] [stdout] 1097 + if self.cache != Some(p.b.name) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/parser.rs:1115:59 [INFO] [stdout] | [INFO] [stdout] 1115 | .map(|vec| matcher.inc_occurrences_of(&*vec)); [INFO] [stdout] | ^^^^^ help: try: `&vec` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this loop could be written as a `for` loop [INFO] [stdout] --> src/app/parser.rs:1142:17 [INFO] [stdout] | [INFO] [stdout] 1142 | while let Some(v) = it.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `for v in it.by_ref()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_on_iterator [INFO] [stdout] = note: `#[warn(clippy::while_let_on_iterator)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/parser.rs:1171:47 [INFO] [stdout] | [INFO] [stdout] 1171 | suggestions::did_you_mean(&*arg_os.to_string_lossy(), sc_names!(self)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&arg_os.to_string_lossy()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/parser.rs:1207:39 [INFO] [stdout] | [INFO] [stdout] 1207 | self.parse_subcommand(&*sc_name, matcher, it)?; [INFO] [stdout] | ^^^^^^^^^ help: try: `&sc_name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/app/parser.rs:1212:21 [INFO] [stdout] | [INFO] [stdout] 1212 | &usage::create_error_usage(self, matcher, None), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `usage::create_error_usage(self, matcher, None)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/parser.rs:1220:54 [INFO] [stdout] | [INFO] [stdout] 1220 | message: String::from_utf8_lossy(&*out).into_owned(), [INFO] [stdout] | ^^^^^ help: try: `&out` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/app/parser.rs:1396:30 [INFO] [stdout] | [INFO] [stdout] 1396 | res.push(&*grp.name); [INFO] [stdout] | ^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `grp.name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `iter().copied().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> src/app/parser.rs:1457:13 [INFO] [stdout] | [INFO] [stdout] 1457 | args.iter().copied().collect() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] = note: `#[warn(clippy::iter_cloned_collect)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/app/parser.rs:1641:16 [INFO] [stdout] | [INFO] [stdout] 1641 | if self.cache.map_or(true, |name| name != opt.b.name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use a standard comparison instead [INFO] [stdout] | [INFO] [stdout] 1641 - if self.cache.map_or(true, |name| name != opt.b.name) { [INFO] [stdout] 1641 + if self.cache != Some(opt.b.name) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/app/parser.rs:1659:16 [INFO] [stdout] | [INFO] [stdout] 1659 | if self.cache.map_or(true, |name| name != flag.b.name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use a standard comparison instead [INFO] [stdout] | [INFO] [stdout] 1659 - if self.cache.map_or(true, |name| name != flag.b.name) { [INFO] [stdout] 1659 + if self.cache != Some(flag.b.name) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needless call to `as_bytes` [INFO] [stdout] --> src/app/parser.rs:1729:25 [INFO] [stdout] | [INFO] [stdout] 1729 | let i = p[0].as_bytes().len() + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: `len()` can be called directly on strings: `p[0].len()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_as_bytes [INFO] [stdout] = note: `#[warn(clippy::needless_as_bytes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: needless call to `as_bytes` [INFO] [stdout] --> src/app/parser.rs:1730:31 [INFO] [stdout] | [INFO] [stdout] 1730 | let val = if !p[1].as_bytes().is_empty() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: `is_empty()` can be called directly on strings: `p[1].is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_as_bytes [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/app/parser.rs:1745:20 [INFO] [stdout] | [INFO] [stdout] 1745 | if self.cache.map_or(true, |name| name != opt.b.name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use a standard comparison instead [INFO] [stdout] | [INFO] [stdout] 1745 - if self.cache.map_or(true, |name| name != opt.b.name) { [INFO] [stdout] 1745 + if self.cache != Some(opt.b.name) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/app/parser.rs:1759:20 [INFO] [stdout] | [INFO] [stdout] 1759 | if self.cache.map_or(true, |name| name != flag.b.name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use a standard comparison instead [INFO] [stdout] | [INFO] [stdout] 1759 - if self.cache.map_or(true, |name| name != flag.b.name) { [INFO] [stdout] 1759 + if self.cache != Some(flag.b.name) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/parser.rs:1823:40 [INFO] [stdout] | [INFO] [stdout] 1823 | matcher.inc_occurrences_of(&*vec); [INFO] [stdout] | ^^^^^ help: try: `&vec` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/app/parser.rs:1908:36 [INFO] [stdout] | [INFO] [stdout] 1908 | matcher.add_val_to(&*grp, v); [INFO] [stdout] | ^^^^^ help: if you would like to reborrow, try removing `&*`: `grp` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/parser.rs:1930:40 [INFO] [stdout] | [INFO] [stdout] 1930 | matcher.inc_occurrences_of(&*vec); [INFO] [stdout] | ^^^^^ help: try: `&vec` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/app/parser.rs:1949:57 [INFO] [stdout] | [INFO] [stdout] 1949 | if let Some(grps) = self.groups_for_arg(&*opt.b.name) { [INFO] [stdout] | ^^^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `opt.b.name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/parser.rs:1950:48 [INFO] [stdout] | [INFO] [stdout] 1950 | matcher.inc_occurrences_of(&*grps); [INFO] [stdout] | ^^^^^^ help: try: `&grps` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/app/parser.rs:1952:32 [INFO] [stdout] | [INFO] [stdout] 1952 | matcher.insert(&*opt.b.name); [INFO] [stdout] | ^^^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `opt.b.name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/app/parser.rs:1954:57 [INFO] [stdout] | [INFO] [stdout] 1954 | if let Some(grps) = self.groups_for_arg(&*flg.b.name) { [INFO] [stdout] | ^^^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `flg.b.name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/parser.rs:1955:48 [INFO] [stdout] | [INFO] [stdout] 1955 | matcher.inc_occurrences_of(&*grps); [INFO] [stdout] | ^^^^^^ help: try: `&grps` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/app/parser.rs:1957:32 [INFO] [stdout] | [INFO] [stdout] 1957 | matcher.insert(&*flg.b.name); [INFO] [stdout] | ^^^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `flg.b.name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/parser.rs:1964:13 [INFO] [stdout] | [INFO] [stdout] 1964 | &*suffix.0, [INFO] [stdout] | ^^^^^^^^^^ help: try: `&suffix.0` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual backwards iteration [INFO] [stdout] --> src/app/parser.rs:2215:37 [INFO] [stdout] | [INFO] [stdout] 2215 | let last = sc.split(' ').rev().next().expect(INTERNAL_ERROR_MSG); [INFO] [stdout] | ^^^^^^^^^^^^^ help: use: `.next_back()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_next_back [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/usage.rs:17:20 [INFO] [stdout] | [INFO] [stdout] 17 | usage.push_str(&*create_usage_no_title(p, used)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&create_usage_no_title(p, used)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/usage.rs:44:32 [INFO] [stdout] | [INFO] [stdout] 44 | create_usage_with_title(p, &*args) [INFO] [stdout] | ^^^^^^ help: try: `&args` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/app/usage.rs:51:22 [INFO] [stdout] | [INFO] [stdout] 51 | String::from(&*u) [INFO] [stdout] | ^^^ help: if you would like to reborrow, try removing `&*`: `u` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/app/usage.rs:67:20 [INFO] [stdout] | [INFO] [stdout] 67 | usage.push_str(&*name); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] help: if you would like to reborrow, try removing `&*` [INFO] [stdout] | [INFO] [stdout] 67 - usage.push_str(&*name); [INFO] [stdout] 67 + usage.push_str(name); [INFO] [stdout] | [INFO] [stdout] help: if you would like to deref, try using `&**` [INFO] [stdout] | [INFO] [stdout] 67 | usage.push_str(&**name); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/usage.rs:113:28 [INFO] [stdout] | [INFO] [stdout] 113 | usage.push_str(&*args_tag); [INFO] [stdout] | ^^^^^^^^^^ help: try: `&args_tag` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/usage.rs:136:28 [INFO] [stdout] | [INFO] [stdout] 136 | usage.push_str(&*pos.name_no_brackets()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&pos.name_no_brackets()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/usage.rs:150:32 [INFO] [stdout] | [INFO] [stdout] 150 | usage.push_str(&*create_help_usage(p, false)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `&create_help_usage(p, false)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/app/usage.rs:152:32 [INFO] [stdout] | [INFO] [stdout] 152 | usage.push_str(&*name); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] help: if you would like to reborrow, try removing `&*` [INFO] [stdout] | [INFO] [stdout] 152 - usage.push_str(&*name); [INFO] [stdout] 152 + usage.push_str(name); [INFO] [stdout] | [INFO] [stdout] help: if you would like to deref, try using `&**` [INFO] [stdout] | [INFO] [stdout] 152 | usage.push_str(&**name); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/usage.rs:184:20 [INFO] [stdout] | [INFO] [stdout] 184 | usage.push_str(&*r_string); [INFO] [stdout] | ^^^^^^^^^^ help: try: `&r_string` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/usage.rs:384:33 [INFO] [stdout] | [INFO] [stdout] 384 | desc_reqs.extend_from_slice(&*new_reqs); [INFO] [stdout] | ^^^^^^^^^^ help: try: `&new_reqs` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/usage.rs:406:41 [INFO] [stdout] | [INFO] [stdout] 406 | desc_reqs.extend_from_slice(&*new_reqs); [INFO] [stdout] | ^^^^^^^^^^ help: try: `&new_reqs` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/usage.rs:408:40 [INFO] [stdout] | [INFO] [stdout] 408 | new_reqs.extend_from_slice(&*tmp); [INFO] [stdout] | ^^^^^ help: try: `&tmp` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/app/validator.rs:50:66 [INFO] [stdout] | [INFO] [stdout] 50 | let should_err = if let Some(v) = matcher.0.args.get(&*o.b.name) { [INFO] [stdout] | ^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `o.b.name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/validator.rs:71:50 [INFO] [stdout] | [INFO] [stdout] 71 | message: String::from_utf8_lossy(&*out).into_owned(), [INFO] [stdout] | ^^^^^ help: try: `&out` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/validator.rs:111:68 [INFO] [stdout] | [INFO] [stdout] 111 | p_vals.iter().any(|pv| pv.eq_ignore_ascii_case(&*val_str)) [INFO] [stdout] | ^^^^^^^^^ help: try: `&val_str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/app/validator.rs:127:37 [INFO] [stdout] | [INFO] [stdout] 127 | && matcher.contains(&*arg.name()) [INFO] [stdout] | ^^^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `arg.name()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/app/validator.rs:210:46 [INFO] [stdout] | [INFO] [stdout] 210 | ... conflicts.extend(&*gc); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] help: if you would like to reborrow, try removing `&*` [INFO] [stdout] | [INFO] [stdout] 210 - conflicts.extend(&*gc); [INFO] [stdout] 210 + conflicts.extend(gc); [INFO] [stdout] | [INFO] [stdout] help: if you would like to deref, try using `&**` [INFO] [stdout] | [INFO] [stdout] 210 | conflicts.extend(&**gc); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/app/validator.rs:277:39 [INFO] [stdout] | [INFO] [stdout] 277 | return self.build_err(*name, matcher); [INFO] [stdout] | ^^^^^ help: try: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/app/validator.rs:355:17 [INFO] [stdout] | [INFO] [stdout] 355 | ((ma.vals.len() as u64) % num) != 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `!(ma.vals.len() as u64).is_multiple_of(num)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] = note: `#[warn(clippy::manual_is_multiple_of)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/app/validator.rs:514:24 [INFO] [stdout] | [INFO] [stdout] 514 | || self [INFO] [stdout] | ________________________^ [INFO] [stdout] 515 | | .0 [INFO] [stdout] 516 | | .groups [INFO] [stdout] 517 | | .iter() [INFO] [stdout] 518 | | .find(|g| &g.name == conf) [INFO] [stdout] 519 | | .map_or(false, |g| g.args.iter().any(|arg| matcher.contains(arg))) [INFO] [stdout] | |__________________________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_some_and` instead [INFO] [stdout] | [INFO] [stdout] 519 - .map_or(false, |g| g.args.iter().any(|arg| matcher.contains(arg))) [INFO] [stdout] 519 + .is_some_and(|g| g.args.iter().any(|arg| matcher.contains(arg))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/app/validator.rs:554:56 [INFO] [stdout] | [INFO] [stdout] 554 | let mut reqs = self.0.required.iter().map(|&r| &*r).collect::>(); [INFO] [stdout] | ^^^ help: if you would like to reborrow, try removing `&*`: `r` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/app/mod.rs:555:9 [INFO] [stdout] | [INFO] [stdout] 555 | /// and subcommands) including titles. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try using ` ` (4 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] = note: `#[warn(clippy::doc_overindented_list_items)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/app/mod.rs:557:9 [INFO] [stdout] | [INFO] [stdout] 557 | /// [`AppSettings::UnifiedHelpMessage`] to fully merge both options and [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try using ` ` (4 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/app/mod.rs:558:9 [INFO] [stdout] | [INFO] [stdout] 558 | /// flags, otherwise the ordering is "best effort" [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try using ` ` (4 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/app/mod.rs:1463:31 [INFO] [stdout] | [INFO] [stdout] 1463 | self.get_matches_from(&mut env::args_os()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: change this to: `env::args_os()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/app/mod.rs:1493:36 [INFO] [stdout] | [INFO] [stdout] 1493 | self.get_matches_from_safe(&mut env::args_os()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: change this to: `env::args_os()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this block may be rewritten with the `?` operator [INFO] [stdout] --> src/app/mod.rs:1642:9 [INFO] [stdout] | [INFO] [stdout] 1642 | / if let Err(e) = self.p.get_matches_with(&mut matcher, &mut it.peekable()) { [INFO] [stdout] 1643 | | return Err(e); [INFO] [stdout] 1644 | | } [INFO] [stdout] | |_________^ help: replace it with: `self.p.get_matches_with(&mut matcher, &mut it.peekable())?;` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stdout] = note: `#[warn(clippy::question_mark)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/args/any_arg.rs:31:28 [INFO] [stdout] | [INFO] [stdout] 31 | fn validator(&self) -> Option<&Rc Result<(), String>>>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] = note: `#[warn(clippy::type_complexity)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/args/any_arg.rs:33:31 [INFO] [stdout] | [INFO] [stdout] 33 | fn validator_os(&self) -> Option<&Rc Result<(), OsString>>>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `iter().copied().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> src/args/arg.rs:1032:41 [INFO] [stdout] | [INFO] [stdout] 1032 | self.b.r_unless = Some(names.iter().copied().collect()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `iter().copied().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> src/args/arg.rs:1108:41 [INFO] [stdout] | [INFO] [stdout] 1108 | self.b.r_unless = Some(names.iter().copied().collect()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `iter().copied().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> src/args/arg.rs:1206:42 [INFO] [stdout] | [INFO] [stdout] 1206 | self.b.blacklist = Some(names.iter().copied().collect()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `iter().copied().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> src/args/arg.rs:1351:42 [INFO] [stdout] | [INFO] [stdout] 1351 | self.b.overrides = Some(names.iter().copied().collect()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `iter().copied().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> src/args/arg.rs:2414:46 [INFO] [stdout] | [INFO] [stdout] 2414 | self.v.possible_vals = Some(names.iter().copied().collect()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `iter().copied().collect()` on a slice to create a `Vec`. Calling `to_vec()` is both faster and more readable [INFO] [stdout] --> src/args/arg.rs:2610:39 [INFO] [stdout] | [INFO] [stdout] 2610 | self.b.groups = Some(names.iter().copied().collect()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `.to_vec()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the variable `l` is used as a loop counter [INFO] [stdout] --> src/args/arg.rs:3110:13 [INFO] [stdout] | [INFO] [stdout] 3110 | for s in names { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: consider using: `for (l, s) in (vals.len()..).zip(names.iter())` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stdout] = note: `#[warn(clippy::explicit_counter_loop)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `map_or` can be simplified [INFO] [stdout] --> src/args/arg_builder/positional.rs:69:25 [INFO] [stdout] | [INFO] [stdout] 69 | let mult_vals = self [INFO] [stdout] | _________________________^ [INFO] [stdout] 70 | | .v [INFO] [stdout] 71 | | .val_names [INFO] [stdout] 72 | | .as_ref() [INFO] [stdout] 73 | | .map_or(true, |names| names.len() < 2); [INFO] [stdout] | |__________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or [INFO] [stdout] help: use `is_none_or` instead [INFO] [stdout] | [INFO] [stdout] 73 - .map_or(true, |names| names.len() < 2); [INFO] [stdout] 73 + .is_none_or(|names| names.len() < 2); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/args/arg_builder/valued.rs:20:20 [INFO] [stdout] | [INFO] [stdout] 20 | pub validator: Option Result<(), String>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/args/arg_builder/valued.rs:22:23 [INFO] [stdout] | [INFO] [stdout] 22 | pub validator_os: Option Result<(), OsString>>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/args/arg_builder/valued.rs:31:1 [INFO] [stdout] | [INFO] [stdout] 31 | / impl<'n, 'e> Default for Valued<'n, 'e> { [INFO] [stdout] 32 | | fn default() -> Self { [INFO] [stdout] 33 | | Valued { [INFO] [stdout] 34 | | possible_vals: None, [INFO] [stdout] ... | [INFO] [stdout] 48 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] = note: `#[warn(clippy::derivable_impls)]` on by default [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 10 + #[derive(Default)] [INFO] [stdout] 11 | pub struct Valued<'a, 'b> [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/args/arg_matcher.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | / impl<'a> Default for ArgMatcher<'a> { [INFO] [stdout] 20 | | fn default() -> Self { [INFO] [stdout] 21 | | ArgMatcher(ArgMatches::default()) [INFO] [stdout] 22 | | } [INFO] [stdout] 23 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 17 + #[derive(Default)] [INFO] [stdout] 18 | pub struct ArgMatcher<'a>(pub ArgMatches<'a>); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/args/arg_matcher.rs:250:21 [INFO] [stdout] | [INFO] [stdout] 250 | ((ma.vals.len() as u64) % num) != 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `!(ma.vals.len() as u64).is_multiple_of(num)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true [INFO] [stdout] --> src/args/arg_matcher.rs:270:1 [INFO] [stdout] | [INFO] [stdout] 270 | impl<'a> Into> for ArgMatcher<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into [INFO] [stdout] = note: `#[warn(clippy::from_over_into)]` on by default [INFO] [stdout] help: replace the `Into` implementation with `From>` [INFO] [stdout] | [INFO] [stdout] 270 ~ impl<'a> From> for ArgMatches<'a> { [INFO] [stdout] 271 ~ fn from(val: ArgMatcher<'a>) -> Self { [INFO] [stdout] 272 ~ val.0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> src/args/arg_matches.rs:73:1 [INFO] [stdout] | [INFO] [stdout] 73 | / impl<'a> Default for ArgMatches<'a> { [INFO] [stdout] 74 | | fn default() -> Self { [INFO] [stdout] 75 | | ArgMatches { [INFO] [stdout] 76 | | args: HashMap::new(), [INFO] [stdout] ... | [INFO] [stdout] 81 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] help: replace the manual implementation with a derive attribute [INFO] [stdout] | [INFO] [stdout] 64 + #[derive(Default)] [INFO] [stdout] 65 | pub struct ArgMatches<'a> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `arg.vals.get(0)` [INFO] [stdout] --> src/args/arg_matches.rs:120:30 [INFO] [stdout] | [INFO] [stdout] 120 | if let Some(v) = arg.vals.get(0) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `arg.vals.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] = note: `#[warn(clippy::get_first)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `arg.vals.get(0)` [INFO] [stdout] --> src/args/arg_matches.rs:152:30 [INFO] [stdout] | [INFO] [stdout] 152 | if let Some(v) = arg.vals.get(0) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `arg.vals.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `arg.vals.get(0)` [INFO] [stdout] --> src/args/arg_matches.rs:189:29 [INFO] [stdout] | [INFO] [stdout] 189 | .and_then(|arg| arg.vals.get(0).map(|v| v.as_os_str())) [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `arg.vals.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/args/arg_matches.rs:299:13 [INFO] [stdout] | [INFO] [stdout] 299 | &*o [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] help: if you would like to reborrow, try removing `&*` [INFO] [stdout] | [INFO] [stdout] 299 - &*o [INFO] [stdout] 299 + o [INFO] [stdout] | [INFO] [stdout] help: if you would like to deref, try using `&**` [INFO] [stdout] | [INFO] [stdout] 299 | &**o [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `arg.indices.get(0)` [INFO] [stdout] --> src/args/arg_matches.rs:509:30 [INFO] [stdout] | [INFO] [stdout] 509 | if let Some(i) = arg.indices.get(0) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `arg.indices.first()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_first [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: items after a test module [INFO] [stdout] --> src/args/group.rs:510:1 [INFO] [stdout] | [INFO] [stdout] 510 | mod test { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 626 | impl<'a> Clone for ArgGroup<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#items_after_test_module [INFO] [stdout] = note: `#[warn(clippy::items_after_test_module)]` on by default [INFO] [stdout] = help: move the items to before the test module was defined [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/args/group.rs:161:13 [INFO] [stdout] | [INFO] [stdout] 161 | &*self.name [INFO] [stdout] | ^^^^^^^^^^^ help: if you would like to reborrow, try removing `&*`: `self.name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/completions/bash.rs:127:53 [INFO] [stdout] | [INFO] [stdout] 127 | sc_opts = self.all_options_for_path(&*sc), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] help: if you would like to reborrow, try removing `&*` [INFO] [stdout] | [INFO] [stdout] 127 - sc_opts = self.all_options_for_path(&*sc), [INFO] [stdout] 127 + sc_opts = self.all_options_for_path(sc), [INFO] [stdout] | [INFO] [stdout] help: if you would like to deref, try using `&**` [INFO] [stdout] | [INFO] [stdout] 127 | sc_opts = self.all_options_for_path(&**sc), [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/completions/bash.rs:129:61 [INFO] [stdout] | [INFO] [stdout] 129 | opts_details = self.option_details_for_path(&*sc) [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] help: if you would like to reborrow, try removing `&*` [INFO] [stdout] | [INFO] [stdout] 129 - opts_details = self.option_details_for_path(&*sc) [INFO] [stdout] 129 + opts_details = self.option_details_for_path(sc) [INFO] [stdout] | [INFO] [stdout] help: if you would like to deref, try using `&**` [INFO] [stdout] | [INFO] [stdout] 129 | opts_details = self.option_details_for_path(&**sc) [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: parameter is only used in recursion [INFO] [stdout] --> src/completions/elvish.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | names: &mut Vec<&'p str>, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_names` [INFO] [stdout] | [INFO] [stdout] note: parameter used here [INFO] [stdout] --> src/completions/elvish.rs:122:89 [INFO] [stdout] | [INFO] [stdout] 122 | let subcommand_subcommands_cases = generate_inner(&subcommand.p, &command_name, names); [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#only_used_in_recursion [INFO] [stdout] = note: `#[warn(clippy::only_used_in_recursion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: parameter is only used in recursion [INFO] [stdout] --> src/completions/powershell.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | names: &mut Vec<&'p str>, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_names` [INFO] [stdout] | [INFO] [stdout] note: parameter used here [INFO] [stdout] --> src/completions/powershell.rs:160:89 [INFO] [stdout] | [INFO] [stdout] 160 | let subcommand_subcommands_cases = generate_inner(&subcommand.p, &command_name, names); [INFO] [stdout] | ^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#only_used_in_recursion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: wildcard pattern covers any other pattern as it will match anyway [INFO] [stdout] --> src/completions/shell.rs:34:13 [INFO] [stdout] | [INFO] [stdout] 34 | "ZSH" | _ if s.eq_ignore_ascii_case("zsh") => Ok(Shell::Zsh), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider handling `_` separately [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wildcard_in_or_patterns [INFO] [stdout] = note: `#[warn(clippy::wildcard_in_or_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: wildcard pattern covers any other pattern as it will match anyway [INFO] [stdout] --> src/completions/shell.rs:35:13 [INFO] [stdout] | [INFO] [stdout] 35 | "FISH" | _ if s.eq_ignore_ascii_case("fish") => Ok(Shell::Fish), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider handling `_` separately [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wildcard_in_or_patterns [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: wildcard pattern covers any other pattern as it will match anyway [INFO] [stdout] --> src/completions/shell.rs:36:13 [INFO] [stdout] | [INFO] [stdout] 36 | "BASH" | _ if s.eq_ignore_ascii_case("bash") => Ok(Shell::Bash), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider handling `_` separately [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wildcard_in_or_patterns [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: wildcard pattern covers any other pattern as it will match anyway [INFO] [stdout] --> src/completions/shell.rs:37:13 [INFO] [stdout] | [INFO] [stdout] 37 | "POWERSHELL" | _ if s.eq_ignore_ascii_case("powershell") => Ok(Shell::PowerShell), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider handling `_` separately [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wildcard_in_or_patterns [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: wildcard pattern covers any other pattern as it will match anyway [INFO] [stdout] --> src/completions/shell.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | "ELVISH" | _ if s.eq_ignore_ascii_case("elvish") => Ok(Shell::Elvish), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider handling `_` separately [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wildcard_in_or_patterns [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/completions/zsh.rs:112:9 [INFO] [stdout] | [INFO] [stdout] 112 | for &(_, ref bin_name) in &all_subcommands { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 112 - for &(_, ref bin_name) in &all_subcommands { [INFO] [stdout] 112 + for (_, bin_name) in &all_subcommands { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/completions/zsh.rs:220:9 [INFO] [stdout] | [INFO] [stdout] 220 | for &(ref name, ref bin_name) in &sc_names { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 220 - for &(ref name, ref bin_name) in &sc_names { [INFO] [stdout] 220 + for (name, bin_name) in &sc_names { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/completions/zsh.rs:222:56 [INFO] [stdout] | [INFO] [stdout] 222 | let subcommand_args = get_args_of(parser_of(p, &*bin_name)); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] help: if you would like to reborrow, try removing `&*` [INFO] [stdout] | [INFO] [stdout] 222 - let subcommand_args = get_args_of(parser_of(p, &*bin_name)); [INFO] [stdout] 222 + let subcommand_args = get_args_of(parser_of(p, bin_name)); [INFO] [stdout] | [INFO] [stdout] help: if you would like to deref, try using `&**` [INFO] [stdout] | [INFO] [stdout] 222 | let subcommand_args = get_args_of(parser_of(p, &**bin_name)); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/completions/zsh.rs:226:59 [INFO] [stdout] | [INFO] [stdout] 226 | let subcommands = get_subcommands_of(parser_of(p, &*bin_name)); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] help: if you would like to reborrow, try removing `&*` [INFO] [stdout] | [INFO] [stdout] 226 - let subcommands = get_subcommands_of(parser_of(p, &*bin_name)); [INFO] [stdout] 226 + let subcommands = get_subcommands_of(parser_of(p, bin_name)); [INFO] [stdout] | [INFO] [stdout] help: if you would like to deref, try using `&**` [INFO] [stdout] | [INFO] [stdout] 226 | let subcommands = get_subcommands_of(parser_of(p, &**bin_name)); [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/completions/zsh.rs:362:43 [INFO] [stdout] | [INFO] [stdout] 362 | .map(|v| escape_value(*v)) [INFO] [stdout] | ^^ help: try: `v` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/completions/zsh.rs:472:47 [INFO] [stdout] | [INFO] [stdout] 472 | .map(|v| escape_value(*v)) [INFO] [stdout] | ^^ help: try: `v` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: dereferencing a tuple pattern where every element takes a reference [INFO] [stdout] --> src/completions/mod.rs:55:15 [INFO] [stdout] | [INFO] [stdout] 55 | .map(|&(ref n, _)| n.clone()) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrowed_reference [INFO] [stdout] help: try removing the `&` and `ref` parts [INFO] [stdout] | [INFO] [stdout] 55 - .map(|&(ref n, _)| n.clone()) [INFO] [stdout] 55 + .map(|(n, _)| n.clone()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/errors.rs:913:9 [INFO] [stdout] | [INFO] [stdout] 913 | &*self.message [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `&self.message` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/osstringext.rs:142:13 [INFO] [stdout] | [INFO] [stdout] 142 | &*self, [INFO] [stdout] | ^^^^^^ help: if you would like to reborrow, try removing `&*`: `self` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref on an immutable reference [INFO] [stdout] --> src/osstringext.rs:159:9 [INFO] [stdout] | [INFO] [stdout] 159 | &*self [INFO] [stdout] | ^^^^^^ help: if you would like to reborrow, try removing `&*`: `self` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrow_deref_ref [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/app/mod.rs:1879:25 [INFO] [stdout] | [INFO] [stdout] 1879 | fn default_vals_ifs(&self) -> Option, &'e OsStr)>> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 1879 | fn default_vals_ifs(&self) -> Option, &'e OsStr)>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/app/parser.rs:458:21 [INFO] [stdout] | [INFO] [stdout] 458 | pub fn required(&self) -> Iter<&str> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^ [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is elided here [INFO] [stdout] | | the same lifetime is hidden here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 458 | pub fn required(&self) -> Iter<'_, &str> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/app/parser.rs:2130:18 [INFO] [stdout] | [INFO] [stdout] 2130 | pub fn flags(&self) -> Iter> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 2130 | pub fn flags(&self) -> Iter<'_, FlagBuilder<'a, 'b>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/app/parser.rs:2134:17 [INFO] [stdout] | [INFO] [stdout] 2134 | pub fn opts(&self) -> Iter> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 2134 | pub fn opts(&self) -> Iter<'_, OptBuilder<'a, 'b>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/app/parser.rs:2138:24 [INFO] [stdout] | [INFO] [stdout] 2138 | pub fn positionals(&self) -> map::Values> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 2138 | pub fn positionals(&self) -> map::Values<'_, PosBuilder<'a, 'b>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/app/parser.rs:2142:24 [INFO] [stdout] | [INFO] [stdout] 2142 | pub fn subcommands(&self) -> Iter { [INFO] [stdout] | ^^^^^ ^^^^^^^^^ [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is hidden here [INFO] [stdout] | | | the same lifetime is hidden here [INFO] [stdout] | | the same lifetime is hidden here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 2142 | pub fn subcommands(&self) -> Iter<'_, App<'_>> { [INFO] [stdout] | +++ ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/args/any_arg.rs:42:25 [INFO] [stdout] | [INFO] [stdout] 42 | fn default_vals_ifs(&self) -> Option, &'e OsStr)>>; [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 42 | fn default_vals_ifs(&self) -> Option, &'e OsStr)>>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/args/any_arg.rs:127:25 [INFO] [stdout] | [INFO] [stdout] 127 | fn default_vals_ifs(&self) -> Option, &'e OsStr)>> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 127 | fn default_vals_ifs(&self) -> Option, &'e OsStr)>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/args/arg_builder/flag.rs:138:25 [INFO] [stdout] | [INFO] [stdout] 138 | fn default_vals_ifs(&self) -> Option, &'e OsStr)>> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 138 | fn default_vals_ifs(&self) -> Option, &'e OsStr)>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/args/arg_builder/option.rs:192:25 [INFO] [stdout] | [INFO] [stdout] 192 | fn default_vals_ifs(&self) -> Option, &'e OsStr)>> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 192 | fn default_vals_ifs(&self) -> Option, &'e OsStr)>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/args/arg_builder/positional.rs:81:29 [INFO] [stdout] | [INFO] [stdout] 81 | pub fn name_no_brackets(&self) -> Cow { [INFO] [stdout] | ^^^^^ ^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 81 | pub fn name_no_brackets(&self) -> Cow<'_, str> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/args/arg_builder/positional.rs:209:25 [INFO] [stdout] | [INFO] [stdout] 209 | fn default_vals_ifs(&self) -> Option, &'e OsStr)>> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 209 | fn default_vals_ifs(&self) -> Option, &'e OsStr)>> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/args/arg_matcher.rs:190:18 [INFO] [stdout] | [INFO] [stdout] 190 | pub fn entry(&mut self, arg: &'a str) -> Entry<&'a str, MatchedArg> { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 190 | pub fn entry(&mut self, arg: &'a str) -> Entry<'_, &'a str, MatchedArg> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/args/arg_matcher.rs:202:17 [INFO] [stdout] | [INFO] [stdout] 202 | pub fn iter(&self) -> Iter<&str, MatchedArg> { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | | | [INFO] [stdout] | | | the same lifetime is elided here [INFO] [stdout] | | the same lifetime is hidden here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 202 | pub fn iter(&self) -> Iter<'_, &str, MatchedArg> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/fmt.rs:132:15 [INFO] [stdout] | [INFO] [stdout] 132 | fn format(&self) -> ANSIString { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 132 | fn format(&self) -> ANSIString<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/osstringext.rs:20:14 [INFO] [stdout] | [INFO] [stdout] 20 | fn split(&self, b: u8) -> OsSplit; [INFO] [stdout] | ^^^^^ ^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 20 | fn split(&self, b: u8) -> OsSplit<'_>; [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/osstringext.rs:169:14 [INFO] [stdout] | [INFO] [stdout] 169 | fn split(&self, b: u8) -> OsSplit { [INFO] [stdout] | ^^^^^ ^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 169 | fn split(&self, b: u8) -> OsSplit<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.34s [INFO] running `Command { std: "docker" "inspect" "17d99cecb7aa4bda06406cfcbfd99db82b61dbc513635c2381e7a0165edf9cdb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "17d99cecb7aa4bda06406cfcbfd99db82b61dbc513635c2381e7a0165edf9cdb", kill_on_drop: false }` [INFO] [stdout] 17d99cecb7aa4bda06406cfcbfd99db82b61dbc513635c2381e7a0165edf9cdb