[INFO] cloning repository https://github.com/Raion207/rust_robot [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Raion207/rust_robot" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRaion207%2Frust_robot", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRaion207%2Frust_robot'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 5cf4c14df87b6d66bf2a05ca675f0120c97917c5 [INFO] linting Raion207/rust_robot against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRaion207%2Frust_robot" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/Raion207/rust_robot [INFO] finished tweaking git repo https://github.com/Raion207/rust_robot [INFO] tweaked toml for git repo https://github.com/Raion207/rust_robot written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Raion207/rust_robot 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/Raion207/rust_robot 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] Downloading crates ... [INFO] [stderr] Downloaded rand_xorshift v0.3.0 [INFO] [stderr] Downloaded noise v0.9.0 [INFO] [stderr] Downloaded colored v2.1.0 [INFO] [stderr] Downloaded getrandom v0.2.12 [INFO] [stderr] Downloaded either v1.10.0 [INFO] [stderr] Downloaded num-traits v0.2.18 [INFO] [stderr] Downloaded crossbeam-utils v0.8.19 [INFO] [stderr] Downloaded crossbeam-deque v0.8.5 [INFO] [stderr] Downloaded rayon-core v1.12.1 [INFO] [stderr] Downloaded autocfg v1.2.0 [INFO] [stderr] Downloaded rayon v1.10.0 [INFO] [stderr] Downloaded libc v0.2.153 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] 0edc7eb9585b766c31317bcc689983486c42a4868a7769574f6fea91ce0e2e94 [INFO] running `Command { std: "docker" "start" "-a" "0edc7eb9585b766c31317bcc689983486c42a4868a7769574f6fea91ce0e2e94", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0edc7eb9585b766c31317bcc689983486c42a4868a7769574f6fea91ce0e2e94", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0edc7eb9585b766c31317bcc689983486c42a4868a7769574f6fea91ce0e2e94", kill_on_drop: false }` [INFO] [stdout] 0edc7eb9585b766c31317bcc689983486c42a4868a7769574f6fea91ce0e2e94 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] b7a4ac8c03764ed67c6c877430fe3b4d37a545e8178627787011e3730143919d [INFO] running `Command { std: "docker" "start" "-a" "b7a4ac8c03764ed67c6c877430fe3b4d37a545e8178627787011e3730143919d", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.153 [INFO] [stderr] Compiling autocfg v1.2.0 [INFO] [stderr] Compiling crossbeam-utils v0.8.19 [INFO] [stderr] Compiling rayon-core v1.12.1 [INFO] [stderr] Checking ppv-lite86 v0.2.17 [INFO] [stderr] Compiling parking_lot_core v0.9.9 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Checking either v1.10.0 [INFO] [stderr] Checking colored v2.1.0 [INFO] [stderr] Compiling lock_api v0.4.11 [INFO] [stderr] Compiling num-traits v0.2.18 [INFO] [stderr] Checking getrandom v0.2.12 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Checking parking_lot v0.12.1 [INFO] [stderr] Checking crossbeam-deque v0.8.5 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand_xorshift v0.3.0 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Checking noise v0.9.0 [INFO] [stderr] Checking robot_map v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `SeedableRng as _` [INFO] [stdout] --> src/station.rs:5:35 [INFO] [stdout] | [INFO] [stdout] 5 | use rand::{rngs::StdRng, Rng, SeedableRng as _}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `id` is never read [INFO] [stdout] --> src/robot.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct Robot { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 33 | id: u32, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/map.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / pub mod map { [INFO] [stdout] 2 | | use std::collections::HashSet; [INFO] [stdout] 3 | | [INFO] [stdout] 4 | | use parking_lot::Mutex; [INFO] [stdout] ... | [INFO] [stdout] 195 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] = note: `#[warn(clippy::module_inception)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/map.rs:97:24 [INFO] [stdout] | [INFO] [stdout] 97 | obstacles: &Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 97 - obstacles: &Vec, [INFO] [stdout] 97 + obstacles: &[Obstacle], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/map.rs:171:46 [INFO] [stdout] | [INFO] [stdout] 171 | let unique_ids = generate_unique_ids(&_rng, INITIAL_ROBOTS_COUNT); [INFO] [stdout] | ^^^^^ help: change this to: `_rng` [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: module has the same name as its containing module [INFO] [stdout] --> src/renderer.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / pub mod renderer { [INFO] [stdout] 2 | | use colored::Colorize; [INFO] [stdout] 3 | | use std::process::Command; [INFO] [stdout] ... | [INFO] [stdout] 39 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/robot.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / pub mod robot { [INFO] [stdout] 2 | | use std::collections::HashSet; [INFO] [stdout] 3 | | [INFO] [stdout] 4 | | use crate::{ [INFO] [stdout] ... | [INFO] [stdout] 109 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/robot.rs:100:16 [INFO] [stdout] | [INFO] [stdout] 100 | if !obstacles [INFO] [stdout] | ________________^ [INFO] [stdout] 101 | | .iter() [INFO] [stdout] 102 | | .find(|&&(obs_x, obs_y, _)| (obs_x, obs_y) == (new_x, new_y)) [INFO] [stdout] 103 | | .is_some() [INFO] [stdout] | |__________________________^ [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] help: try [INFO] [stdout] | [INFO] [stdout] 100 ~ if obstacles [INFO] [stdout] 101 + .iter() [INFO] [stdout] 102 + .find(|&&(obs_x, obs_y, _)| (obs_x, obs_y) == (new_x, new_y)).is_none() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `id` is never read [INFO] [stdout] --> src/robot.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct Robot { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 33 | id: u32, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> src/robot.rs:63:24 [INFO] [stdout] | [INFO] [stdout] 63 | resources: &mut Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 63 - resources: &mut Vec, [INFO] [stdout] 63 + resources: &mut [Resource], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/robot.rs:64:24 [INFO] [stdout] | [INFO] [stdout] 64 | obstacles: &Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 64 - obstacles: &Vec, [INFO] [stdout] 64 + obstacles: &[Obstacle], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/map.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / pub mod map { [INFO] [stdout] 2 | | use std::collections::HashSet; [INFO] [stdout] 3 | | [INFO] [stdout] 4 | | use parking_lot::Mutex; [INFO] [stdout] ... | [INFO] [stdout] 195 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] = note: `#[warn(clippy::module_inception)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/shared.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / pub mod shared { [INFO] [stdout] 2 | | use std::collections::HashSet; [INFO] [stdout] 3 | | [INFO] [stdout] 4 | | use parking_lot::Mutex; [INFO] [stdout] ... | [INFO] [stdout] 44 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/simulation.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / pub mod simulation { [INFO] [stdout] 2 | | use std::time::{Duration, Instant}; [INFO] [stdout] 3 | | [INFO] [stdout] 4 | | use crate::{map::map::generate_map, renderer::renderer::render_map}; [INFO] [stdout] ... | [INFO] [stdout] 71 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/map.rs:97:24 [INFO] [stdout] | [INFO] [stdout] 97 | obstacles: &Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 97 - obstacles: &Vec, [INFO] [stdout] 97 + obstacles: &[Obstacle], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/simulation.rs:47:25 [INFO] [stdout] | [INFO] [stdout] 47 | &map.get_obstacles(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: change this to: `map.get_obstacles()` [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/simulation.rs:53:25 [INFO] [stdout] | [INFO] [stdout] 53 | &map.get_obstacles(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: change this to: `map.get_obstacles()` [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/simulation.rs:54:25 [INFO] [stdout] | [INFO] [stdout] 54 | &map.get_station(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: change this to: `map.get_station()` [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: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/simulation.rs:62:17 [INFO] [stdout] | [INFO] [stdout] 62 | / match map.get_station().create_robots_if_able(&_rng) { [INFO] [stdout] 63 | | Some(new_robots) => { [INFO] [stdout] 64 | | map.get_robots().lock().extend(new_robots); [INFO] [stdout] ... | [INFO] [stdout] 67 | | } [INFO] [stdout] | |_________________^ [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] help: try [INFO] [stdout] | [INFO] [stdout] 62 ~ if let Some(new_robots) = map.get_station().create_robots_if_able(&_rng) { [INFO] [stdout] 63 + map.get_robots().lock().extend(new_robots); [INFO] [stdout] 64 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/station.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / pub mod station { [INFO] [stdout] 2 | | use std::collections::HashSet; [INFO] [stdout] 3 | | [INFO] [stdout] 4 | | use parking_lot::Mutex; [INFO] [stdout] ... | [INFO] [stdout] 161 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/map.rs:171:46 [INFO] [stdout] | [INFO] [stdout] 171 | let unique_ids = generate_unique_ids(&_rng, INITIAL_ROBOTS_COUNT); [INFO] [stdout] | ^^^^^ help: change this to: `_rng` [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: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/station.rs:51:48 [INFO] [stdout] | [INFO] [stdout] 51 | if !discovered_coords.contains(&coord) { [INFO] [stdout] | ^^^^^^ help: change this to: `coord` [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: module has the same name as its containing module [INFO] [stdout] --> src/renderer.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / pub mod renderer { [INFO] [stdout] 2 | | use colored::Colorize; [INFO] [stdout] 3 | | use std::process::Command; [INFO] [stdout] ... | [INFO] [stdout] 39 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/robot.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / pub mod robot { [INFO] [stdout] 2 | | use std::collections::HashSet; [INFO] [stdout] 3 | | [INFO] [stdout] 4 | | use crate::{ [INFO] [stdout] ... | [INFO] [stdout] 109 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/robot.rs:100:16 [INFO] [stdout] | [INFO] [stdout] 100 | if !obstacles [INFO] [stdout] | ________________^ [INFO] [stdout] 101 | | .iter() [INFO] [stdout] 102 | | .find(|&&(obs_x, obs_y, _)| (obs_x, obs_y) == (new_x, new_y)) [INFO] [stdout] 103 | | .is_some() [INFO] [stdout] | |__________________________^ [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] help: try [INFO] [stdout] | [INFO] [stdout] 100 ~ if obstacles [INFO] [stdout] 101 + .iter() [INFO] [stdout] 102 + .find(|&&(obs_x, obs_y, _)| (obs_x, obs_y) == (new_x, new_y)).is_none() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> src/robot.rs:63:24 [INFO] [stdout] | [INFO] [stdout] 63 | resources: &mut Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 63 - resources: &mut Vec, [INFO] [stdout] 63 + resources: &mut [Resource], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do [INFO] [stdout] --> src/robot.rs:64:24 [INFO] [stdout] | [INFO] [stdout] 64 | obstacles: &Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 64 - obstacles: &Vec, [INFO] [stdout] 64 + obstacles: &[Obstacle], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/shared.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / pub mod shared { [INFO] [stdout] 2 | | use std::collections::HashSet; [INFO] [stdout] 3 | | [INFO] [stdout] 4 | | use parking_lot::Mutex; [INFO] [stdout] ... | [INFO] [stdout] 44 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/simulation.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / pub mod simulation { [INFO] [stdout] 2 | | use std::time::{Duration, Instant}; [INFO] [stdout] 3 | | [INFO] [stdout] 4 | | use crate::{map::map::generate_map, renderer::renderer::render_map}; [INFO] [stdout] ... | [INFO] [stdout] 71 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/simulation.rs:47:25 [INFO] [stdout] | [INFO] [stdout] 47 | &map.get_obstacles(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: change this to: `map.get_obstacles()` [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/simulation.rs:53:25 [INFO] [stdout] | [INFO] [stdout] 53 | &map.get_obstacles(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: change this to: `map.get_obstacles()` [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/simulation.rs:54:25 [INFO] [stdout] | [INFO] [stdout] 54 | &map.get_station(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: change this to: `map.get_station()` [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: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/simulation.rs:62:17 [INFO] [stdout] | [INFO] [stdout] 62 | / match map.get_station().create_robots_if_able(&_rng) { [INFO] [stdout] 63 | | Some(new_robots) => { [INFO] [stdout] 64 | | map.get_robots().lock().extend(new_robots); [INFO] [stdout] ... | [INFO] [stdout] 67 | | } [INFO] [stdout] | |_________________^ [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] help: try [INFO] [stdout] | [INFO] [stdout] 62 ~ if let Some(new_robots) = map.get_station().create_robots_if_able(&_rng) { [INFO] [stdout] 63 + map.get_robots().lock().extend(new_robots); [INFO] [stdout] 64 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module has the same name as its containing module [INFO] [stdout] --> src/station.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | / pub mod station { [INFO] [stdout] 2 | | use std::collections::HashSet; [INFO] [stdout] 3 | | [INFO] [stdout] 4 | | use parking_lot::Mutex; [INFO] [stdout] ... | [INFO] [stdout] 161 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/station.rs:51:48 [INFO] [stdout] | [INFO] [stdout] 51 | if !discovered_coords.contains(&coord) { [INFO] [stdout] | ^^^^^^ help: change this to: `coord` [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 5.64s [INFO] running `Command { std: "docker" "inspect" "b7a4ac8c03764ed67c6c877430fe3b4d37a545e8178627787011e3730143919d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b7a4ac8c03764ed67c6c877430fe3b4d37a545e8178627787011e3730143919d", kill_on_drop: false }` [INFO] [stdout] b7a4ac8c03764ed67c6c877430fe3b4d37a545e8178627787011e3730143919d