[INFO] cloning repository https://github.com/SwissArmyWrench/johnnybgoode [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/SwissArmyWrench/johnnybgoode" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSwissArmyWrench%2Fjohnnybgoode", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSwissArmyWrench%2Fjohnnybgoode'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] e6865fbfb7b41ea21bba3a90df8f2ed8fa7b52e0 [INFO] linting SwissArmyWrench/johnnybgoode against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSwissArmyWrench%2Fjohnnybgoode" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/SwissArmyWrench/johnnybgoode [INFO] finished tweaking git repo https://github.com/SwissArmyWrench/johnnybgoode [INFO] tweaked toml for git repo https://github.com/SwissArmyWrench/johnnybgoode written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/SwissArmyWrench/johnnybgoode 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/SwissArmyWrench/johnnybgoode 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] Downloading crates ... [INFO] [stderr] Downloaded bitflags v2.4.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] ab40ddfd335e4fe6628e19bdb054b01fe19fc1610b1415268fd6a6890745a7a2 [INFO] running `Command { std: "docker" "start" "-a" "ab40ddfd335e4fe6628e19bdb054b01fe19fc1610b1415268fd6a6890745a7a2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ab40ddfd335e4fe6628e19bdb054b01fe19fc1610b1415268fd6a6890745a7a2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ab40ddfd335e4fe6628e19bdb054b01fe19fc1610b1415268fd6a6890745a7a2", kill_on_drop: false }` [INFO] [stdout] ab40ddfd335e4fe6628e19bdb054b01fe19fc1610b1415268fd6a6890745a7a2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 01cfc5236c9788434379a4451473aa70e8d480ecc17d7a8c4606115aacfa2707 [INFO] running `Command { std: "docker" "start" "-a" "01cfc5236c9788434379a4451473aa70e8d480ecc17d7a8c4606115aacfa2707", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.76 [INFO] [stderr] Compiling unicode-ident v1.0.11 [INFO] [stderr] Compiling serde v1.0.195 [INFO] [stderr] Checking memchr v2.7.2 [INFO] [stderr] Compiling libc v0.2.151 [INFO] [stderr] Checking regex-syntax v0.8.3 [INFO] [stderr] Checking ryu v1.0.16 [INFO] [stderr] Checking itoa v1.0.10 [INFO] [stderr] Checking hashbrown v0.14.3 [INFO] [stderr] Compiling serde_json v1.0.133 [INFO] [stderr] Checking unsafe-libyaml v0.2.10 [INFO] [stderr] Checking walkdir v2.3.3 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Checking indexmap v2.1.0 [INFO] [stderr] Compiling quote v1.0.35 [INFO] [stderr] Checking dirs-sys v0.4.1 [INFO] [stderr] Checking directories v5.0.1 [INFO] [stderr] Compiling syn v2.0.48 [INFO] [stderr] Checking regex-automata v0.4.6 [INFO] [stderr] Compiling serde_derive v1.0.195 [INFO] [stderr] Checking regex v1.10.4 [INFO] [stderr] Checking serde_yaml v0.9.30 [INFO] [stderr] Checking johnnybgoode v1.2.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:34:73 [INFO] [stdout] | [INFO] [stdout] 34 | let path = if (env::var("JOHNNYBGOODE_CONFIG_PATH").is_ok()) && !(env::var("JOHNNYBGOODE_CONFIG_PATH").unwrap() == "IGNORE") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(env::var("JOHNNYBGOODE_CONFIG_PATH").unwrap() != "IGNORE")` [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: binary comparison to literal `Option::None` [INFO] [stdout] --> src/lib.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 49 | if config.regex != None { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: use `Option::is_some()` instead: `config.regex.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#partialeq_to_none [INFO] [stdout] = note: `#[warn(clippy::partialeq_to_none)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-canonical implementation of `partial_cmp` on an `Ord` type [INFO] [stdout] --> src/lib.rs:155:1 [INFO] [stdout] | [INFO] [stdout] 155 | / impl PartialOrd for JohnnyFolder { [INFO] [stdout] 156 | | fn partial_cmp(&self, other: &Self) -> Option { [INFO] [stdout] 157 | | let (selfkey, otherkey) = (self.level.get_sorting_key(), other.level.get_sorting_key()); [INFO] [stdout] 158 | | Some(selfkey.cmp(&otherkey)) [INFO] [stdout] 159 | | } [INFO] [stdout] 160 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_canonical_partial_ord_impl [INFO] [stdout] = note: `#[warn(clippy::non_canonical_partial_ord_impl)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 156 - fn partial_cmp(&self, other: &Self) -> Option { [INFO] [stdout] 157 - let (selfkey, otherkey) = (self.level.get_sorting_key(), other.level.get_sorting_key()); [INFO] [stdout] 158 - Some(selfkey.cmp(&otherkey)) [INFO] [stdout] 159 - } [INFO] [stdout] 156 + fn partial_cmp(&self, other: &Self) -> Option { Some(self.cmp(other)) } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/lib.rs:250:5 [INFO] [stdout] | [INFO] [stdout] 250 | let unwrapped: &PathBuf; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] = note: `#[warn(clippy::needless_late_init)]` on by default [INFO] [stdout] help: move the declaration `unwrapped` here and remove the assignments from the `match` arms [INFO] [stdout] | [INFO] [stdout] 250 ~ [INFO] [stdout] 251 ~ let unwrapped: &PathBuf = match path { [INFO] [stdout] 252 | Some(returned_path) => { [INFO] [stdout] 253 ~ returned_path [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/lib.rs:274:5 [INFO] [stdout] | [INFO] [stdout] 274 | match regex_out { None => {graceful_crash(1001);}, Some(_) => {} }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `if let None = regex_out {graceful_crash(1001);}` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:34:73 [INFO] [stdout] | [INFO] [stdout] 34 | let path = if (env::var("JOHNNYBGOODE_CONFIG_PATH").is_ok()) && !(env::var("JOHNNYBGOODE_CONFIG_PATH").unwrap() == "IGNORE") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(env::var("JOHNNYBGOODE_CONFIG_PATH").unwrap() != "IGNORE")` [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: binary comparison to literal `Option::None` [INFO] [stdout] --> src/lib.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 49 | if config.regex != None { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: use `Option::is_some()` instead: `config.regex.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#partialeq_to_none [INFO] [stdout] = note: `#[warn(clippy::partialeq_to_none)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-canonical implementation of `partial_cmp` on an `Ord` type [INFO] [stdout] --> src/lib.rs:155:1 [INFO] [stdout] | [INFO] [stdout] 155 | / impl PartialOrd for JohnnyFolder { [INFO] [stdout] 156 | | fn partial_cmp(&self, other: &Self) -> Option { [INFO] [stdout] 157 | | let (selfkey, otherkey) = (self.level.get_sorting_key(), other.level.get_sorting_key()); [INFO] [stdout] 158 | | Some(selfkey.cmp(&otherkey)) [INFO] [stdout] 159 | | } [INFO] [stdout] 160 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#non_canonical_partial_ord_impl [INFO] [stdout] = note: `#[warn(clippy::non_canonical_partial_ord_impl)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 156 - fn partial_cmp(&self, other: &Self) -> Option { [INFO] [stdout] 157 - let (selfkey, otherkey) = (self.level.get_sorting_key(), other.level.get_sorting_key()); [INFO] [stdout] 158 - Some(selfkey.cmp(&otherkey)) [INFO] [stdout] 159 - } [INFO] [stdout] 156 + fn partial_cmp(&self, other: &Self) -> Option { Some(self.cmp(other)) } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded late initialization [INFO] [stdout] --> src/lib.rs:250:5 [INFO] [stdout] | [INFO] [stdout] 250 | let unwrapped: &PathBuf; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_late_init [INFO] [stdout] = note: `#[warn(clippy::needless_late_init)]` on by default [INFO] [stdout] help: move the declaration `unwrapped` here and remove the assignments from the `match` arms [INFO] [stdout] | [INFO] [stdout] 250 ~ [INFO] [stdout] 251 ~ let unwrapped: &PathBuf = match path { [INFO] [stdout] 252 | Some(returned_path) => { [INFO] [stdout] 253 ~ returned_path [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/lib.rs:274:5 [INFO] [stdout] | [INFO] [stdout] 274 | match regex_out { None => {graceful_crash(1001);}, Some(_) => {} }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `if let None = regex_out {graceful_crash(1001);}` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 19.87s [INFO] running `Command { std: "docker" "inspect" "01cfc5236c9788434379a4451473aa70e8d480ecc17d7a8c4606115aacfa2707", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "01cfc5236c9788434379a4451473aa70e8d480ecc17d7a8c4606115aacfa2707", kill_on_drop: false }` [INFO] [stdout] 01cfc5236c9788434379a4451473aa70e8d480ecc17d7a8c4606115aacfa2707