[INFO] cloning repository https://github.com/MarcelCode/mercantile [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/MarcelCode/mercantile" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMarcelCode%2Fmercantile", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMarcelCode%2Fmercantile'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 5e9dcee2b26abd8f3971b12623022e43d72bee96 [INFO] linting MarcelCode/mercantile against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMarcelCode%2Fmercantile" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/MarcelCode/mercantile [INFO] finished tweaking git repo https://github.com/MarcelCode/mercantile [INFO] tweaked toml for git repo https://github.com/MarcelCode/mercantile written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/MarcelCode/mercantile 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/MarcelCode/mercantile 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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] c9b6ebc2c332fddaeb08b0de3661bd580f775dbd23626de4f5a40f4c0170e9a6 [INFO] running `Command { std: "docker" "start" "-a" "c9b6ebc2c332fddaeb08b0de3661bd580f775dbd23626de4f5a40f4c0170e9a6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c9b6ebc2c332fddaeb08b0de3661bd580f775dbd23626de4f5a40f4c0170e9a6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c9b6ebc2c332fddaeb08b0de3661bd580f775dbd23626de4f5a40f4c0170e9a6", kill_on_drop: false }` [INFO] [stdout] c9b6ebc2c332fddaeb08b0de3661bd580f775dbd23626de4f5a40f4c0170e9a6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] 5fbdfc9d77a4e3c002ab17103368b486411a9ea6fdd26887b372ee075e3b3d61 [INFO] running `Command { std: "docker" "start" "-a" "5fbdfc9d77a4e3c002ab17103368b486411a9ea6fdd26887b372ee075e3b3d61", kill_on_drop: false }` [INFO] [stderr] Checking mercantile v0.0.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary `>= y + 1` or `x - 1 >=` [INFO] [stdout] --> src/lib.rs:203:38 [INFO] [stdout] | [INFO] [stdout] 203 | let valid_x = 0 <= tile.x && tile.x <= 2_i32.pow(tile.z as u32) - 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `tile.x < 2_i32.pow(tile.z as u32)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#int_plus_one [INFO] [stdout] = note: `#[warn(clippy::int_plus_one)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `>= y + 1` or `x - 1 >=` [INFO] [stdout] --> src/lib.rs:203:38 [INFO] [stdout] | [INFO] [stdout] 203 | let valid_x = 0 <= tile.x && tile.x <= 2_i32.pow(tile.z as u32) - 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `tile.x < 2_i32.pow(tile.z as u32)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#int_plus_one [INFO] [stdout] = note: `#[warn(clippy::int_plus_one)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `>= y + 1` or `x - 1 >=` [INFO] [stdout] --> src/lib.rs:204:38 [INFO] [stdout] | [INFO] [stdout] 204 | let valid_y = 0 <= tile.y && tile.y <= 2_i32.pow(tile.z as u32) - 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `tile.y < 2_i32.pow(tile.z as u32)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#int_plus_one [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `>= y + 1` or `x - 1 >=` [INFO] [stdout] --> src/lib.rs:204:38 [INFO] [stdout] | [INFO] [stdout] 204 | let valid_y = 0 <= tile.y && tile.y <= 2_i32.pow(tile.z as u32) - 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change it to: `tile.y < 2_i32.pow(tile.z as u32)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#int_plus_one [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 69 | if !(lo <= x && x <= hi) || !(lo <= y && y <= hi) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `!(lo <= x && x <= hi && lo <= y && y <= hi)` [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: this `if` has identical blocks [INFO] [stdout] --> src/lib.rs:191:33 [INFO] [stdout] | [INFO] [stdout] 191 | if i == 0 && j == 0 { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 192 | | continue; [INFO] [stdout] 193 | | } else if tile.x + i < 0 || tile.y + j < 0 { [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/lib.rs:193:56 [INFO] [stdout] | [INFO] [stdout] 193 | } else if tile.x + i < 0 || tile.y + j < 0 { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 194 | | continue; [INFO] [stdout] 195 | | } else if tile.x + i > hi || tile.y + j > hi { [INFO] [stdout] | |_____________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] = note: `#[warn(clippy::if_same_then_else)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> src/lib.rs:193:56 [INFO] [stdout] | [INFO] [stdout] 193 | } else if tile.x + i < 0 || tile.y + j < 0 { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 194 | | continue; [INFO] [stdout] 195 | | } else if tile.x + i > hi || tile.y + j > hi { [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/lib.rs:195:58 [INFO] [stdout] | [INFO] [stdout] 195 | } else if tile.x + i > hi || tile.y + j > hi { [INFO] [stdout] | __________________________________________________________^ [INFO] [stdout] 196 | | continue; [INFO] [stdout] 197 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/lib.rs:209:30 [INFO] [stdout] | [INFO] [stdout] 209 | tiles.into_iter().filter(|t| valid(t)).collect() [INFO] [stdout] | ^^^^^^^^^^^^ help: replace the closure with the function itself: `valid` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 69 | if !(lo <= x && x <= hi) || !(lo <= y && y <= hi) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `!(lo <= x && x <= hi && lo <= y && y <= hi)` [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: this `if` has identical blocks [INFO] [stdout] --> src/lib.rs:191:33 [INFO] [stdout] | [INFO] [stdout] 191 | if i == 0 && j == 0 { [INFO] [stdout] | _________________________________^ [INFO] [stdout] 192 | | continue; [INFO] [stdout] 193 | | } else if tile.x + i < 0 || tile.y + j < 0 { [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/lib.rs:193:56 [INFO] [stdout] | [INFO] [stdout] 193 | } else if tile.x + i < 0 || tile.y + j < 0 { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 194 | | continue; [INFO] [stdout] 195 | | } else if tile.x + i > hi || tile.y + j > hi { [INFO] [stdout] | |_____________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] = note: `#[warn(clippy::if_same_then_else)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> src/lib.rs:193:56 [INFO] [stdout] | [INFO] [stdout] 193 | } else if tile.x + i < 0 || tile.y + j < 0 { [INFO] [stdout] | ________________________________________________________^ [INFO] [stdout] 194 | | continue; [INFO] [stdout] 195 | | } else if tile.x + i > hi || tile.y + j > hi { [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/lib.rs:195:58 [INFO] [stdout] | [INFO] [stdout] 195 | } else if tile.x + i > hi || tile.y + j > hi { [INFO] [stdout] | __________________________________________________________^ [INFO] [stdout] 196 | | continue; [INFO] [stdout] 197 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant closure [INFO] [stdout] --> src/lib.rs:209:30 [INFO] [stdout] | [INFO] [stdout] 209 | tiles.into_iter().filter(|t| valid(t)).collect() [INFO] [stdout] | ^^^^^^^^^^^^ help: replace the closure with the function itself: `valid` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stdout] = note: `#[warn(clippy::redundant_closure)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.19s [INFO] running `Command { std: "docker" "inspect" "5fbdfc9d77a4e3c002ab17103368b486411a9ea6fdd26887b372ee075e3b3d61", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5fbdfc9d77a4e3c002ab17103368b486411a9ea6fdd26887b372ee075e3b3d61", kill_on_drop: false }` [INFO] [stdout] 5fbdfc9d77a4e3c002ab17103368b486411a9ea6fdd26887b372ee075e3b3d61