[INFO] fetching crate bitstackchess 0.1.1... [INFO] linting bitstackchess-0.1.1 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate bitstackchess 0.1.1 into /workspace/builds/worker-7-tc1/source [INFO] started tweaking crates.io crate bitstackchess 0.1.1 [INFO] finished tweaking crates.io crate bitstackchess 0.1.1 [INFO] tweaked toml for crates.io crate bitstackchess 0.1.1 written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate bitstackchess 0.1.1 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 crates.io crate bitstackchess 0.1.1 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] 6ed7ddcfa767676896b97686bacabffe720b443aad167866d1be11128f1e61a8 [INFO] running `Command { std: "docker" "start" "-a" "6ed7ddcfa767676896b97686bacabffe720b443aad167866d1be11128f1e61a8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6ed7ddcfa767676896b97686bacabffe720b443aad167866d1be11128f1e61a8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6ed7ddcfa767676896b97686bacabffe720b443aad167866d1be11128f1e61a8", kill_on_drop: false }` [INFO] [stdout] 6ed7ddcfa767676896b97686bacabffe720b443aad167866d1be11128f1e61a8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] 2e40db58e430e185e252c84c5c53877d0e17af377369e4eca4f60d6f460d74bd [INFO] running `Command { std: "docker" "start" "-a" "2e40db58e430e185e252c84c5c53877d0e17af377369e4eca4f60d6f460d74bd", kill_on_drop: false }` [INFO] [stderr] Checking bitstackchess v0.1.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::core::Move10` [INFO] [stdout] --> src/rules/checkmate.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::core::Move10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: digits of hex, binary or octal literal not in groups of equal size [INFO] [stdout] --> src/board/encoding.rs:131:49 [INFO] [stdout] | [INFO] [stdout] 131 | assert_eq!(encode_piece(0, true, 1, 0), 0b0_1_001); // 0x09 [INFO] [stdout] | ^^^^^^^^^ help: consider: `0b0_1001` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unusual_byte_groupings [INFO] [stdout] = note: `#[warn(clippy::unusual_byte_groupings)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: digits of hex, binary or octal literal not in groups of equal size [INFO] [stdout] --> src/board/encoding.rs:132:49 [INFO] [stdout] | [INFO] [stdout] 132 | assert_eq!(encode_piece(1, true, 6, 0), 0b1_1_110); // 0x1E [INFO] [stdout] | ^^^^^^^^^ help: consider: `0b1_1110` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unusual_byte_groupings [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::core::Move10` [INFO] [stdout] --> src/rules/checkmate.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::core::Move10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `encode_piece` and `encode_square` [INFO] [stdout] --> src/engine/game_core.rs:371:46 [INFO] [stdout] | [INFO] [stdout] 371 | use crate::board::{init_chess_positions, encode_piece, encode_square}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `occupied` [INFO] [stdout] --> src/rules/checkmate.rs:27:48 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn is_in_check(mapping: &PieceMapping, occupied: Occupied, king_pid: u8) -> bool { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_occupied` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `planes` [INFO] [stdout] --> src/rules/checkmate.rs:155:9 [INFO] [stdout] | [INFO] [stdout] 155 | planes: &crate::core::MovePlanes, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_planes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ply` [INFO] [stdout] --> src/rules/checkmate.rs:156:9 [INFO] [stdout] | [INFO] [stdout] 156 | ply: usize, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ply` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `temp_captured` is assigned to, but never used [INFO] [stdout] --> src/rules/checkmate.rs:171:17 [INFO] [stdout] | [INFO] [stdout] 171 | let mut temp_captured = captured_bits; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_temp_captured` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `temp_captured` is never read [INFO] [stdout] --> src/rules/checkmate.rs:208:37 [INFO] [stdout] | [INFO] [stdout] 208 | ... temp_captured |= 1u32 << (opp as u32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `temp_captured` is never read [INFO] [stdout] --> src/rules/checkmate.rs:218:21 [INFO] [stdout] | [INFO] [stdout] 218 | temp_captured |= 1u32 << (opp as u32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `temp_ep` is never read [INFO] [stdout] --> src/rules/checkmate.rs:234:21 [INFO] [stdout] | [INFO] [stdout] 234 | temp_ep = None; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `temp_ep` is never read [INFO] [stdout] --> src/rules/checkmate.rs:229:25 [INFO] [stdout] | [INFO] [stdout] 229 | temp_ep = Some(new_ep); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `temp_ep` is never read [INFO] [stdout] --> src/rules/checkmate.rs:231:25 [INFO] [stdout] | [INFO] [stdout] 231 | temp_ep = None; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `temp_ep` is never read [INFO] [stdout] --> src/rules/checkmate.rs:194:21 [INFO] [stdout] | [INFO] [stdout] 194 | temp_ep = None; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `temp_ep` is never read [INFO] [stdout] --> src/rules/checkmate.rs:191:21 [INFO] [stdout] | [INFO] [stdout] 191 | temp_ep = None; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `temp_ep` is never read [INFO] [stdout] --> src/rules/checkmate.rs:188:21 [INFO] [stdout] | [INFO] [stdout] 188 | temp_ep = None; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `temp_ep` is never read [INFO] [stdout] --> src/rules/checkmate.rs:185:21 [INFO] [stdout] | [INFO] [stdout] 185 | temp_ep = None; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/engine/game_core.rs:28:13 [INFO] [stdout] | [INFO] [stdout] 28 | let mut captured_bits: u32 = 0; [INFO] [stdout] | ----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `temp_captured` is assigned to, but never used [INFO] [stdout] --> src/engine/game_core.rs:117:17 [INFO] [stdout] | [INFO] [stdout] 117 | let mut temp_captured = saved_captured; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_temp_captured` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `temp_captured` is never read [INFO] [stdout] --> src/engine/game_core.rs:155:37 [INFO] [stdout] | [INFO] [stdout] 155 | ... temp_captured |= 1u32 << (opp as u32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `temp_captured` is never read [INFO] [stdout] --> src/engine/game_core.rs:165:21 [INFO] [stdout] | [INFO] [stdout] 165 | temp_captured |= 1u32 << (opp as u32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `temp_ep` is never read [INFO] [stdout] --> src/engine/game_core.rs:181:21 [INFO] [stdout] | [INFO] [stdout] 181 | temp_ep = None; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `temp_ep` is never read [INFO] [stdout] --> src/engine/game_core.rs:176:25 [INFO] [stdout] | [INFO] [stdout] 176 | temp_ep = Some(new_ep); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `temp_ep` is never read [INFO] [stdout] --> src/engine/game_core.rs:178:25 [INFO] [stdout] | [INFO] [stdout] 178 | temp_ep = None; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `temp_ep` is never read [INFO] [stdout] --> src/engine/game_core.rs:138:21 [INFO] [stdout] | [INFO] [stdout] 138 | temp_ep = None; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `temp_ep` is never read [INFO] [stdout] --> src/engine/game_core.rs:135:21 [INFO] [stdout] | [INFO] [stdout] 135 | temp_ep = None; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `temp_ep` is never read [INFO] [stdout] --> src/engine/game_core.rs:132:21 [INFO] [stdout] | [INFO] [stdout] 132 | temp_ep = None; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `temp_ep` is never read [INFO] [stdout] --> src/engine/game_core.rs:129:21 [INFO] [stdout] | [INFO] [stdout] 129 | temp_ep = None; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `captured_bits` [INFO] [stdout] --> src/engine/move_generator.rs:104:9 [INFO] [stdout] | [INFO] [stdout] 104 | captured_bits: u32, [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_captured_bits` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `occupied` [INFO] [stdout] --> src/engine/move_generator.rs:214:9 [INFO] [stdout] | [INFO] [stdout] 214 | occupied: Occupied, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_occupied` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `occupied` [INFO] [stdout] --> src/engine/move_generator.rs:240:9 [INFO] [stdout] | [INFO] [stdout] 240 | occupied: Occupied, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_occupied` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `occupied` [INFO] [stdout] --> src/engine/move_generator.rs:270:9 [INFO] [stdout] | [INFO] [stdout] 270 | occupied: Occupied, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_occupied` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ep_target` [INFO] [stdout] --> src/engine/move_generator.rs:302:9 [INFO] [stdout] | [INFO] [stdout] 302 | ep_target: Option, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ep_target` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mapping` [INFO] [stdout] --> src/engine/evaluator.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 29 | mapping: &PieceMapping, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mapping` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `MovePlanes` [INFO] [stdout] --> src/core/move_planes.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | / pub fn new() -> MovePlanes { [INFO] [stdout] 13 | | MovePlanes { planes: [0u128; 10] } [INFO] [stdout] 14 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 10 + impl Default for MovePlanes { [INFO] [stdout] 11 + fn default() -> Self { [INFO] [stdout] 12 + Self::new() [INFO] [stdout] 13 + } [INFO] [stdout] 14 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/board/encoding.rs:56:19 [INFO] [stdout] | [INFO] [stdout] 56 | let pid = file as u8; // 0..7 [INFO] [stdout] | ^^^^^^^^^^ help: try: `file` [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: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/board/encoding.rs:79:24 [INFO] [stdout] | [INFO] [stdout] 79 | let pid = 16 + file as u8; // 16..23 [INFO] [stdout] | ^^^^^^^^^^ help: try: `file` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/board/piece_mapping.rs:58:14 [INFO] [stdout] | [INFO] [stdout] 58 | .expect(&format!("(move_piece) piece {} not on board", pid)) as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|| panic!("(move_piece) piece {} not on board", pid))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] = note: `#[warn(clippy::expect_fun_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/rules/checkmate.rs:180:21 [INFO] [stdout] | [INFO] [stdout] 180 | && ((side_u8 == 0 && ((src_sq == 4 && dst_sq == 6) || (src_sq == 4 && dst_sq == 2))) [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] 180 - && ((side_u8 == 0 && ((src_sq == 4 && dst_sq == 6) || (src_sq == 4 && dst_sq == 2))) [INFO] [stdout] 180 + && (!(side_u8 != 0 || src_sq != 4 || dst_sq != 6 && dst_sq != 2) [INFO] [stdout] | [INFO] [stdout] 180 - && ((side_u8 == 0 && ((src_sq == 4 && dst_sq == 6) || (src_sq == 4 && dst_sq == 2))) [INFO] [stdout] 180 + && ((dst_sq == 2 || dst_sq == 6) && src_sq == 4 && side_u8 == 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/rules/checkmate.rs:180:38 [INFO] [stdout] | [INFO] [stdout] 180 | && ((side_u8 == 0 && ((src_sq == 4 && dst_sq == 6) || (src_sq == 4 && dst_sq == 2))) [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] help: try [INFO] [stdout] | [INFO] [stdout] 180 - && ((side_u8 == 0 && ((src_sq == 4 && dst_sq == 6) || (src_sq == 4 && dst_sq == 2))) [INFO] [stdout] 180 + && ((side_u8 == 0 && !(src_sq != 4 || dst_sq != 6 && dst_sq != 2)) [INFO] [stdout] | [INFO] [stdout] 180 - && ((side_u8 == 0 && ((src_sq == 4 && dst_sq == 6) || (src_sq == 4 && dst_sq == 2))) [INFO] [stdout] 180 + && ((side_u8 == 0 && (dst_sq == 2 || dst_sq == 6) && src_sq == 4) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/rules/checkmate.rs:181:24 [INFO] [stdout] | [INFO] [stdout] 181 | || (side_u8 == 1 && ((src_sq == 60 && dst_sq == 62) || (src_sq == 60 && dst_sq == 58)))); [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] help: try [INFO] [stdout] | [INFO] [stdout] 181 - || (side_u8 == 1 && ((src_sq == 60 && dst_sq == 62) || (src_sq == 60 && dst_sq == 58)))); [INFO] [stdout] 181 + || !(side_u8 != 1 || src_sq != 60 || dst_sq != 62 && dst_sq != 58)); [INFO] [stdout] | [INFO] [stdout] 181 - || (side_u8 == 1 && ((src_sq == 60 && dst_sq == 62) || (src_sq == 60 && dst_sq == 58)))); [INFO] [stdout] 181 + || (dst_sq == 58 || dst_sq == 62) && src_sq == 60 && side_u8 == 1); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/rules/checkmate.rs:181:41 [INFO] [stdout] | [INFO] [stdout] 181 | || (side_u8 == 1 && ((src_sq == 60 && dst_sq == 62) || (src_sq == 60 && dst_sq == 58)))); [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] help: try [INFO] [stdout] | [INFO] [stdout] 181 - || (side_u8 == 1 && ((src_sq == 60 && dst_sq == 62) || (src_sq == 60 && dst_sq == 58)))); [INFO] [stdout] 181 + || (side_u8 == 1 && !(src_sq != 60 || dst_sq != 62 && dst_sq != 58))); [INFO] [stdout] | [INFO] [stdout] 181 - || (side_u8 == 1 && ((src_sq == 60 && dst_sq == 62) || (src_sq == 60 && dst_sq == 58)))); [INFO] [stdout] 181 + || (side_u8 == 1 && (dst_sq == 58 || dst_sq == 62) && src_sq == 60)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/rules/checkmate.rs:221:41 [INFO] [stdout] | [INFO] [stdout] 221 | temp_mapping.move_piece(global_pid as u8, dst_sq as u8); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `global_pid` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/engine/game_core.rs:61:12 [INFO] [stdout] | [INFO] [stdout] 61 | if self.ply % 2 == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace with: `self.ply.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: this boolean expression can be simplified [INFO] [stdout] --> src/engine/game_core.rs:124:21 [INFO] [stdout] | [INFO] [stdout] 124 | && ((side == 0 && ((src_sq == 4 && dst_sq == 6) || (src_sq == 4 && dst_sq == 2))) [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] help: try [INFO] [stdout] | [INFO] [stdout] 124 - && ((side == 0 && ((src_sq == 4 && dst_sq == 6) || (src_sq == 4 && dst_sq == 2))) [INFO] [stdout] 124 + && (!(side != 0 || src_sq != 4 || dst_sq != 6 && dst_sq != 2) [INFO] [stdout] | [INFO] [stdout] 124 - && ((side == 0 && ((src_sq == 4 && dst_sq == 6) || (src_sq == 4 && dst_sq == 2))) [INFO] [stdout] 124 + && ((dst_sq == 2 || dst_sq == 6) && src_sq == 4 && side == 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/engine/game_core.rs:124:35 [INFO] [stdout] | [INFO] [stdout] 124 | && ((side == 0 && ((src_sq == 4 && dst_sq == 6) || (src_sq == 4 && dst_sq == 2))) [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] help: try [INFO] [stdout] | [INFO] [stdout] 124 - && ((side == 0 && ((src_sq == 4 && dst_sq == 6) || (src_sq == 4 && dst_sq == 2))) [INFO] [stdout] 124 + && ((side == 0 && !(src_sq != 4 || dst_sq != 6 && dst_sq != 2)) [INFO] [stdout] | [INFO] [stdout] 124 - && ((side == 0 && ((src_sq == 4 && dst_sq == 6) || (src_sq == 4 && dst_sq == 2))) [INFO] [stdout] 124 + && ((side == 0 && (dst_sq == 2 || dst_sq == 6) && src_sq == 4) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/engine/game_core.rs:125:24 [INFO] [stdout] | [INFO] [stdout] 125 | || (side == 1 && ((src_sq == 60 && dst_sq == 62) || (src_sq == 60 && dst_sq == 58)))); [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] help: try [INFO] [stdout] | [INFO] [stdout] 125 - || (side == 1 && ((src_sq == 60 && dst_sq == 62) || (src_sq == 60 && dst_sq == 58)))); [INFO] [stdout] 125 + || !(side != 1 || src_sq != 60 || dst_sq != 62 && dst_sq != 58)); [INFO] [stdout] | [INFO] [stdout] 125 - || (side == 1 && ((src_sq == 60 && dst_sq == 62) || (src_sq == 60 && dst_sq == 58)))); [INFO] [stdout] 125 + || (dst_sq == 58 || dst_sq == 62) && src_sq == 60 && side == 1); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/engine/game_core.rs:125:38 [INFO] [stdout] | [INFO] [stdout] 125 | || (side == 1 && ((src_sq == 60 && dst_sq == 62) || (src_sq == 60 && dst_sq == 58)))); [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] help: try [INFO] [stdout] | [INFO] [stdout] 125 - || (side == 1 && ((src_sq == 60 && dst_sq == 62) || (src_sq == 60 && dst_sq == 58)))); [INFO] [stdout] 125 + || (side == 1 && !(src_sq != 60 || dst_sq != 62 && dst_sq != 58))); [INFO] [stdout] | [INFO] [stdout] 125 - || (side == 1 && ((src_sq == 60 && dst_sq == 62) || (src_sq == 60 && dst_sq == 58)))); [INFO] [stdout] 125 + || (side == 1 && (dst_sq == 58 || dst_sq == 62) && src_sq == 60)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/engine/game_core.rs:197:17 [INFO] [stdout] | [INFO] [stdout] 197 | && ((side == 0 && ((src_sq == 4 && dst_sq == 6) || (src_sq == 4 && dst_sq == 2))) [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] help: try [INFO] [stdout] | [INFO] [stdout] 197 - && ((side == 0 && ((src_sq == 4 && dst_sq == 6) || (src_sq == 4 && dst_sq == 2))) [INFO] [stdout] 197 + && (!(side != 0 || src_sq != 4 || dst_sq != 6 && dst_sq != 2) [INFO] [stdout] | [INFO] [stdout] 197 - && ((side == 0 && ((src_sq == 4 && dst_sq == 6) || (src_sq == 4 && dst_sq == 2))) [INFO] [stdout] 197 + && ((dst_sq == 2 || dst_sq == 6) && src_sq == 4 && side == 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/engine/game_core.rs:197:31 [INFO] [stdout] | [INFO] [stdout] 197 | && ((side == 0 && ((src_sq == 4 && dst_sq == 6) || (src_sq == 4 && dst_sq == 2))) [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] help: try [INFO] [stdout] | [INFO] [stdout] 197 - && ((side == 0 && ((src_sq == 4 && dst_sq == 6) || (src_sq == 4 && dst_sq == 2))) [INFO] [stdout] 197 + && ((side == 0 && !(src_sq != 4 || dst_sq != 6 && dst_sq != 2)) [INFO] [stdout] | [INFO] [stdout] 197 - && ((side == 0 && ((src_sq == 4 && dst_sq == 6) || (src_sq == 4 && dst_sq == 2))) [INFO] [stdout] 197 + && ((side == 0 && (dst_sq == 2 || dst_sq == 6) && src_sq == 4) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/engine/game_core.rs:198:20 [INFO] [stdout] | [INFO] [stdout] 198 | || (side == 1 && ((src_sq == 60 && dst_sq == 62) || (src_sq == 60 && dst_sq == 58)))); [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] help: try [INFO] [stdout] | [INFO] [stdout] 198 - || (side == 1 && ((src_sq == 60 && dst_sq == 62) || (src_sq == 60 && dst_sq == 58)))); [INFO] [stdout] 198 + || !(side != 1 || src_sq != 60 || dst_sq != 62 && dst_sq != 58)); [INFO] [stdout] | [INFO] [stdout] 198 - || (side == 1 && ((src_sq == 60 && dst_sq == 62) || (src_sq == 60 && dst_sq == 58)))); [INFO] [stdout] 198 + || (dst_sq == 58 || dst_sq == 62) && src_sq == 60 && side == 1); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/engine/game_core.rs:198:34 [INFO] [stdout] | [INFO] [stdout] 198 | || (side == 1 && ((src_sq == 60 && dst_sq == 62) || (src_sq == 60 && dst_sq == 58)))); [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] help: try [INFO] [stdout] | [INFO] [stdout] 198 - || (side == 1 && ((src_sq == 60 && dst_sq == 62) || (src_sq == 60 && dst_sq == 58)))); [INFO] [stdout] 198 + || (side == 1 && !(src_sq != 60 || dst_sq != 62 && dst_sq != 58))); [INFO] [stdout] | [INFO] [stdout] 198 - || (side == 1 && ((src_sq == 60 && dst_sq == 62) || (src_sq == 60 && dst_sq == 58)))); [INFO] [stdout] 198 + || (side == 1 && (dst_sq == 58 || dst_sq == 62) && src_sq == 60)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/engine/game_core.rs:168:41 [INFO] [stdout] | [INFO] [stdout] 168 | temp_mapping.move_piece(global_pid as u8, dst_sq as u8); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `global_pid` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/engine/game_core.rs:241:37 [INFO] [stdout] | [INFO] [stdout] 241 | self.mapping.move_piece(global_pid as u8, dst_sq as u8); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `global_pid` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/engine/game_core.rs:294:21 [INFO] [stdout] | [INFO] [stdout] 294 | && ((side == 0 && ((src == 4 && dest == 6) || (src == 4 && dest == 2))) [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] help: try [INFO] [stdout] | [INFO] [stdout] 294 - && ((side == 0 && ((src == 4 && dest == 6) || (src == 4 && dest == 2))) [INFO] [stdout] 294 + && (!(side != 0 || src != 4 || dest != 6 && dest != 2) [INFO] [stdout] | [INFO] [stdout] 294 - && ((side == 0 && ((src == 4 && dest == 6) || (src == 4 && dest == 2))) [INFO] [stdout] 294 + && ((dest == 2 || dest == 6) && src == 4 && side == 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/engine/game_core.rs:294:35 [INFO] [stdout] | [INFO] [stdout] 294 | && ((side == 0 && ((src == 4 && dest == 6) || (src == 4 && dest == 2))) [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] help: try [INFO] [stdout] | [INFO] [stdout] 294 - && ((side == 0 && ((src == 4 && dest == 6) || (src == 4 && dest == 2))) [INFO] [stdout] 294 + && ((side == 0 && !(src != 4 || dest != 6 && dest != 2)) [INFO] [stdout] | [INFO] [stdout] 294 - && ((side == 0 && ((src == 4 && dest == 6) || (src == 4 && dest == 2))) [INFO] [stdout] 294 + && ((side == 0 && (dest == 2 || dest == 6) && src == 4) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/engine/game_core.rs:295:24 [INFO] [stdout] | [INFO] [stdout] 295 | || (side == 1 && ((src == 60 && dest == 62) || (src == 60 && dest == 58)))); [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] help: try [INFO] [stdout] | [INFO] [stdout] 295 - || (side == 1 && ((src == 60 && dest == 62) || (src == 60 && dest == 58)))); [INFO] [stdout] 295 + || !(side != 1 || src != 60 || dest != 62 && dest != 58)); [INFO] [stdout] | [INFO] [stdout] 295 - || (side == 1 && ((src == 60 && dest == 62) || (src == 60 && dest == 58)))); [INFO] [stdout] 295 + || (dest == 58 || dest == 62) && src == 60 && side == 1); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/engine/game_core.rs:295:38 [INFO] [stdout] | [INFO] [stdout] 295 | || (side == 1 && ((src == 60 && dest == 62) || (src == 60 && dest == 58)))); [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] help: try [INFO] [stdout] | [INFO] [stdout] 295 - || (side == 1 && ((src == 60 && dest == 62) || (src == 60 && dest == 58)))); [INFO] [stdout] 295 + || (side == 1 && !(src != 60 || dest != 62 && dest != 58))); [INFO] [stdout] | [INFO] [stdout] 295 - || (side == 1 && ((src == 60 && dest == 62) || (src == 60 && dest == 58)))); [INFO] [stdout] 295 + || (side == 1 && (dest == 58 || dest == 62) && src == 60)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/engine/game_core.rs:346:37 [INFO] [stdout] | [INFO] [stdout] 346 | self.mapping.move_piece(global_pid as u8, dest as u8); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `global_pid` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/engine/move_generator.rs:295:5 [INFO] [stdout] | [INFO] [stdout] 295 | / fn king_moves( [INFO] [stdout] 296 | | pid: u8, [INFO] [stdout] 297 | | r: i8, [INFO] [stdout] 298 | | f: i8, [INFO] [stdout] ... | [INFO] [stdout] 303 | | moves: &mut Vec, [INFO] [stdout] 304 | | ) { [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: the loop variable `pid` is only used to index `ZOBRIST_PIECE_SQUARE` [INFO] [stdout] --> src/engine/zobrist.rs:57:20 [INFO] [stdout] | [INFO] [stdout] 57 | for pid in 0..32 { [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] 57 - for pid in 0..32 { [INFO] [stdout] 57 + for in &mut ZOBRIST_PIECE_SQUARE { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `sq` is only used to index `ZOBRIST_PIECE_SQUARE` [INFO] [stdout] --> src/engine/zobrist.rs:58:23 [INFO] [stdout] | [INFO] [stdout] 58 | for sq in 0..64 { [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] 58 - for sq in 0..64 { [INFO] [stdout] 58 + for in &mut ZOBRIST_PIECE_SQUARE { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `f` is only used to index `ZOBRIST_EP_FILE` [INFO] [stdout] --> src/engine/zobrist.rs:63:18 [INFO] [stdout] | [INFO] [stdout] 63 | for f in 0..8 { [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] 63 - for f in 0..8 { [INFO] [stdout] 63 + for in &mut ZOBRIST_EP_FILE { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `file` is only used to index `board` [INFO] [stdout] --> src/cli_adapter.rs:80:21 [INFO] [stdout] | [INFO] [stdout] 80 | for file in 0..8 { [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] 80 - for file in 0..8 { [INFO] [stdout] 80 + for in &board { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `occupied` [INFO] [stdout] --> src/rules/checkmate.rs:27:48 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn is_in_check(mapping: &PieceMapping, occupied: Occupied, king_pid: u8) -> bool { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_occupied` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `planes` [INFO] [stdout] --> src/rules/checkmate.rs:155:9 [INFO] [stdout] | [INFO] [stdout] 155 | planes: &crate::core::MovePlanes, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_planes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ply` [INFO] [stdout] --> src/rules/checkmate.rs:156:9 [INFO] [stdout] | [INFO] [stdout] 156 | ply: usize, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ply` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `temp_captured` is assigned to, but never used [INFO] [stdout] --> src/rules/checkmate.rs:171:17 [INFO] [stdout] | [INFO] [stdout] 171 | let mut temp_captured = captured_bits; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_temp_captured` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `temp_captured` is never read [INFO] [stdout] --> src/rules/checkmate.rs:208:37 [INFO] [stdout] | [INFO] [stdout] 208 | ... temp_captured |= 1u32 << (opp as u32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `temp_captured` is never read [INFO] [stdout] --> src/rules/checkmate.rs:218:21 [INFO] [stdout] | [INFO] [stdout] 218 | temp_captured |= 1u32 << (opp as u32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `temp_ep` is never read [INFO] [stdout] --> src/rules/checkmate.rs:234:21 [INFO] [stdout] | [INFO] [stdout] 234 | temp_ep = None; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `temp_ep` is never read [INFO] [stdout] --> src/rules/checkmate.rs:229:25 [INFO] [stdout] | [INFO] [stdout] 229 | temp_ep = Some(new_ep); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `temp_ep` is never read [INFO] [stdout] --> src/rules/checkmate.rs:231:25 [INFO] [stdout] | [INFO] [stdout] 231 | temp_ep = None; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `temp_ep` is never read [INFO] [stdout] --> src/rules/checkmate.rs:194:21 [INFO] [stdout] | [INFO] [stdout] 194 | temp_ep = None; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `temp_ep` is never read [INFO] [stdout] --> src/rules/checkmate.rs:191:21 [INFO] [stdout] | [INFO] [stdout] 191 | temp_ep = None; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `temp_ep` is never read [INFO] [stdout] --> src/rules/checkmate.rs:188:21 [INFO] [stdout] | [INFO] [stdout] 188 | temp_ep = None; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `temp_ep` is never read [INFO] [stdout] --> src/rules/checkmate.rs:185:21 [INFO] [stdout] | [INFO] [stdout] 185 | temp_ep = None; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/engine/game_core.rs:28:13 [INFO] [stdout] | [INFO] [stdout] 28 | let mut captured_bits: u32 = 0; [INFO] [stdout] | ----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `temp_captured` is assigned to, but never used [INFO] [stdout] --> src/engine/game_core.rs:117:17 [INFO] [stdout] | [INFO] [stdout] 117 | let mut temp_captured = saved_captured; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_temp_captured` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `temp_captured` is never read [INFO] [stdout] --> src/engine/game_core.rs:155:37 [INFO] [stdout] | [INFO] [stdout] 155 | ... temp_captured |= 1u32 << (opp as u32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `temp_captured` is never read [INFO] [stdout] --> src/engine/game_core.rs:165:21 [INFO] [stdout] | [INFO] [stdout] 165 | temp_captured |= 1u32 << (opp as u32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `temp_ep` is never read [INFO] [stdout] --> src/engine/game_core.rs:181:21 [INFO] [stdout] | [INFO] [stdout] 181 | temp_ep = None; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `temp_ep` is never read [INFO] [stdout] --> src/engine/game_core.rs:176:25 [INFO] [stdout] | [INFO] [stdout] 176 | temp_ep = Some(new_ep); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `temp_ep` is never read [INFO] [stdout] --> src/engine/game_core.rs:178:25 [INFO] [stdout] | [INFO] [stdout] 178 | temp_ep = None; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `temp_ep` is never read [INFO] [stdout] --> src/engine/game_core.rs:138:21 [INFO] [stdout] | [INFO] [stdout] 138 | temp_ep = None; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `temp_ep` is never read [INFO] [stdout] --> src/engine/game_core.rs:135:21 [INFO] [stdout] | [INFO] [stdout] 135 | temp_ep = None; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `temp_ep` is never read [INFO] [stdout] --> src/engine/game_core.rs:132:21 [INFO] [stdout] | [INFO] [stdout] 132 | temp_ep = None; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `temp_ep` is never read [INFO] [stdout] --> src/engine/game_core.rs:129:21 [INFO] [stdout] | [INFO] [stdout] 129 | temp_ep = None; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `captured_bits` [INFO] [stdout] --> src/engine/move_generator.rs:104:9 [INFO] [stdout] | [INFO] [stdout] 104 | captured_bits: u32, [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_captured_bits` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `occupied` [INFO] [stdout] --> src/engine/move_generator.rs:214:9 [INFO] [stdout] | [INFO] [stdout] 214 | occupied: Occupied, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_occupied` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `occupied` [INFO] [stdout] --> src/engine/move_generator.rs:240:9 [INFO] [stdout] | [INFO] [stdout] 240 | occupied: Occupied, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_occupied` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `occupied` [INFO] [stdout] --> src/engine/move_generator.rs:270:9 [INFO] [stdout] | [INFO] [stdout] 270 | occupied: Occupied, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_occupied` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ep_target` [INFO] [stdout] --> src/engine/move_generator.rs:302:9 [INFO] [stdout] | [INFO] [stdout] 302 | ep_target: Option, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ep_target` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mapping` [INFO] [stdout] --> src/engine/evaluator.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 29 | mapping: &PieceMapping, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mapping` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `MovePlanes` [INFO] [stdout] --> src/core/move_planes.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | / pub fn new() -> MovePlanes { [INFO] [stdout] 13 | | MovePlanes { planes: [0u128; 10] } [INFO] [stdout] 14 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 10 + impl Default for MovePlanes { [INFO] [stdout] 11 + fn default() -> Self { [INFO] [stdout] 12 + Self::new() [INFO] [stdout] 13 + } [INFO] [stdout] 14 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/board/encoding.rs:56:19 [INFO] [stdout] | [INFO] [stdout] 56 | let pid = file as u8; // 0..7 [INFO] [stdout] | ^^^^^^^^^^ help: try: `file` [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: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/board/encoding.rs:79:24 [INFO] [stdout] | [INFO] [stdout] 79 | let pid = 16 + file as u8; // 16..23 [INFO] [stdout] | ^^^^^^^^^^ help: try: `file` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function call inside of `expect` [INFO] [stdout] --> src/board/piece_mapping.rs:58:14 [INFO] [stdout] | [INFO] [stdout] 58 | .expect(&format!("(move_piece) piece {} not on board", pid)) as usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_else(|| panic!("(move_piece) piece {} not on board", pid))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stdout] = note: `#[warn(clippy::expect_fun_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/rules/checkmate.rs:180:21 [INFO] [stdout] | [INFO] [stdout] 180 | && ((side_u8 == 0 && ((src_sq == 4 && dst_sq == 6) || (src_sq == 4 && dst_sq == 2))) [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] 180 - && ((side_u8 == 0 && ((src_sq == 4 && dst_sq == 6) || (src_sq == 4 && dst_sq == 2))) [INFO] [stdout] 180 + && (!(side_u8 != 0 || src_sq != 4 || dst_sq != 6 && dst_sq != 2) [INFO] [stdout] | [INFO] [stdout] 180 - && ((side_u8 == 0 && ((src_sq == 4 && dst_sq == 6) || (src_sq == 4 && dst_sq == 2))) [INFO] [stdout] 180 + && ((dst_sq == 2 || dst_sq == 6) && src_sq == 4 && side_u8 == 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/rules/checkmate.rs:180:38 [INFO] [stdout] | [INFO] [stdout] 180 | && ((side_u8 == 0 && ((src_sq == 4 && dst_sq == 6) || (src_sq == 4 && dst_sq == 2))) [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] help: try [INFO] [stdout] | [INFO] [stdout] 180 - && ((side_u8 == 0 && ((src_sq == 4 && dst_sq == 6) || (src_sq == 4 && dst_sq == 2))) [INFO] [stdout] 180 + && ((side_u8 == 0 && !(src_sq != 4 || dst_sq != 6 && dst_sq != 2)) [INFO] [stdout] | [INFO] [stdout] 180 - && ((side_u8 == 0 && ((src_sq == 4 && dst_sq == 6) || (src_sq == 4 && dst_sq == 2))) [INFO] [stdout] 180 + && ((side_u8 == 0 && (dst_sq == 2 || dst_sq == 6) && src_sq == 4) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/rules/checkmate.rs:181:24 [INFO] [stdout] | [INFO] [stdout] 181 | || (side_u8 == 1 && ((src_sq == 60 && dst_sq == 62) || (src_sq == 60 && dst_sq == 58)))); [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] help: try [INFO] [stdout] | [INFO] [stdout] 181 - || (side_u8 == 1 && ((src_sq == 60 && dst_sq == 62) || (src_sq == 60 && dst_sq == 58)))); [INFO] [stdout] 181 + || !(side_u8 != 1 || src_sq != 60 || dst_sq != 62 && dst_sq != 58)); [INFO] [stdout] | [INFO] [stdout] 181 - || (side_u8 == 1 && ((src_sq == 60 && dst_sq == 62) || (src_sq == 60 && dst_sq == 58)))); [INFO] [stdout] 181 + || (dst_sq == 58 || dst_sq == 62) && src_sq == 60 && side_u8 == 1); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/rules/checkmate.rs:181:41 [INFO] [stdout] | [INFO] [stdout] 181 | || (side_u8 == 1 && ((src_sq == 60 && dst_sq == 62) || (src_sq == 60 && dst_sq == 58)))); [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] help: try [INFO] [stdout] | [INFO] [stdout] 181 - || (side_u8 == 1 && ((src_sq == 60 && dst_sq == 62) || (src_sq == 60 && dst_sq == 58)))); [INFO] [stdout] 181 + || (side_u8 == 1 && !(src_sq != 60 || dst_sq != 62 && dst_sq != 58))); [INFO] [stdout] | [INFO] [stdout] 181 - || (side_u8 == 1 && ((src_sq == 60 && dst_sq == 62) || (src_sq == 60 && dst_sq == 58)))); [INFO] [stdout] 181 + || (side_u8 == 1 && (dst_sq == 58 || dst_sq == 62) && src_sq == 60)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/rules/checkmate.rs:221:41 [INFO] [stdout] | [INFO] [stdout] 221 | temp_mapping.move_piece(global_pid as u8, dst_sq as u8); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `global_pid` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/engine/game_core.rs:61:12 [INFO] [stdout] | [INFO] [stdout] 61 | if self.ply % 2 == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: replace with: `self.ply.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: this boolean expression can be simplified [INFO] [stdout] --> src/engine/game_core.rs:124:21 [INFO] [stdout] | [INFO] [stdout] 124 | && ((side == 0 && ((src_sq == 4 && dst_sq == 6) || (src_sq == 4 && dst_sq == 2))) [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] help: try [INFO] [stdout] | [INFO] [stdout] 124 - && ((side == 0 && ((src_sq == 4 && dst_sq == 6) || (src_sq == 4 && dst_sq == 2))) [INFO] [stdout] 124 + && (!(side != 0 || src_sq != 4 || dst_sq != 6 && dst_sq != 2) [INFO] [stdout] | [INFO] [stdout] 124 - && ((side == 0 && ((src_sq == 4 && dst_sq == 6) || (src_sq == 4 && dst_sq == 2))) [INFO] [stdout] 124 + && ((dst_sq == 2 || dst_sq == 6) && src_sq == 4 && side == 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/engine/game_core.rs:124:35 [INFO] [stdout] | [INFO] [stdout] 124 | && ((side == 0 && ((src_sq == 4 && dst_sq == 6) || (src_sq == 4 && dst_sq == 2))) [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] help: try [INFO] [stdout] | [INFO] [stdout] 124 - && ((side == 0 && ((src_sq == 4 && dst_sq == 6) || (src_sq == 4 && dst_sq == 2))) [INFO] [stdout] 124 + && ((side == 0 && !(src_sq != 4 || dst_sq != 6 && dst_sq != 2)) [INFO] [stdout] | [INFO] [stdout] 124 - && ((side == 0 && ((src_sq == 4 && dst_sq == 6) || (src_sq == 4 && dst_sq == 2))) [INFO] [stdout] 124 + && ((side == 0 && (dst_sq == 2 || dst_sq == 6) && src_sq == 4) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/engine/game_core.rs:125:24 [INFO] [stdout] | [INFO] [stdout] 125 | || (side == 1 && ((src_sq == 60 && dst_sq == 62) || (src_sq == 60 && dst_sq == 58)))); [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] help: try [INFO] [stdout] | [INFO] [stdout] 125 - || (side == 1 && ((src_sq == 60 && dst_sq == 62) || (src_sq == 60 && dst_sq == 58)))); [INFO] [stdout] 125 + || !(side != 1 || src_sq != 60 || dst_sq != 62 && dst_sq != 58)); [INFO] [stdout] | [INFO] [stdout] 125 - || (side == 1 && ((src_sq == 60 && dst_sq == 62) || (src_sq == 60 && dst_sq == 58)))); [INFO] [stdout] 125 + || (dst_sq == 58 || dst_sq == 62) && src_sq == 60 && side == 1); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/engine/game_core.rs:125:38 [INFO] [stdout] | [INFO] [stdout] 125 | || (side == 1 && ((src_sq == 60 && dst_sq == 62) || (src_sq == 60 && dst_sq == 58)))); [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] help: try [INFO] [stdout] | [INFO] [stdout] 125 - || (side == 1 && ((src_sq == 60 && dst_sq == 62) || (src_sq == 60 && dst_sq == 58)))); [INFO] [stdout] 125 + || (side == 1 && !(src_sq != 60 || dst_sq != 62 && dst_sq != 58))); [INFO] [stdout] | [INFO] [stdout] 125 - || (side == 1 && ((src_sq == 60 && dst_sq == 62) || (src_sq == 60 && dst_sq == 58)))); [INFO] [stdout] 125 + || (side == 1 && (dst_sq == 58 || dst_sq == 62) && src_sq == 60)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/engine/game_core.rs:197:17 [INFO] [stdout] | [INFO] [stdout] 197 | && ((side == 0 && ((src_sq == 4 && dst_sq == 6) || (src_sq == 4 && dst_sq == 2))) [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] help: try [INFO] [stdout] | [INFO] [stdout] 197 - && ((side == 0 && ((src_sq == 4 && dst_sq == 6) || (src_sq == 4 && dst_sq == 2))) [INFO] [stdout] 197 + && (!(side != 0 || src_sq != 4 || dst_sq != 6 && dst_sq != 2) [INFO] [stdout] | [INFO] [stdout] 197 - && ((side == 0 && ((src_sq == 4 && dst_sq == 6) || (src_sq == 4 && dst_sq == 2))) [INFO] [stdout] 197 + && ((dst_sq == 2 || dst_sq == 6) && src_sq == 4 && side == 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/engine/game_core.rs:197:31 [INFO] [stdout] | [INFO] [stdout] 197 | && ((side == 0 && ((src_sq == 4 && dst_sq == 6) || (src_sq == 4 && dst_sq == 2))) [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] help: try [INFO] [stdout] | [INFO] [stdout] 197 - && ((side == 0 && ((src_sq == 4 && dst_sq == 6) || (src_sq == 4 && dst_sq == 2))) [INFO] [stdout] 197 + && ((side == 0 && !(src_sq != 4 || dst_sq != 6 && dst_sq != 2)) [INFO] [stdout] | [INFO] [stdout] 197 - && ((side == 0 && ((src_sq == 4 && dst_sq == 6) || (src_sq == 4 && dst_sq == 2))) [INFO] [stdout] 197 + && ((side == 0 && (dst_sq == 2 || dst_sq == 6) && src_sq == 4) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/engine/game_core.rs:198:20 [INFO] [stdout] | [INFO] [stdout] 198 | || (side == 1 && ((src_sq == 60 && dst_sq == 62) || (src_sq == 60 && dst_sq == 58)))); [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] help: try [INFO] [stdout] | [INFO] [stdout] 198 - || (side == 1 && ((src_sq == 60 && dst_sq == 62) || (src_sq == 60 && dst_sq == 58)))); [INFO] [stdout] 198 + || !(side != 1 || src_sq != 60 || dst_sq != 62 && dst_sq != 58)); [INFO] [stdout] | [INFO] [stdout] 198 - || (side == 1 && ((src_sq == 60 && dst_sq == 62) || (src_sq == 60 && dst_sq == 58)))); [INFO] [stdout] 198 + || (dst_sq == 58 || dst_sq == 62) && src_sq == 60 && side == 1); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/engine/game_core.rs:198:34 [INFO] [stdout] | [INFO] [stdout] 198 | || (side == 1 && ((src_sq == 60 && dst_sq == 62) || (src_sq == 60 && dst_sq == 58)))); [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] help: try [INFO] [stdout] | [INFO] [stdout] 198 - || (side == 1 && ((src_sq == 60 && dst_sq == 62) || (src_sq == 60 && dst_sq == 58)))); [INFO] [stdout] 198 + || (side == 1 && !(src_sq != 60 || dst_sq != 62 && dst_sq != 58))); [INFO] [stdout] | [INFO] [stdout] 198 - || (side == 1 && ((src_sq == 60 && dst_sq == 62) || (src_sq == 60 && dst_sq == 58)))); [INFO] [stdout] 198 + || (side == 1 && (dst_sq == 58 || dst_sq == 62) && src_sq == 60)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/engine/game_core.rs:168:41 [INFO] [stdout] | [INFO] [stdout] 168 | temp_mapping.move_piece(global_pid as u8, dst_sq as u8); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `global_pid` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/engine/game_core.rs:241:37 [INFO] [stdout] | [INFO] [stdout] 241 | self.mapping.move_piece(global_pid as u8, dst_sq as u8); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `global_pid` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/engine/game_core.rs:294:21 [INFO] [stdout] | [INFO] [stdout] 294 | && ((side == 0 && ((src == 4 && dest == 6) || (src == 4 && dest == 2))) [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] help: try [INFO] [stdout] | [INFO] [stdout] 294 - && ((side == 0 && ((src == 4 && dest == 6) || (src == 4 && dest == 2))) [INFO] [stdout] 294 + && (!(side != 0 || src != 4 || dest != 6 && dest != 2) [INFO] [stdout] | [INFO] [stdout] 294 - && ((side == 0 && ((src == 4 && dest == 6) || (src == 4 && dest == 2))) [INFO] [stdout] 294 + && ((dest == 2 || dest == 6) && src == 4 && side == 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/engine/game_core.rs:294:35 [INFO] [stdout] | [INFO] [stdout] 294 | && ((side == 0 && ((src == 4 && dest == 6) || (src == 4 && dest == 2))) [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] help: try [INFO] [stdout] | [INFO] [stdout] 294 - && ((side == 0 && ((src == 4 && dest == 6) || (src == 4 && dest == 2))) [INFO] [stdout] 294 + && ((side == 0 && !(src != 4 || dest != 6 && dest != 2)) [INFO] [stdout] | [INFO] [stdout] 294 - && ((side == 0 && ((src == 4 && dest == 6) || (src == 4 && dest == 2))) [INFO] [stdout] 294 + && ((side == 0 && (dest == 2 || dest == 6) && src == 4) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/engine/game_core.rs:295:24 [INFO] [stdout] | [INFO] [stdout] 295 | || (side == 1 && ((src == 60 && dest == 62) || (src == 60 && dest == 58)))); [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] help: try [INFO] [stdout] | [INFO] [stdout] 295 - || (side == 1 && ((src == 60 && dest == 62) || (src == 60 && dest == 58)))); [INFO] [stdout] 295 + || !(side != 1 || src != 60 || dest != 62 && dest != 58)); [INFO] [stdout] | [INFO] [stdout] 295 - || (side == 1 && ((src == 60 && dest == 62) || (src == 60 && dest == 58)))); [INFO] [stdout] 295 + || (dest == 58 || dest == 62) && src == 60 && side == 1); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/engine/game_core.rs:295:38 [INFO] [stdout] | [INFO] [stdout] 295 | || (side == 1 && ((src == 60 && dest == 62) || (src == 60 && dest == 58)))); [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] help: try [INFO] [stdout] | [INFO] [stdout] 295 - || (side == 1 && ((src == 60 && dest == 62) || (src == 60 && dest == 58)))); [INFO] [stdout] 295 + || (side == 1 && !(src != 60 || dest != 62 && dest != 58))); [INFO] [stdout] | [INFO] [stdout] 295 - || (side == 1 && ((src == 60 && dest == 62) || (src == 60 && dest == 58)))); [INFO] [stdout] 295 + || (side == 1 && (dest == 58 || dest == 62) && src == 60)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/engine/game_core.rs:346:37 [INFO] [stdout] | [INFO] [stdout] 346 | self.mapping.move_piece(global_pid as u8, dest as u8); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: try: `global_pid` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (8/7) [INFO] [stdout] --> src/engine/move_generator.rs:295:5 [INFO] [stdout] | [INFO] [stdout] 295 | / fn king_moves( [INFO] [stdout] 296 | | pid: u8, [INFO] [stdout] 297 | | r: i8, [INFO] [stdout] 298 | | f: i8, [INFO] [stdout] ... | [INFO] [stdout] 303 | | moves: &mut Vec, [INFO] [stdout] 304 | | ) { [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: the loop variable `pid` is only used to index `ZOBRIST_PIECE_SQUARE` [INFO] [stdout] --> src/engine/zobrist.rs:57:20 [INFO] [stdout] | [INFO] [stdout] 57 | for pid in 0..32 { [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] 57 - for pid in 0..32 { [INFO] [stdout] 57 + for in &mut ZOBRIST_PIECE_SQUARE { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `sq` is only used to index `ZOBRIST_PIECE_SQUARE` [INFO] [stdout] --> src/engine/zobrist.rs:58:23 [INFO] [stdout] | [INFO] [stdout] 58 | for sq in 0..64 { [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] 58 - for sq in 0..64 { [INFO] [stdout] 58 + for in &mut ZOBRIST_PIECE_SQUARE { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `f` is only used to index `ZOBRIST_EP_FILE` [INFO] [stdout] --> src/engine/zobrist.rs:63:18 [INFO] [stdout] | [INFO] [stdout] 63 | for f in 0..8 { [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] 63 - for f in 0..8 { [INFO] [stdout] 63 + for in &mut ZOBRIST_EP_FILE { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `file` is only used to index `board` [INFO] [stdout] --> src/cli_adapter.rs:80:21 [INFO] [stdout] | [INFO] [stdout] 80 | for file in 0..8 { [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] 80 - for file in 0..8 { [INFO] [stdout] 80 + for in &board { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.61s [INFO] running `Command { std: "docker" "inspect" "2e40db58e430e185e252c84c5c53877d0e17af377369e4eca4f60d6f460d74bd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2e40db58e430e185e252c84c5c53877d0e17af377369e4eca4f60d6f460d74bd", kill_on_drop: false }` [INFO] [stdout] 2e40db58e430e185e252c84c5c53877d0e17af377369e4eca4f60d6f460d74bd