[INFO] cloning repository https://github.com/camjackson/open-spaceial-distancing [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/camjackson/open-spaceial-distancing" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcamjackson%2Fopen-spaceial-distancing", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcamjackson%2Fopen-spaceial-distancing'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] e471cabbf9481d5889682f61326d32a12334cf39 [INFO] linting camjackson/open-spaceial-distancing against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcamjackson%2Fopen-spaceial-distancing" "/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/camjackson/open-spaceial-distancing [INFO] finished tweaking git repo https://github.com/camjackson/open-spaceial-distancing [INFO] tweaked toml for git repo https://github.com/camjackson/open-spaceial-distancing written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/camjackson/open-spaceial-distancing 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/camjackson/open-spaceial-distancing 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 libc v0.2.68 [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] b7abab7b6d9eca1acd14e3e4955cfa0ab22a8fb280bfc5a86b3ed75e1c09207e [INFO] running `Command { std: "docker" "start" "-a" "b7abab7b6d9eca1acd14e3e4955cfa0ab22a8fb280bfc5a86b3ed75e1c09207e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b7abab7b6d9eca1acd14e3e4955cfa0ab22a8fb280bfc5a86b3ed75e1c09207e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b7abab7b6d9eca1acd14e3e4955cfa0ab22a8fb280bfc5a86b3ed75e1c09207e", kill_on_drop: false }` [INFO] [stdout] b7abab7b6d9eca1acd14e3e4955cfa0ab22a8fb280bfc5a86b3ed75e1c09207e [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] b3cab5b636f9ab7ded30f57aff558488917cafa2e99233be1018b73a494b1288 [INFO] running `Command { std: "docker" "start" "-a" "b3cab5b636f9ab7ded30f57aff558488917cafa2e99233be1018b73a494b1288", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.68 [INFO] [stderr] Checking ppv-lite86 v0.2.6 [INFO] [stderr] Checking getrandom v0.1.14 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking open-spaceial-distancing v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: field `office_height` is never read [INFO] [stdout] --> src/stats.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct SimulationParams { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 9 | pub office_height: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/navigation.rs:38:87 [INFO] [stdout] | [INFO] [stdout] 38 | get_next_location_and_direction(¤t_location, current_direction, &office); [INFO] [stdout] | ^^^^^^^ help: change this to: `office` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary closure used to substitute value for `Option::None` [INFO] [stdout] --> src/navigation.rs:53:17 [INFO] [stdout] | [INFO] [stdout] 53 | / try_to_move_backward(current_location, current_direction, office) [INFO] [stdout] 54 | | .unwrap_or_else(|| (*current_location, current_direction)) [INFO] [stdout] | |______________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_lazy_evaluations [INFO] [stdout] = note: `#[warn(clippy::unnecessary_lazy_evaluations)]` on by default [INFO] [stdout] help: use `unwrap_or` instead [INFO] [stdout] | [INFO] [stdout] 54 - .unwrap_or_else(|| (*current_location, current_direction)) [INFO] [stdout] 54 + .unwrap_or((*current_location, current_direction)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `office.desk_rows.get(0)` [INFO] [stdout] --> src/navigation.rs:97:29 [INFO] [stdout] | [INFO] [stdout] 97 | let office_width: i32 = office.desk_rows.get(0).unwrap().len().try_into().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `office.desk_rows.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: this boolean expression can be simplified [INFO] [stdout] --> src/navigation.rs:215:21 [INFO] [stdout] | [INFO] [stdout] 215 | assert!(!navigator.try_to_escape(&office, *start_col).is_ok()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `navigator.try_to_escape(&office, *start_col).is_err()` [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 `repeat().take()` can be written more concisely [INFO] [stdout] --> src/office.rs:19:41 [INFO] [stdout] | [INFO] [stdout] 19 | let occupied_desks: Vec = iter::repeat(Desk { is_occupied: true }) [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 20 | | .take(number_of_occupied_desks) [INFO] [stdout] | |___________________________________________^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(Desk { is_occupied: true }, number_of_occupied_desks)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] = note: `#[warn(clippy::manual_repeat_n)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/office.rs:22:43 [INFO] [stdout] | [INFO] [stdout] 22 | let unoccupied_desks: Vec = iter::repeat(Desk { is_occupied: false }) [INFO] [stdout] | ___________________________________________^ [INFO] [stdout] 23 | | .take(width * height - number_of_occupied_desks) [INFO] [stdout] | |____________________________________________________________^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(Desk { is_occupied: false }, width * height - number_of_occupied_desks)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `office_height` is never read [INFO] [stdout] --> src/stats.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct SimulationParams { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 9 | pub office_height: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/office.rs:113:17 [INFO] [stdout] | [INFO] [stdout] 113 | assert_eq!(desk.is_occupied, false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_assert_comparison)]` on by default [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 113 - assert_eq!(desk.is_occupied, false); [INFO] [stdout] 113 + assert!(!desk.is_occupied); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/office.rs:122:17 [INFO] [stdout] | [INFO] [stdout] 122 | assert_eq!(desk.is_occupied, true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 122 - assert_eq!(desk.is_occupied, true); [INFO] [stdout] 122 + assert!(desk.is_occupied); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/navigation.rs:38:87 [INFO] [stdout] | [INFO] [stdout] 38 | get_next_location_and_direction(¤t_location, current_direction, &office); [INFO] [stdout] | ^^^^^^^ help: change this to: `office` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary closure used to substitute value for `Option::None` [INFO] [stdout] --> src/navigation.rs:53:17 [INFO] [stdout] | [INFO] [stdout] 53 | / try_to_move_backward(current_location, current_direction, office) [INFO] [stdout] 54 | | .unwrap_or_else(|| (*current_location, current_direction)) [INFO] [stdout] | |______________________________________________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_lazy_evaluations [INFO] [stdout] = note: `#[warn(clippy::unnecessary_lazy_evaluations)]` on by default [INFO] [stdout] help: use `unwrap_or` instead [INFO] [stdout] | [INFO] [stdout] 54 - .unwrap_or_else(|| (*current_location, current_direction)) [INFO] [stdout] 54 + .unwrap_or((*current_location, current_direction)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: accessing first element with `office.desk_rows.get(0)` [INFO] [stdout] --> src/navigation.rs:97:29 [INFO] [stdout] | [INFO] [stdout] 97 | let office_width: i32 = office.desk_rows.get(0).unwrap().len().try_into().unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try: `office.desk_rows.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: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/office.rs:19:41 [INFO] [stdout] | [INFO] [stdout] 19 | let occupied_desks: Vec = iter::repeat(Desk { is_occupied: true }) [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 20 | | .take(number_of_occupied_desks) [INFO] [stdout] | |___________________________________________^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(Desk { is_occupied: true }, number_of_occupied_desks)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] = note: `#[warn(clippy::manual_repeat_n)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `repeat().take()` can be written more concisely [INFO] [stdout] --> src/office.rs:22:43 [INFO] [stdout] | [INFO] [stdout] 22 | let unoccupied_desks: Vec = iter::repeat(Desk { is_occupied: false }) [INFO] [stdout] | ___________________________________________^ [INFO] [stdout] 23 | | .take(width * height - number_of_occupied_desks) [INFO] [stdout] | |____________________________________________________________^ help: consider using `repeat_n()` instead: `std::iter::repeat_n(Desk { is_occupied: false }, width * height - number_of_occupied_desks)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_repeat_n [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:35:39 [INFO] [stdout] | [INFO] [stdout] 35 | let stats: Stats = stats_for_p(p, ¶ms, navigator); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/main.rs:35:39 [INFO] [stdout] | [INFO] [stdout] 35 | let stats: Stats = stats_for_p(p, ¶ms, navigator); [INFO] [stdout] | ^^^^^^^ help: change this to: `params` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.67s [INFO] running `Command { std: "docker" "inspect" "b3cab5b636f9ab7ded30f57aff558488917cafa2e99233be1018b73a494b1288", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b3cab5b636f9ab7ded30f57aff558488917cafa2e99233be1018b73a494b1288", kill_on_drop: false }` [INFO] [stdout] b3cab5b636f9ab7ded30f57aff558488917cafa2e99233be1018b73a494b1288