[INFO] cloning repository https://github.com/ihawn/MazeCruncher [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ihawn/MazeCruncher" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fihawn%2FMazeCruncher", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fihawn%2FMazeCruncher'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 81e2b4b81b8934ee005b16b64e2755b5931cb697 [INFO] linting ihawn/MazeCruncher against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fihawn%2FMazeCruncher" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/ihawn/MazeCruncher [INFO] finished tweaking git repo https://github.com/ihawn/MazeCruncher [INFO] tweaked toml for git repo https://github.com/ihawn/MazeCruncher written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/ihawn/MazeCruncher 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/ihawn/MazeCruncher 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 xcursor v0.3.3 [INFO] [stderr] Downloaded ux v0.1.3 [INFO] [stderr] Downloaded xkb v0.2.1 [INFO] [stderr] Downloaded xkbcommon-sys v0.7.5 [INFO] [stderr] Downloaded queues v1.1.0 [INFO] [stderr] Downloaded wasm-bindgen-macro v0.2.76 [INFO] [stderr] Downloaded wasm-bindgen-shared v0.2.76 [INFO] [stderr] Downloaded wasm-bindgen-backend v0.2.76 [INFO] [stderr] Downloaded wasm-bindgen-macro-support v0.2.76 [INFO] [stderr] Downloaded minifb v0.19.3 [INFO] [stderr] Downloaded js-sys v0.3.53 [INFO] [stderr] Downloaded nom v6.2.1 [INFO] [stderr] Downloaded wasm-bindgen v0.2.76 [INFO] [stderr] Downloaded syn v1.0.75 [INFO] [stderr] Downloaded ndarray v0.15.3 [INFO] [stderr] Downloaded libc v0.2.100 [INFO] [stderr] Downloaded web-sys v0.3.53 [INFO] [stderr] Downloaded orbclient v0.3.31 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 085daa8b8f8e63e0b48b64b0b2675e66429ac71b458c0856b4e362782aeba3a1 [INFO] running `Command { std: "docker" "start" "-a" "085daa8b8f8e63e0b48b64b0b2675e66429ac71b458c0856b4e362782aeba3a1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "085daa8b8f8e63e0b48b64b0b2675e66429ac71b458c0856b4e362782aeba3a1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "085daa8b8f8e63e0b48b64b0b2675e66429ac71b458c0856b4e362782aeba3a1", kill_on_drop: false }` [INFO] [stdout] 085daa8b8f8e63e0b48b64b0b2675e66429ac71b458c0856b4e362782aeba3a1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 6d403c0028865759113e040aa2cd07a4365d94e69b47a4d2bb795af5473e53ff [INFO] running `Command { std: "docker" "start" "-a" "6d403c0028865759113e040aa2cd07a4365d94e69b47a4d2bb795af5473e53ff", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.100 [INFO] [stderr] Compiling memchr v2.3.4 [INFO] [stderr] Compiling proc-macro2 v1.0.28 [INFO] [stderr] Compiling memoffset v0.6.4 [INFO] [stderr] Compiling crossbeam-utils v0.8.5 [INFO] [stderr] Compiling glob v0.3.0 [INFO] [stderr] Compiling nom v5.1.2 [INFO] [stderr] Compiling xml-rs v0.8.4 [INFO] [stderr] Compiling log v0.4.14 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling crossbeam-epoch v0.9.5 [INFO] [stderr] Compiling regex-syntax v0.6.25 [INFO] [stderr] Compiling clang-sys v1.2.0 [INFO] [stderr] Compiling unicode-width v0.1.8 [INFO] [stderr] Compiling aho-corasick v0.7.15 [INFO] [stderr] Compiling textwrap v0.11.0 [INFO] [stderr] Compiling quote v1.0.9 [INFO] [stderr] Compiling libloading v0.7.0 [INFO] [stderr] Compiling wayland-scanner v0.28.6 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling wayland-sys v0.28.6 [INFO] [stderr] Compiling termcolor v1.1.2 [INFO] [stderr] Compiling rayon-core v1.9.1 [INFO] [stderr] Compiling ansi_term v0.11.0 [INFO] [stderr] Compiling strsim v0.8.0 [INFO] [stderr] Compiling vec_map v0.8.2 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling humantime v2.1.0 [INFO] [stderr] Compiling bindgen v0.56.0 [INFO] [stderr] Compiling clap v2.33.3 [INFO] [stderr] Compiling which v3.1.1 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling peeking_take_while v0.1.2 [INFO] [stderr] Compiling shlex v0.1.1 [INFO] [stderr] Checking crossbeam-deque v0.8.1 [INFO] [stderr] Checking getrandom v0.2.3 [INFO] [stderr] Checking nix v0.20.1 [INFO] [stderr] Checking num_cpus v1.13.0 [INFO] [stderr] Checking crossbeam-channel v0.5.1 [INFO] [stderr] Compiling regex v1.4.6 [INFO] [stderr] Compiling wayland-client v0.28.6 [INFO] [stderr] Compiling cexpr v0.4.0 [INFO] [stderr] Compiling nom v6.2.1 [INFO] [stderr] Compiling rayon v1.5.1 [INFO] [stderr] Checking rand_core v0.6.3 [INFO] [stderr] Compiling miniz_oxide v0.4.4 [INFO] [stderr] Compiling env_logger v0.8.4 [INFO] [stderr] Compiling crc32fast v1.2.1 [INFO] [stderr] Checking downcast-rs v1.2.0 [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Checking adler32 v1.2.0 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Compiling wayland-protocols v0.28.6 [INFO] [stderr] Compiling x11-dl v2.18.5 [INFO] [stderr] Compiling num-rational v0.3.2 [INFO] [stderr] Compiling num-iter v0.1.42 [INFO] [stderr] Compiling cc v1.0.69 [INFO] [stderr] Checking weezl v0.1.5 [INFO] [stderr] Checking deflate v0.8.6 [INFO] [stderr] Checking jpeg-decoder v0.1.22 [INFO] [stderr] Checking wayland-commons v0.28.6 [INFO] [stderr] Checking xcursor v0.3.3 [INFO] [stderr] Checking rand v0.8.4 [INFO] [stderr] Compiling minifb v0.19.3 [INFO] [stderr] Checking miniz_oxide v0.3.7 [INFO] [stderr] Checking gif v0.11.2 [INFO] [stderr] Checking matrixmultiply v0.3.1 [INFO] [stderr] Checking tiff v0.6.1 [INFO] [stderr] Checking png v0.16.8 [INFO] [stderr] Checking tempfile v3.2.0 [INFO] [stderr] Checking num-complex v0.4.0 [INFO] [stderr] Checking raw-window-handle v0.3.3 [INFO] [stderr] Checking scoped_threadpool v0.1.9 [INFO] [stderr] Checking bytemuck v1.7.2 [INFO] [stderr] Checking queues v1.1.0 [INFO] [stderr] Checking wayland-cursor v0.28.6 [INFO] [stderr] Checking ux v0.1.3 [INFO] [stderr] Checking image v0.23.14 [INFO] [stderr] Checking ndarray v0.15.3 [INFO] [stderr] Compiling xkbcommon-sys v0.7.5 [INFO] [stderr] Checking xkb v0.2.1 [INFO] [stderr] Checking maze_cruncher v1.10.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/prim.rs:61:17 [INFO] [stdout] | [INFO] [stdout] 61 | x: x, [INFO] [stdout] | ^^^^ help: replace it with: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/prim.rs:62:17 [INFO] [stdout] | [INFO] [stdout] 62 | y: y, [INFO] [stdout] | ^^^^ help: replace it with: `y` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/huntkill.rs:16:80 [INFO] [stdout] | [INFO] [stdout] 16 | visited_list.push(HuntNode {id: rand::thread_rng().gen_range(0..u64::MAX), x: x, y: y}); [INFO] [stdout] | ^^^^ help: replace it with: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/huntkill.rs:16:86 [INFO] [stdout] | [INFO] [stdout] 16 | visited_list.push(HuntNode {id: rand::thread_rng().gen_range(0..u64::MAX), x: x, y: y}); [INFO] [stdout] | ^^^^ help: replace it with: `y` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/huntkill.rs:105:90 [INFO] [stdout] | [INFO] [stdout] 105 | visited_list.push(HuntNode {id: rand::thread_rng().gen_range(0..u64::MAX), x: x, y: y-2})}, [INFO] [stdout] | ^^^^ help: replace it with: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/huntkill.rs:111:98 [INFO] [stdout] | [INFO] [stdout] 111 | visited_list.push(HuntNode {id: rand::thread_rng().gen_range(0..u64::MAX), x: x+2, y: y})}, [INFO] [stdout] | ^^^^ help: replace it with: `y` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/huntkill.rs:117:90 [INFO] [stdout] | [INFO] [stdout] 117 | visited_list.push(HuntNode {id: rand::thread_rng().gen_range(0..u64::MAX), x: x, y: y+2})}, [INFO] [stdout] | ^^^^ help: replace it with: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/huntkill.rs:123:98 [INFO] [stdout] | [INFO] [stdout] 123 | visited_list.push(HuntNode {id: rand::thread_rng().gen_range(0..u64::MAX), x: x-2, y: y})}, [INFO] [stdout] | ^^^^ help: replace it with: `y` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/prim.rs:61:17 [INFO] [stdout] | [INFO] [stdout] 61 | x: x, [INFO] [stdout] | ^^^^ help: replace it with: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/prim.rs:62:17 [INFO] [stdout] | [INFO] [stdout] 62 | y: y, [INFO] [stdout] | ^^^^ help: replace it with: `y` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/huntkill.rs:16:80 [INFO] [stdout] | [INFO] [stdout] 16 | visited_list.push(HuntNode {id: rand::thread_rng().gen_range(0..u64::MAX), x: x, y: y}); [INFO] [stdout] | ^^^^ help: replace it with: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/huntkill.rs:16:86 [INFO] [stdout] | [INFO] [stdout] 16 | visited_list.push(HuntNode {id: rand::thread_rng().gen_range(0..u64::MAX), x: x, y: y}); [INFO] [stdout] | ^^^^ help: replace it with: `y` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/huntkill.rs:105:90 [INFO] [stdout] | [INFO] [stdout] 105 | visited_list.push(HuntNode {id: rand::thread_rng().gen_range(0..u64::MAX), x: x, y: y-2})}, [INFO] [stdout] | ^^^^ help: replace it with: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/huntkill.rs:111:98 [INFO] [stdout] | [INFO] [stdout] 111 | visited_list.push(HuntNode {id: rand::thread_rng().gen_range(0..u64::MAX), x: x+2, y: y})}, [INFO] [stdout] | ^^^^ help: replace it with: `y` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/huntkill.rs:117:90 [INFO] [stdout] | [INFO] [stdout] 117 | visited_list.push(HuntNode {id: rand::thread_rng().gen_range(0..u64::MAX), x: x, y: y+2})}, [INFO] [stdout] | ^^^^ help: replace it with: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> src/huntkill.rs:123:98 [INFO] [stdout] | [INFO] [stdout] 123 | visited_list.push(HuntNode {id: rand::thread_rng().gen_range(0..u64::MAX), x: x-2, y: y})}, [INFO] [stdout] | ^^^^ help: replace it with: `y` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/generate.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn generate_and_solve(mut size: usize, gen_algo: usize, algo: usize, decimation: usize, show_animation: bool, anim_scale: usize, anim_speed_mult: usize, save_maze: bool) [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: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/generate.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | if size % 2 == 0 [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace with: `size.is_multiple_of(2)` [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: unneeded late initialization [INFO] [stdout] --> src/generate.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | let t: (Vec>, Window); [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 `t` here and remove the assignments from the `match` arms [INFO] [stdout] | [INFO] [stdout] 30 ~ [INFO] [stdout] 31 ~ let t: (Vec>, Window) = match gen_algo [INFO] [stdout] 32 | { [INFO] [stdout] 33 ~ 1 => crate::growing_tree::growing_tree(window, buff_size, m, size, show_animation, anim_speed_mult), [INFO] [stdout] 34 ~ 2 => crate::kruskal::kruskal(window, buff_size, m, size, show_animation, anim_speed_mult), [INFO] [stdout] 35 ~ 3 => crate::prim::prim(window, buff_size, m, size, show_animation, anim_speed_mult), [INFO] [stdout] 36 ~ 4 => crate::huntkill::hunt_and_kill(window, buff_size, m, size, show_animation, anim_speed_mult), [INFO] [stdout] 37 ~ 5 => crate::binarytree::binary_tree(window, buff_size, m, size, show_animation, anim_speed_mult), [INFO] [stdout] 38 ~ _ => crate::growing_tree::growing_tree(window, buff_size, m, size, show_animation, anim_speed_mult) [INFO] [stdout] 39 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/generate.rs:68:13 [INFO] [stdout] | [INFO] [stdout] 68 | / ... if (mtx[i-1][j] == u8::MAX && mtx[i+1][j] == u8::MAX && mtx[i][j-1] != u8::MAX && mtx[i][j+1] != u8::MAX) || [INFO] [stdout] 69 | | ... (mtx[i][j-1] == u8::MAX && mtx[i][j+1] == u8::MAX && mtx[i-1][j] != u8::MAX && mtx[i+1][j] != u8::MAX) [INFO] [stdout] 70 | | ... { [INFO] [stdout] 71 | | ... if rand::thread_rng().gen_range(0..100) < factor && rand::thread_rng().gen_range(0..100) < factor //Probability of makin... [INFO] [stdout] ... | [INFO] [stdout] 75 | | ... } [INFO] [stdout] | |_______^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 68 ~ if ((mtx[i-1][j] == u8::MAX && mtx[i+1][j] == u8::MAX && mtx[i][j-1] != u8::MAX && mtx[i][j+1] != u8::MAX) || [INFO] [stdout] 69 ~ (mtx[i][j-1] == u8::MAX && mtx[i][j+1] == u8::MAX && mtx[i-1][j] != u8::MAX && mtx[i+1][j] != u8::MAX) [INFO] [stdout] 70 ~ (mtx[i][j-1] == u8::MAX && mtx[i][j+1] == u8::MAX && mtx[i-1][j] != u8::MAX && mtx[i+1][j] != u8::MAX)) [INFO] [stdout] 71 | { [INFO] [stdout] 72 ~ && rand::thread_rng().gen_range(0..100) < factor && rand::thread_rng().gen_range(0..100) < factor //Probability of making a wall a coridor [INFO] [stdout] 73 | { [INFO] [stdout] 74 | mtx[i][j] = 0; [INFO] [stdout] 75 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/solve.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn solve_maze(mut window: Window, buff_size: usize, mtx: Vec>, size: usize, algo: usize, show_animation: bool, anim_speed_mult: usize, save_maze: bool) [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] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/utils.rs:51:26 [INFO] [stdout] | [INFO] [stdout] 51 | if show_animation && counter % anim_speed_mult as u128 == 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `counter.is_multiple_of(anim_speed_mult as u128)` [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: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/utils.rs:63:16 [INFO] [stdout] | [INFO] [stdout] 63 | if n%(size) == 0 [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace with: `n.is_multiple_of((size))` [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: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/utils.rs:93:8 [INFO] [stdout] | [INFO] [stdout] 93 | if counter%(itt/100) == 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `counter.is_multiple_of(itt / 100)` [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: the loop variable `x` is only used to index `mtx` [INFO] [stdout] --> src/utils.rs:118:14 [INFO] [stdout] | [INFO] [stdout] 118 | for x in sx..ex+1 [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 118 - for x in sx..ex+1 [INFO] [stdout] 118 + for in mtx.iter_mut().take(ex+1).skip(sx) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `y` is only used to index `mtx` [INFO] [stdout] --> src/utils.rs:123:14 [INFO] [stdout] | [INFO] [stdout] 123 | for y in sy..ey+1 [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 123 - for y in sy..ey+1 [INFO] [stdout] 123 + for in mtx.iter_mut().take(ey+1).skip(sy) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/kruskal.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 40 | if edge.x % 2 == 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: replace with: `edge.x.is_multiple_of(2)` [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/kruskal.rs:87:179 [INFO] [stdout] | [INFO] [stdout] 87 | ...size), edge_pt: (usize, usize)) -> (Vec>, Vec>, Vec>) [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: attempt to mutate range bound within loop [INFO] [stdout] --> src/kruskal.rs:139:9 [INFO] [stdout] | [INFO] [stdout] 139 | p = p%2 + 1; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: the range of the loop is unchanged [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mut_range_bound [INFO] [stdout] = note: `#[warn(clippy::mut_range_bound)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `perm` [INFO] [stdout] --> src/prim.rs:53:14 [INFO] [stdout] | [INFO] [stdout] 53 | for i in 0..4 [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 53 - for i in 0..4 [INFO] [stdout] 53 + for in perm.iter().take(4) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/huntkill.rs:96:1 [INFO] [stdout] | [INFO] [stdout] 96 | fn travel_rand(mut visited_list: BinaryHeap, mut mtx: Vec>, x: usize, y: usize, n: usize, travel: Vec, mut x_list: Vec, mut y_list: Vec) -> (BinaryHeap, Vec>, Vec, Vec) [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] [INFO] [stdout] [INFO] [stdout] warning: casting the result of `i32::abs()` to u16 [INFO] [stdout] --> src/algo_astar.rs:190:20 [INFO] [stdout] | [INFO] [stdout] 190 | let diff = (nodes[node_count-1].node.y as i32 - nodes[node_count].node.y as i32).abs() as u16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `(nodes[node_count-1].node.y as i32 - nodes[node_count].node.y as i32).unsigned_abs()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_abs_to_unsigned [INFO] [stdout] = note: `#[warn(clippy::cast_abs_to_unsigned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting the result of `i32::abs()` to u16 [INFO] [stdout] --> src/algo_astar.rs:202:20 [INFO] [stdout] | [INFO] [stdout] 202 | let diff = (nodes[node_count-1].node.x as i32 - n2.x as i32).abs() as u16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `(nodes[node_count-1].node.x as i32 - n2.x as i32).unsigned_abs()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_abs_to_unsigned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `mtx` [INFO] [stdout] --> src/algo_astar.rs:220:14 [INFO] [stdout] | [INFO] [stdout] 220 | for i in n2.node.y..n1.node.y [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 220 - for i in n2.node.y..n1.node.y [INFO] [stdout] 220 + for in mtx.iter().take(n1.node.y).skip(n2.node.y) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `mtx` [INFO] [stdout] --> src/algo_astar.rs:231:14 [INFO] [stdout] | [INFO] [stdout] 231 | for i in n1.node.x..n2.node.x [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 231 - for i in n1.node.x..n2.node.x [INFO] [stdout] 231 + for in mtx.iter().take(n2.node.x).skip(n1.node.x) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the variable `t` is used as a loop counter [INFO] [stdout] --> src/algo_dijkstra.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 47 | for c in current.connected [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `for (t, c) in current.connected.into_iter().enumerate()` [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: casting the result of `i32::abs()` to u16 [INFO] [stdout] --> src/algo_dijkstra.rs:175:20 [INFO] [stdout] | [INFO] [stdout] 175 | let diff = (nodes[node_count-1].node.y as i32 - nodes[node_count].node.y as i32).abs() as u16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `(nodes[node_count-1].node.y as i32 - nodes[node_count].node.y as i32).unsigned_abs()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_abs_to_unsigned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting the result of `i32::abs()` to u16 [INFO] [stdout] --> src/algo_dijkstra.rs:187:20 [INFO] [stdout] | [INFO] [stdout] 187 | let diff = (nodes[node_count-1].node.x as i32 - n2.x as i32).abs() as u16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `(nodes[node_count-1].node.x as i32 - n2.x as i32).unsigned_abs()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_abs_to_unsigned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `mtx` [INFO] [stdout] --> src/algo_dijkstra.rs:205:14 [INFO] [stdout] | [INFO] [stdout] 205 | for i in n2.node.y..n1.node.y [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 205 - for i in n2.node.y..n1.node.y [INFO] [stdout] 205 + for in mtx.iter().take(n1.node.y).skip(n2.node.y) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `mtx` [INFO] [stdout] --> src/algo_dijkstra.rs:216:14 [INFO] [stdout] | [INFO] [stdout] 216 | for i in n1.node.x..n2.node.x [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 216 - for i in n1.node.x..n2.node.x [INFO] [stdout] 216 + for in mtx.iter().take(n2.node.x).skip(n1.node.x) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `children` [INFO] [stdout] --> src/algo_bfs.rs:98:14 [INFO] [stdout] | [INFO] [stdout] 98 | for i in 0..children.len() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 98 - for i in 0..children.len() [INFO] [stdout] 98 + for in &mut children [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `mtx` [INFO] [stdout] --> src/algo_bfs.rs:111:14 [INFO] [stdout] | [INFO] [stdout] 111 | for i in 0..size [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 111 - for i in 0..size [INFO] [stdout] 111 + for (i, ) in mtx.iter().enumerate().take(size) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is used to index `mtx` [INFO] [stdout] --> src/algo_bfs.rs:114:18 [INFO] [stdout] | [INFO] [stdout] 114 | for j in 0..size [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 114 - for j in 0..size [INFO] [stdout] 114 + for (j, ) in mtx.iter().enumerate().take(size) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/algo_def.rs:28:16 [INFO] [stdout] | [INFO] [stdout] 28 | if !(i == start_x && j == start_y) && !(i == end_x && j == end_y) && mtx[i][j] != u8::MAX && get_children(&mtx, (i,j)).l... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `!(i == start_x && j == start_y || i == end_x && j == end_y)` [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: unneeded late initialization [INFO] [stdout] --> src/algo_doubleastar.rs:62:13 [INFO] [stdout] | [INFO] [stdout] 62 | let node: DoubleMazeNode; [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] help: move the declaration `node` here and remove the assignments from the branches [INFO] [stdout] | [INFO] [stdout] 62 ~ [INFO] [stdout] 63 ~ let node: DoubleMazeNode = if top_first { current2 } [INFO] [stdout] 64 ~ else { current1 }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting the result of `i32::abs()` to usize [INFO] [stdout] --> src/algo_doubleastar.rs:96:56 [INFO] [stdout] | [INFO] [stdout] 96 | ... - (current1.x as i32 - current2.x as i32).abs() as usize, size - (current1.y as i32 - current2.y as i32).abs() as usize, size, "... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `(current1.x as i32 - current2.x as i32).unsigned_abs()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_abs_to_unsigned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting the result of `i32::abs()` to usize [INFO] [stdout] --> src/algo_doubleastar.rs:96:119 [INFO] [stdout] | [INFO] [stdout] 96 | ... - (current1.y as i32 - current2.y as i32).abs() as usize, size, "A*"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `(current1.y as i32 - current2.y as i32).unsigned_abs()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_abs_to_unsigned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/algo_doubleastar.rs:110:219 [INFO] [stdout] | [INFO] [stdout] 110 | ...ce: u8) -> (Vec>, Vec>, BinaryHeap, DoubleMazeNode, DoubleMazeNode, bool) [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: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/algo_doubleastar.rs:132:41 [INFO] [stdout] | [INFO] [stdout] 132 | ...ldren[i].g + crate::utils::euclidean(children[i].x, other_current.x, children[i].y, other_current.y) as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `crate::utils::euclidean(children[i].x, other_current.x, children[i].y, other_current.y)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `mtx` [INFO] [stdout] --> src/algo_doubleastar.rs:147:14 [INFO] [stdout] | [INFO] [stdout] 147 | for i in 0..size [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 147 - for i in 0..size [INFO] [stdout] 147 + for (i, ) in mtx.iter().enumerate().take(size) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is used to index `mtx` [INFO] [stdout] --> src/algo_doubleastar.rs:150:18 [INFO] [stdout] | [INFO] [stdout] 150 | for j in 0..size [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 150 - for j in 0..size [INFO] [stdout] 150 + for (j, ) in mtx.iter().enumerate().take(size) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `children` [INFO] [stdout] --> src/algo_doubleastar.rs:183:14 [INFO] [stdout] | [INFO] [stdout] 183 | for i in 0..children.len() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 183 - for i in 0..children.len() [INFO] [stdout] 183 + for in &mut children [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/algo_dfs.rs:74:14 [INFO] [stdout] | [INFO] [stdout] 74 | let cx = vec!(x, x-1, x, x+1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[x, x-1, x, x+1]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] = note: `#[warn(clippy::useless_vec)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/algo_dfs.rs:75:14 [INFO] [stdout] | [INFO] [stdout] 75 | let cy = vec!(y-1, y, y+1, y); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[y-1, y, y+1, y]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/algo_dfs.rs:76:13 [INFO] [stdout] | [INFO] [stdout] 76 | let v = vec!(mtx[x][y-1], mtx[x-1][y], mtx[x][y+1], mtx[x+1][y]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[mtx[x][y-1], mtx[x-1][y], mtx[x][y+1], mtx[x+1][y]]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/algo_dfs.rs:77:13 [INFO] [stdout] | [INFO] [stdout] 77 | ... = vec!(crate::solve::Direction::Up, crate::solve::Direction::Left, crate::solve::Direction::Down, crate::solve::Direction::Right); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[crate::solve::Direction::Up, crate::solve::Direction::Left, crate::solve::Direction::Down, crate::solve::Direction::Right]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/generate.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn generate_and_solve(mut size: usize, gen_algo: usize, algo: usize, decimation: usize, show_animation: bool, anim_scale: usize, anim_speed_mult: usize, save_maze: bool) [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: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/generate.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | if size % 2 == 0 [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace with: `size.is_multiple_of(2)` [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: unneeded late initialization [INFO] [stdout] --> src/generate.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | let t: (Vec>, Window); [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 `t` here and remove the assignments from the `match` arms [INFO] [stdout] | [INFO] [stdout] 30 ~ [INFO] [stdout] 31 ~ let t: (Vec>, Window) = match gen_algo [INFO] [stdout] 32 | { [INFO] [stdout] 33 ~ 1 => crate::growing_tree::growing_tree(window, buff_size, m, size, show_animation, anim_speed_mult), [INFO] [stdout] 34 ~ 2 => crate::kruskal::kruskal(window, buff_size, m, size, show_animation, anim_speed_mult), [INFO] [stdout] 35 ~ 3 => crate::prim::prim(window, buff_size, m, size, show_animation, anim_speed_mult), [INFO] [stdout] 36 ~ 4 => crate::huntkill::hunt_and_kill(window, buff_size, m, size, show_animation, anim_speed_mult), [INFO] [stdout] 37 ~ 5 => crate::binarytree::binary_tree(window, buff_size, m, size, show_animation, anim_speed_mult), [INFO] [stdout] 38 ~ _ => crate::growing_tree::growing_tree(window, buff_size, m, size, show_animation, anim_speed_mult) [INFO] [stdout] 39 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/generate.rs:68:13 [INFO] [stdout] | [INFO] [stdout] 68 | / ... if (mtx[i-1][j] == u8::MAX && mtx[i+1][j] == u8::MAX && mtx[i][j-1] != u8::MAX && mtx[i][j+1] != u8::MAX) || [INFO] [stdout] 69 | | ... (mtx[i][j-1] == u8::MAX && mtx[i][j+1] == u8::MAX && mtx[i-1][j] != u8::MAX && mtx[i+1][j] != u8::MAX) [INFO] [stdout] 70 | | ... { [INFO] [stdout] 71 | | ... if rand::thread_rng().gen_range(0..100) < factor && rand::thread_rng().gen_range(0..100) < factor //Probability of makin... [INFO] [stdout] ... | [INFO] [stdout] 75 | | ... } [INFO] [stdout] | |_______^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 68 ~ if ((mtx[i-1][j] == u8::MAX && mtx[i+1][j] == u8::MAX && mtx[i][j-1] != u8::MAX && mtx[i][j+1] != u8::MAX) || [INFO] [stdout] 69 ~ (mtx[i][j-1] == u8::MAX && mtx[i][j+1] == u8::MAX && mtx[i-1][j] != u8::MAX && mtx[i+1][j] != u8::MAX) [INFO] [stdout] 70 ~ (mtx[i][j-1] == u8::MAX && mtx[i][j+1] == u8::MAX && mtx[i-1][j] != u8::MAX && mtx[i+1][j] != u8::MAX)) [INFO] [stdout] 71 | { [INFO] [stdout] 72 ~ && rand::thread_rng().gen_range(0..100) < factor && rand::thread_rng().gen_range(0..100) < factor //Probability of making a wall a coridor [INFO] [stdout] 73 | { [INFO] [stdout] 74 | mtx[i][j] = 0; [INFO] [stdout] 75 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/solve.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn solve_maze(mut window: Window, buff_size: usize, mtx: Vec>, size: usize, algo: usize, show_animation: bool, anim_speed_mult: usize, save_maze: bool) [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] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/utils.rs:51:26 [INFO] [stdout] | [INFO] [stdout] 51 | if show_animation && counter % anim_speed_mult as u128 == 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `counter.is_multiple_of(anim_speed_mult as u128)` [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: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/utils.rs:63:16 [INFO] [stdout] | [INFO] [stdout] 63 | if n%(size) == 0 [INFO] [stdout] | ^^^^^^^^^^^^^ help: replace with: `n.is_multiple_of((size))` [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: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/utils.rs:93:8 [INFO] [stdout] | [INFO] [stdout] 93 | if counter%(itt/100) == 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `counter.is_multiple_of(itt / 100)` [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: the loop variable `x` is only used to index `mtx` [INFO] [stdout] --> src/utils.rs:118:14 [INFO] [stdout] | [INFO] [stdout] 118 | for x in sx..ex+1 [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 118 - for x in sx..ex+1 [INFO] [stdout] 118 + for in mtx.iter_mut().take(ex+1).skip(sx) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `y` is only used to index `mtx` [INFO] [stdout] --> src/utils.rs:123:14 [INFO] [stdout] | [INFO] [stdout] 123 | for y in sy..ey+1 [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 123 - for y in sy..ey+1 [INFO] [stdout] 123 + for in mtx.iter_mut().take(ey+1).skip(sy) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/kruskal.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 40 | if edge.x % 2 == 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: replace with: `edge.x.is_multiple_of(2)` [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: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/kruskal.rs:87:179 [INFO] [stdout] | [INFO] [stdout] 87 | ...size), edge_pt: (usize, usize)) -> (Vec>, Vec>, Vec>) [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: attempt to mutate range bound within loop [INFO] [stdout] --> src/kruskal.rs:139:9 [INFO] [stdout] | [INFO] [stdout] 139 | p = p%2 + 1; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: the range of the loop is unchanged [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mut_range_bound [INFO] [stdout] = note: `#[warn(clippy::mut_range_bound)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `perm` [INFO] [stdout] --> src/prim.rs:53:14 [INFO] [stdout] | [INFO] [stdout] 53 | for i in 0..4 [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 53 - for i in 0..4 [INFO] [stdout] 53 + for in perm.iter().take(4) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/huntkill.rs:96:1 [INFO] [stdout] | [INFO] [stdout] 96 | fn travel_rand(mut visited_list: BinaryHeap, mut mtx: Vec>, x: usize, y: usize, n: usize, travel: Vec, mut x_list: Vec, mut y_list: Vec) -> (BinaryHeap, Vec>, Vec, Vec) [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] [INFO] [stdout] [INFO] [stdout] warning: casting the result of `i32::abs()` to u16 [INFO] [stdout] --> src/algo_astar.rs:190:20 [INFO] [stdout] | [INFO] [stdout] 190 | let diff = (nodes[node_count-1].node.y as i32 - nodes[node_count].node.y as i32).abs() as u16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `(nodes[node_count-1].node.y as i32 - nodes[node_count].node.y as i32).unsigned_abs()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_abs_to_unsigned [INFO] [stdout] = note: `#[warn(clippy::cast_abs_to_unsigned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting the result of `i32::abs()` to u16 [INFO] [stdout] --> src/algo_astar.rs:202:20 [INFO] [stdout] | [INFO] [stdout] 202 | let diff = (nodes[node_count-1].node.x as i32 - n2.x as i32).abs() as u16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `(nodes[node_count-1].node.x as i32 - n2.x as i32).unsigned_abs()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_abs_to_unsigned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `mtx` [INFO] [stdout] --> src/algo_astar.rs:220:14 [INFO] [stdout] | [INFO] [stdout] 220 | for i in n2.node.y..n1.node.y [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 220 - for i in n2.node.y..n1.node.y [INFO] [stdout] 220 + for in mtx.iter().take(n1.node.y).skip(n2.node.y) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `mtx` [INFO] [stdout] --> src/algo_astar.rs:231:14 [INFO] [stdout] | [INFO] [stdout] 231 | for i in n1.node.x..n2.node.x [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 231 - for i in n1.node.x..n2.node.x [INFO] [stdout] 231 + for in mtx.iter().take(n2.node.x).skip(n1.node.x) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the variable `t` is used as a loop counter [INFO] [stdout] --> src/algo_dijkstra.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 47 | for c in current.connected [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `for (t, c) in current.connected.into_iter().enumerate()` [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: casting the result of `i32::abs()` to u16 [INFO] [stdout] --> src/algo_dijkstra.rs:175:20 [INFO] [stdout] | [INFO] [stdout] 175 | let diff = (nodes[node_count-1].node.y as i32 - nodes[node_count].node.y as i32).abs() as u16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `(nodes[node_count-1].node.y as i32 - nodes[node_count].node.y as i32).unsigned_abs()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_abs_to_unsigned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting the result of `i32::abs()` to u16 [INFO] [stdout] --> src/algo_dijkstra.rs:187:20 [INFO] [stdout] | [INFO] [stdout] 187 | let diff = (nodes[node_count-1].node.x as i32 - n2.x as i32).abs() as u16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `(nodes[node_count-1].node.x as i32 - n2.x as i32).unsigned_abs()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_abs_to_unsigned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `mtx` [INFO] [stdout] --> src/algo_dijkstra.rs:205:14 [INFO] [stdout] | [INFO] [stdout] 205 | for i in n2.node.y..n1.node.y [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 205 - for i in n2.node.y..n1.node.y [INFO] [stdout] 205 + for in mtx.iter().take(n1.node.y).skip(n2.node.y) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `mtx` [INFO] [stdout] --> src/algo_dijkstra.rs:216:14 [INFO] [stdout] | [INFO] [stdout] 216 | for i in n1.node.x..n2.node.x [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 216 - for i in n1.node.x..n2.node.x [INFO] [stdout] 216 + for in mtx.iter().take(n2.node.x).skip(n1.node.x) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `children` [INFO] [stdout] --> src/algo_bfs.rs:98:14 [INFO] [stdout] | [INFO] [stdout] 98 | for i in 0..children.len() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 98 - for i in 0..children.len() [INFO] [stdout] 98 + for in &mut children [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `mtx` [INFO] [stdout] --> src/algo_bfs.rs:111:14 [INFO] [stdout] | [INFO] [stdout] 111 | for i in 0..size [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 111 - for i in 0..size [INFO] [stdout] 111 + for (i, ) in mtx.iter().enumerate().take(size) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is used to index `mtx` [INFO] [stdout] --> src/algo_bfs.rs:114:18 [INFO] [stdout] | [INFO] [stdout] 114 | for j in 0..size [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 114 - for j in 0..size [INFO] [stdout] 114 + for (j, ) in mtx.iter().enumerate().take(size) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/algo_def.rs:28:16 [INFO] [stdout] | [INFO] [stdout] 28 | if !(i == start_x && j == start_y) && !(i == end_x && j == end_y) && mtx[i][j] != u8::MAX && get_children(&mtx, (i,j)).l... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `!(i == start_x && j == start_y || i == end_x && j == end_y)` [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: unneeded late initialization [INFO] [stdout] --> src/algo_doubleastar.rs:62:13 [INFO] [stdout] | [INFO] [stdout] 62 | let node: DoubleMazeNode; [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] help: move the declaration `node` here and remove the assignments from the branches [INFO] [stdout] | [INFO] [stdout] 62 ~ [INFO] [stdout] 63 ~ let node: DoubleMazeNode = if top_first { current2 } [INFO] [stdout] 64 ~ else { current1 }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting the result of `i32::abs()` to usize [INFO] [stdout] --> src/algo_doubleastar.rs:96:56 [INFO] [stdout] | [INFO] [stdout] 96 | ... - (current1.x as i32 - current2.x as i32).abs() as usize, size - (current1.y as i32 - current2.y as i32).abs() as usize, size, "... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `(current1.x as i32 - current2.x as i32).unsigned_abs()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_abs_to_unsigned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting the result of `i32::abs()` to usize [INFO] [stdout] --> src/algo_doubleastar.rs:96:119 [INFO] [stdout] | [INFO] [stdout] 96 | ... - (current1.y as i32 - current2.y as i32).abs() as usize, size, "A*"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `(current1.y as i32 - current2.y as i32).unsigned_abs()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_abs_to_unsigned [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stdout] --> src/algo_doubleastar.rs:110:219 [INFO] [stdout] | [INFO] [stdout] 110 | ...ce: u8) -> (Vec>, Vec>, BinaryHeap, DoubleMazeNode, DoubleMazeNode, bool) [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: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/algo_doubleastar.rs:132:41 [INFO] [stdout] | [INFO] [stdout] 132 | ...ldren[i].g + crate::utils::euclidean(children[i].x, other_current.x, children[i].y, other_current.y) as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `crate::utils::euclidean(children[i].x, other_current.x, children[i].y, other_current.y)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `mtx` [INFO] [stdout] --> src/algo_doubleastar.rs:147:14 [INFO] [stdout] | [INFO] [stdout] 147 | for i in 0..size [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 147 - for i in 0..size [INFO] [stdout] 147 + for (i, ) in mtx.iter().enumerate().take(size) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `j` is used to index `mtx` [INFO] [stdout] --> src/algo_doubleastar.rs:150:18 [INFO] [stdout] | [INFO] [stdout] 150 | for j in 0..size [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 150 - for j in 0..size [INFO] [stdout] 150 + for (j, ) in mtx.iter().enumerate().take(size) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `children` [INFO] [stdout] --> src/algo_doubleastar.rs:183:14 [INFO] [stdout] | [INFO] [stdout] 183 | for i in 0..children.len() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 183 - for i in 0..children.len() [INFO] [stdout] 183 + for in &mut children [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/algo_dfs.rs:74:14 [INFO] [stdout] | [INFO] [stdout] 74 | let cx = vec!(x, x-1, x, x+1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[x, x-1, x, x+1]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] = note: `#[warn(clippy::useless_vec)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/algo_dfs.rs:75:14 [INFO] [stdout] | [INFO] [stdout] 75 | let cy = vec!(y-1, y, y+1, y); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[y-1, y, y+1, y]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/algo_dfs.rs:76:13 [INFO] [stdout] | [INFO] [stdout] 76 | let v = vec!(mtx[x][y-1], mtx[x-1][y], mtx[x][y+1], mtx[x+1][y]); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[mtx[x][y-1], mtx[x-1][y], mtx[x][y+1], mtx[x+1][y]]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless use of `vec!` [INFO] [stdout] --> src/algo_dfs.rs:77:13 [INFO] [stdout] | [INFO] [stdout] 77 | ... = vec!(crate::solve::Direction::Up, crate::solve::Direction::Left, crate::solve::Direction::Down, crate::solve::Direction::Right); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can use an array directly: `[crate::solve::Direction::Up, crate::solve::Direction::Left, crate::solve::Direction::Down, crate::solve::Direction::Right]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 14s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v5.1.2, nom v6.2.1 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 4` [INFO] running `Command { std: "docker" "inspect" "6d403c0028865759113e040aa2cd07a4365d94e69b47a4d2bb795af5473e53ff", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6d403c0028865759113e040aa2cd07a4365d94e69b47a4d2bb795af5473e53ff", kill_on_drop: false }` [INFO] [stdout] 6d403c0028865759113e040aa2cd07a4365d94e69b47a4d2bb795af5473e53ff