[INFO] cloning repository https://github.com/RamezEssam/cheng [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/RamezEssam/cheng" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRamezEssam%2Fcheng", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRamezEssam%2Fcheng'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 6c7caf059f8f42d75afe2149b5fd1391072bee22 [INFO] linting RamezEssam/cheng against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRamezEssam%2Fcheng" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/RamezEssam/cheng [INFO] finished tweaking git repo https://github.com/RamezEssam/cheng [INFO] tweaked toml for git repo https://github.com/RamezEssam/cheng written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/RamezEssam/cheng 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/RamezEssam/cheng already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded regex v1.10.6 [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] 7785be1dfb823c8eedcb50d68ca808774598861aa184a39dddec6ea3744de0b4 [INFO] running `Command { std: "docker" "start" "-a" "7785be1dfb823c8eedcb50d68ca808774598861aa184a39dddec6ea3744de0b4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7785be1dfb823c8eedcb50d68ca808774598861aa184a39dddec6ea3744de0b4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7785be1dfb823c8eedcb50d68ca808774598861aa184a39dddec6ea3744de0b4", kill_on_drop: false }` [INFO] [stdout] 7785be1dfb823c8eedcb50d68ca808774598861aa184a39dddec6ea3744de0b4 [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] a9626cd0af1b7afe5b3b4fa48e2e566e7b1733c7996852e357ba3a74dc4e4098 [INFO] running `Command { std: "docker" "start" "-a" "a9626cd0af1b7afe5b3b4fa48e2e566e7b1733c7996852e357ba3a74dc4e4098", kill_on_drop: false }` [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Compiling libc v0.2.158 [INFO] [stderr] Checking regex-syntax v0.8.4 [INFO] [stderr] Compiling winapi v0.3.9 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Checking regex-automata v0.4.7 [INFO] [stderr] Checking regex v1.10.6 [INFO] [stderr] Checking cheng v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `libc::FILE` [INFO] [stdout] --> src/main.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use libc::FILE; [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 import: `libc::FILE` [INFO] [stdout] --> src/main.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use libc::FILE; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this looks like an `else if` but the `else` is missing [INFO] [stdout] --> src/main.rs:4267:6 [INFO] [stdout] | [INFO] [stdout] 4267 | }if command.chars().skip(3).take(5).collect::>().iter().collect::() == "wtime" { [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: to remove this lint, add the missing `else` or add a new line before the second `if` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#possible_missing_else [INFO] [stdout] = note: `#[warn(clippy::possible_missing_else)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this looks like an `else if` but the `else` is missing [INFO] [stdout] --> src/main.rs:4267:6 [INFO] [stdout] | [INFO] [stdout] 4267 | }if command.chars().skip(3).take(5).collect::>().iter().collect::() == "wtime" { [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: to remove this lint, add the missing `else` or add a new line before the second `if` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#possible_missing_else [INFO] [stdout] = note: `#[warn(clippy::possible_missing_else)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `bitboard` is never read [INFO] [stdout] --> src/main.rs:744:33 [INFO] [stdout] | [INFO] [stdout] 744 | let mut bitboard: u64 = 0; [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: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:2122:35 [INFO] [stdout] | [INFO] [stdout] 2122 | fn get_queen_attacks(square: u64, mut occupancy: u64)-> BitBoard { [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: value assigned to `queen_attacks` is never read [INFO] [stdout] --> src/main.rs:2124:39 [INFO] [stdout] | [INFO] [stdout] 2124 | let mut queen_attacks: BitBoard = 0; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `bitboard` is never read [INFO] [stdout] --> src/main.rs:744:33 [INFO] [stdout] | [INFO] [stdout] 744 | let mut bitboard: u64 = 0; [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: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:2122:35 [INFO] [stdout] | [INFO] [stdout] 2122 | fn get_queen_attacks(square: u64, mut occupancy: u64)-> BitBoard { [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: value assigned to `queen_attacks` is never read [INFO] [stdout] --> src/main.rs:2124:39 [INFO] [stdout] | [INFO] [stdout] 2124 | let mut queen_attacks: BitBoard = 0; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `source_square` is never read [INFO] [stdout] --> src/main.rs:2252:29 [INFO] [stdout] | [INFO] [stdout] 2252 | let mut source_square = BoardSquare::no_sq as u64; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `target_square` is never read [INFO] [stdout] --> src/main.rs:2253:29 [INFO] [stdout] | [INFO] [stdout] 2253 | let mut target_square = BoardSquare::no_sq as u64; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `bitboard` is never read [INFO] [stdout] --> src/main.rs:2256:34 [INFO] [stdout] | [INFO] [stdout] 2256 | let mut bitboard: BitBoard = 0; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `attacks` is never read [INFO] [stdout] --> src/main.rs:2257:23 [INFO] [stdout] | [INFO] [stdout] 2257 | let mut attacks = 0; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `start_piece` is never read [INFO] [stdout] --> src/main.rs:2837:45 [INFO] [stdout] | [INFO] [stdout] 2837 | let mut start_piece:usize = 0; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `end_piece` is never read [INFO] [stdout] --> src/main.rs:2838:43 [INFO] [stdout] | [INFO] [stdout] 2838 | let mut end_piece:usize = 0; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `cnt` is never read [INFO] [stdout] --> src/main.rs:3028:19 [INFO] [stdout] | [INFO] [stdout] 3028 | let mut cnt = 0; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `source_square` is never read [INFO] [stdout] --> src/main.rs:2252:29 [INFO] [stdout] | [INFO] [stdout] 2252 | let mut source_square = BoardSquare::no_sq as u64; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `target_square` is never read [INFO] [stdout] --> src/main.rs:2253:29 [INFO] [stdout] | [INFO] [stdout] 2253 | let mut target_square = BoardSquare::no_sq as u64; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `bitboard` is never read [INFO] [stdout] --> src/main.rs:2256:34 [INFO] [stdout] | [INFO] [stdout] 2256 | let mut bitboard: BitBoard = 0; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `attacks` is never read [INFO] [stdout] --> src/main.rs:2257:23 [INFO] [stdout] | [INFO] [stdout] 2257 | let mut attacks = 0; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `score` is never read [INFO] [stdout] --> src/main.rs:3380:26 [INFO] [stdout] | [INFO] [stdout] 3380 | let mut score: i32 = 0; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `start_piece` is never read [INFO] [stdout] --> src/main.rs:3502:35 [INFO] [stdout] | [INFO] [stdout] 3502 | let mut start_piece = 0; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `end_piece` is never read [INFO] [stdout] --> src/main.rs:3503:33 [INFO] [stdout] | [INFO] [stdout] 3503 | let mut end_piece = 0; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `start_piece` is never read [INFO] [stdout] --> src/main.rs:2837:45 [INFO] [stdout] | [INFO] [stdout] 2837 | let mut start_piece:usize = 0; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `end_piece` is never read [INFO] [stdout] --> src/main.rs:2838:43 [INFO] [stdout] | [INFO] [stdout] 2838 | let mut end_piece:usize = 0; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `cnt` is never read [INFO] [stdout] --> src/main.rs:3028:19 [INFO] [stdout] | [INFO] [stdout] 3028 | let mut cnt = 0; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `bitboard` is never read [INFO] [stdout] --> src/main.rs:3623:29 [INFO] [stdout] | [INFO] [stdout] 3623 | let mut bitboard: u64 = 0; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `square` is never read [INFO] [stdout] --> src/main.rs:3627:22 [INFO] [stdout] | [INFO] [stdout] 3627 | let mut square = 0; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `double_pawns` is never read [INFO] [stdout] --> src/main.rs:3629:33 [INFO] [stdout] | [INFO] [stdout] 3629 | let mut double_pawns: i32 = 0; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `score` is never read [INFO] [stdout] --> src/main.rs:3977:30 [INFO] [stdout] | [INFO] [stdout] 3977 | let mut score: i32 = 0; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `score` is never read [INFO] [stdout] --> src/main.rs:3380:26 [INFO] [stdout] | [INFO] [stdout] 3380 | let mut score: i32 = 0; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `in_check` is never read [INFO] [stdout] --> src/main.rs:4019:34 [INFO] [stdout] | [INFO] [stdout] 4019 | let mut in_check: bool = false; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `start_piece` is never read [INFO] [stdout] --> src/main.rs:3502:35 [INFO] [stdout] | [INFO] [stdout] 3502 | let mut start_piece = 0; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `end_piece` is never read [INFO] [stdout] --> src/main.rs:3503:33 [INFO] [stdout] | [INFO] [stdout] 3503 | let mut end_piece = 0; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `EMPTY_BOARD` is never used [INFO] [stdout] --> src/main.rs:126:8 [INFO] [stdout] | [INFO] [stdout] 126 | static EMPTY_BOARD: &str = "8/8/8/8/8/8/8/8 w - - "; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `TRICKY_POSITION` is never used [INFO] [stdout] --> src/main.rs:128:8 [INFO] [stdout] | [INFO] [stdout] 128 | static TRICKY_POSITION: &str = "r3k2r/p1ppqpb1/bn2pnp1/3PN3/1p2P3/2N2Q1p/PPPBBPPP/R3K2R w KQkq - 0 1 "; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `KILLER_POSITION` is never used [INFO] [stdout] --> src/main.rs:129:8 [INFO] [stdout] | [INFO] [stdout] 129 | static KILLER_POSITION: &str = "rnbqkb1r/pp1p1pPp/8/2p1pP2/1P1P4/3P3P/P1P1P3/RNBQKBNR w KQkq e6 0 1"; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `CMK_POSITION` is never used [INFO] [stdout] --> src/main.rs:130:8 [INFO] [stdout] | [INFO] [stdout] 130 | static CMK_POSITION: &str = "r2q1rk1/ppp2ppp/2n1bn2/2b1p3/3pP3/3P1NPP/PPP1NPB1/R1BQ1RK1 b - - 0 9 "; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `MATERIAL_SCORE` is never used [INFO] [stdout] --> src/main.rs:133:8 [INFO] [stdout] | [INFO] [stdout] 133 | static MATERIAL_SCORE: [i32; 12] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `PAWN_SCORE` is never used [INFO] [stdout] --> src/main.rs:150:8 [INFO] [stdout] | [INFO] [stdout] 150 | static PAWN_SCORE: [i32; 64] = [ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `KNIGHT_SCORE` is never used [INFO] [stdout] --> src/main.rs:162:8 [INFO] [stdout] | [INFO] [stdout] 162 | static KNIGHT_SCORE: [i32; 64] = [ [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `BISHOP_SCORE` is never used [INFO] [stdout] --> src/main.rs:174:9 [INFO] [stdout] | [INFO] [stdout] 174 | static BISHOP_SCORE: [i32; 64] = [ [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `ROOK_SCORE` is never used [INFO] [stdout] --> src/main.rs:186:9 [INFO] [stdout] | [INFO] [stdout] 186 | static ROOK_SCORE: [i32; 64] = [ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `KING_SCORE` is never used [INFO] [stdout] --> src/main.rs:198:9 [INFO] [stdout] | [INFO] [stdout] 198 | static KING_SCORE: [i32; 64] = [ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DOUBLE_PAWN_PENALTY` is never used [INFO] [stdout] --> src/main.rs:309:8 [INFO] [stdout] | [INFO] [stdout] 309 | static DOUBLE_PAWN_PENALTY: i32 = -10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `ISOLATED_PAWN_PENALTY` is never used [INFO] [stdout] --> src/main.rs:314:8 [INFO] [stdout] | [INFO] [stdout] 314 | static ISOLATED_PAWN_PENALTY: i32 = -10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_magic_number` is never used [INFO] [stdout] --> src/main.rs:1088:4 [INFO] [stdout] | [INFO] [stdout] 1088 | fn generate_magic_number() -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_magic_number` is never used [INFO] [stdout] --> src/main.rs:1093:4 [INFO] [stdout] | [INFO] [stdout] 1093 | fn find_magic_number(square: u64, relevant_bits: u32, bishop_flag: u8) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `init_magic_numbers` is never used [INFO] [stdout] --> src/main.rs:1166:4 [INFO] [stdout] | [INFO] [stdout] 1166 | fn init_magic_numbers() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_bitboard` is never used [INFO] [stdout] --> src/main.rs:1475:4 [INFO] [stdout] | [INFO] [stdout] 1475 | fn print_bitboard(board: BitBoard) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_attacked_squares` is never used [INFO] [stdout] --> src/main.rs:2224:4 [INFO] [stdout] | [INFO] [stdout] 2224 | fn print_attacked_squares(side: u64){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `perft_driver` is never used [INFO] [stdout] --> src/main.rs:3027:4 [INFO] [stdout] | [INFO] [stdout] 3027 | fn perft_driver(depth: u64, root: bool) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sort_moves` is never used [INFO] [stdout] --> src/main.rs:3872:4 [INFO] [stdout] | [INFO] [stdout] 3872 | fn sort_moves(move_list: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `WHITE` contains a capitalized acronym [INFO] [stdout] --> src/main.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | WHITE, [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `White` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] = note: `#[warn(clippy::upper_case_acronyms)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `BLACK` contains a capitalized acronym [INFO] [stdout] --> src/main.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | BLACK, [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Black` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `BOTH` contains a capitalized acronym [INFO] [stdout] --> src/main.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | BOTH [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `Both` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `bitboard` is never read [INFO] [stdout] --> src/main.rs:3623:29 [INFO] [stdout] | [INFO] [stdout] 3623 | let mut bitboard: u64 = 0; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `square` is never read [INFO] [stdout] --> src/main.rs:3627:22 [INFO] [stdout] | [INFO] [stdout] 3627 | let mut square = 0; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `double_pawns` is never read [INFO] [stdout] --> src/main.rs:3629:33 [INFO] [stdout] | [INFO] [stdout] 3629 | let mut double_pawns: i32 = 0; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `score` is never read [INFO] [stdout] --> src/main.rs:3977:30 [INFO] [stdout] | [INFO] [stdout] 3977 | let mut score: i32 = 0; [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `in_check` is never read [INFO] [stdout] --> src/main.rs:4019:34 [INFO] [stdout] | [INFO] [stdout] 4019 | let mut in_check: bool = false; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `OPENING` contains a capitalized acronym [INFO] [stdout] --> src/main.rs:363:5 [INFO] [stdout] | [INFO] [stdout] 363 | OPENING, [INFO] [stdout] | ^^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Opening` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `ENDGAME` contains a capitalized acronym [INFO] [stdout] --> src/main.rs:364:5 [INFO] [stdout] | [INFO] [stdout] 364 | ENDGAME, [INFO] [stdout] | ^^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Endgame` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `MIDDLEGAME` contains a capitalized acronym [INFO] [stdout] --> src/main.rs:365:5 [INFO] [stdout] | [INFO] [stdout] 365 | MIDDLEGAME, [INFO] [stdout] | ^^^^^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Middlegame` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `EMPTY_BOARD` is never used [INFO] [stdout] --> src/main.rs:126:8 [INFO] [stdout] | [INFO] [stdout] 126 | static EMPTY_BOARD: &str = "8/8/8/8/8/8/8/8 w - - "; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `TRICKY_POSITION` is never used [INFO] [stdout] --> src/main.rs:128:8 [INFO] [stdout] | [INFO] [stdout] 128 | static TRICKY_POSITION: &str = "r3k2r/p1ppqpb1/bn2pnp1/3PN3/1p2P3/2N2Q1p/PPPBBPPP/R3K2R w KQkq - 0 1 "; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `KILLER_POSITION` is never used [INFO] [stdout] --> src/main.rs:129:8 [INFO] [stdout] | [INFO] [stdout] 129 | static KILLER_POSITION: &str = "rnbqkb1r/pp1p1pPp/8/2p1pP2/1P1P4/3P3P/P1P1P3/RNBQKBNR w KQkq e6 0 1"; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `CMK_POSITION` is never used [INFO] [stdout] --> src/main.rs:130:8 [INFO] [stdout] | [INFO] [stdout] 130 | static CMK_POSITION: &str = "r2q1rk1/ppp2ppp/2n1bn2/2b1p3/3pP3/3P1NPP/PPP1NPB1/R1BQ1RK1 b - - 0 9 "; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `MATERIAL_SCORE` is never used [INFO] [stdout] --> src/main.rs:133:8 [INFO] [stdout] | [INFO] [stdout] 133 | static MATERIAL_SCORE: [i32; 12] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `PAWN_SCORE` is never used [INFO] [stdout] --> src/main.rs:150:8 [INFO] [stdout] | [INFO] [stdout] 150 | static PAWN_SCORE: [i32; 64] = [ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `KNIGHT_SCORE` is never used [INFO] [stdout] --> src/main.rs:162:8 [INFO] [stdout] | [INFO] [stdout] 162 | static KNIGHT_SCORE: [i32; 64] = [ [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `BISHOP_SCORE` is never used [INFO] [stdout] --> src/main.rs:174:9 [INFO] [stdout] | [INFO] [stdout] 174 | static BISHOP_SCORE: [i32; 64] = [ [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `ROOK_SCORE` is never used [INFO] [stdout] --> src/main.rs:186:9 [INFO] [stdout] | [INFO] [stdout] 186 | static ROOK_SCORE: [i32; 64] = [ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `KING_SCORE` is never used [INFO] [stdout] --> src/main.rs:198:9 [INFO] [stdout] | [INFO] [stdout] 198 | static KING_SCORE: [i32; 64] = [ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DOUBLE_PAWN_PENALTY` is never used [INFO] [stdout] --> src/main.rs:309:8 [INFO] [stdout] | [INFO] [stdout] 309 | static DOUBLE_PAWN_PENALTY: i32 = -10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `usize` is unnecessary [INFO] [stdout] --> src/main.rs:515:17 [INFO] [stdout] | [INFO] [stdout] 515 | for rank in 0 as usize..8 as usize { [INFO] [stdout] | ^^^^^^^^^^ help: try: `0_usize` [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 integer literal to `usize` is unnecessary [INFO] [stdout] --> src/main.rs:515:29 [INFO] [stdout] | [INFO] [stdout] 515 | for rank in 0 as usize..8 as usize { [INFO] [stdout] | ^^^^^^^^^^ help: try: `8_usize` [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 integer literal to `usize` is unnecessary [INFO] [stdout] --> src/main.rs:516:21 [INFO] [stdout] | [INFO] [stdout] 516 | for file in 0 as usize..8 as usize { [INFO] [stdout] | ^^^^^^^^^^ help: try: `0_usize` [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 integer literal to `usize` is unnecessary [INFO] [stdout] --> src/main.rs:516:33 [INFO] [stdout] | [INFO] [stdout] 516 | for file in 0 as usize..8 as usize { [INFO] [stdout] | ^^^^^^^^^^ help: try: `8_usize` [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 (`i32` -> `i32`) [INFO] [stdout] --> src/main.rs:561:76 [INFO] [stdout] | [INFO] [stdout] 561 | ISOLATED_MASKS[square as usize] |= set_file_rank_mask(Some((file - 1) as i32), None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `((file - 1))` [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: static `ISOLATED_PAWN_PENALTY` is never used [INFO] [stdout] --> src/main.rs:314:8 [INFO] [stdout] | [INFO] [stdout] 314 | static ISOLATED_PAWN_PENALTY: i32 = -10; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_magic_number` is never used [INFO] [stdout] --> src/main.rs:1088:4 [INFO] [stdout] | [INFO] [stdout] 1088 | fn generate_magic_number() -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_magic_number` is never used [INFO] [stdout] --> src/main.rs:1093:4 [INFO] [stdout] | [INFO] [stdout] 1093 | fn find_magic_number(square: u64, relevant_bits: u32, bishop_flag: u8) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `init_magic_numbers` is never used [INFO] [stdout] --> src/main.rs:1166:4 [INFO] [stdout] | [INFO] [stdout] 1166 | fn init_magic_numbers() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_bitboard` is never used [INFO] [stdout] --> src/main.rs:1475:4 [INFO] [stdout] | [INFO] [stdout] 1475 | fn print_bitboard(board: BitBoard) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `print_attacked_squares` is never used [INFO] [stdout] --> src/main.rs:2224:4 [INFO] [stdout] | [INFO] [stdout] 2224 | fn print_attacked_squares(side: u64){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `perft_driver` is never used [INFO] [stdout] --> src/main.rs:3027:4 [INFO] [stdout] | [INFO] [stdout] 3027 | fn perft_driver(depth: u64, root: bool) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sort_moves` is never used [INFO] [stdout] --> src/main.rs:3872:4 [INFO] [stdout] | [INFO] [stdout] 3872 | fn sort_moves(move_list: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `WHITE` contains a capitalized acronym [INFO] [stdout] --> src/main.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | WHITE, [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `White` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] = note: `#[warn(clippy::upper_case_acronyms)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `BLACK` contains a capitalized acronym [INFO] [stdout] --> src/main.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | BLACK, [INFO] [stdout] | ^^^^^ help: consider making the acronym lowercase, except the initial letter: `Black` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `BOTH` contains a capitalized acronym [INFO] [stdout] --> src/main.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | BOTH [INFO] [stdout] | ^^^^ help: consider making the acronym lowercase, except the initial letter: `Both` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`i32` -> `i32`) [INFO] [stdout] --> src/main.rs:562:76 [INFO] [stdout] | [INFO] [stdout] 562 | ISOLATED_MASKS[square as usize] |= set_file_rank_mask(Some((file + 1) as i32), None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `((file + 1))` [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 (`i32` -> `i32`) [INFO] [stdout] --> src/main.rs:570:80 [INFO] [stdout] | [INFO] [stdout] 570 | WHITE_PASSED_MASKS[square as usize] |= set_file_rank_mask(Some((file - 1) as i32), None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `((file - 1))` [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 (`i32` -> `i32`) [INFO] [stdout] --> src/main.rs:571:80 [INFO] [stdout] | [INFO] [stdout] 571 | WHITE_PASSED_MASKS[square as usize] |= set_file_rank_mask(Some(file as i32), None); [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: casting to the same type is unnecessary (`i32` -> `i32`) [INFO] [stdout] --> src/main.rs:572:80 [INFO] [stdout] | [INFO] [stdout] 572 | WHITE_PASSED_MASKS[square as usize] |= set_file_rank_mask(Some((file + 1) as i32), None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `((file + 1))` [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 integer literal to `usize` is unnecessary [INFO] [stdout] --> src/main.rs:575:26 [INFO] [stdout] | [INFO] [stdout] 575 | for i in 0 as usize .. (rank+1) as usize { [INFO] [stdout] | ^^^^^^^^^^ help: try: `0_usize` [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 (`i32` -> `i32`) [INFO] [stdout] --> src/main.rs:590:80 [INFO] [stdout] | [INFO] [stdout] 590 | BLACK_PASSED_MASKS[square as usize] |= set_file_rank_mask(Some((file - 1) as i32), None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `((file - 1))` [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 (`i32` -> `i32`) [INFO] [stdout] --> src/main.rs:591:80 [INFO] [stdout] | [INFO] [stdout] 591 | BLACK_PASSED_MASKS[square as usize] |= set_file_rank_mask(Some(file as i32), None); [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: casting to the same type is unnecessary (`i32` -> `i32`) [INFO] [stdout] --> src/main.rs:592:80 [INFO] [stdout] | [INFO] [stdout] 592 | BLACK_PASSED_MASKS[square as usize] |= set_file_rank_mask(Some((file + 1) as i32), None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `((file + 1))` [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 integer literal to `usize` is unnecessary [INFO] [stdout] --> src/main.rs:595:26 [INFO] [stdout] | [INFO] [stdout] 595 | for i in 0 as usize .. (8-rank) as usize { [INFO] [stdout] | ^^^^^^^^^^ help: try: `0_usize` [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: the loop variable `piece` is only used to index `PIECE_KEYS` [INFO] [stdout] --> src/main.rs:696:18 [INFO] [stdout] | [INFO] [stdout] 696 | for piece in Piece::P as usize..=Piece::k as usize { [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] 696 - for piece in Piece::P as usize..=Piece::k as usize { [INFO] [stdout] 696 + for in PIECE_KEYS.iter_mut().take(Piece::k as usize + 1).skip(Piece::P as usize) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `index` is only used to index `CASTLE_KEYS` [INFO] [stdout] --> src/main.rs:725:18 [INFO] [stdout] | [INFO] [stdout] 725 | for index in 0 as usize..16 as usize { [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] 725 - for index in 0 as usize..16 as usize { [INFO] [stdout] 725 + for in CASTLE_KEYS.iter_mut().take(16 as usize).skip(0 as usize) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `usize` is unnecessary [INFO] [stdout] --> src/main.rs:725:18 [INFO] [stdout] | [INFO] [stdout] 725 | for index in 0 as usize..16 as usize { [INFO] [stdout] | ^^^^^^^^^^ help: try: `0_usize` [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 integer literal to `usize` is unnecessary [INFO] [stdout] --> src/main.rs:725:30 [INFO] [stdout] | [INFO] [stdout] 725 | for index in 0 as usize..16 as usize { [INFO] [stdout] | ^^^^^^^^^^^ help: try: `16_usize` [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: name `OPENING` contains a capitalized acronym [INFO] [stdout] --> src/main.rs:363:5 [INFO] [stdout] | [INFO] [stdout] 363 | OPENING, [INFO] [stdout] | ^^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Opening` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `ENDGAME` contains a capitalized acronym [INFO] [stdout] --> src/main.rs:364:5 [INFO] [stdout] | [INFO] [stdout] 364 | ENDGAME, [INFO] [stdout] | ^^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Endgame` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: name `MIDDLEGAME` contains a capitalized acronym [INFO] [stdout] --> src/main.rs:365:5 [INFO] [stdout] | [INFO] [stdout] 365 | MIDDLEGAME, [INFO] [stdout] | ^^^^^^^^^^ help: consider making the acronym lowercase, except the initial letter: `Middlegame` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#upper_case_acronyms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:836:9 [INFO] [stdout] | [INFO] [stdout] 836 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 836 - return None; [INFO] [stdout] 836 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/main.rs:803:13 [INFO] [stdout] | [INFO] [stdout] 803 | / if hash_entry.hash_key == HASH_KEY { [INFO] [stdout] 804 | | if hash_entry.depth >= depth { [INFO] [stdout] 805 | | // extract stored score from TT entry [INFO] [stdout] 806 | | let mut score: i32 = hash_entry.score ; [INFO] [stdout] ... | [INFO] [stdout] 832 | | } [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] 803 ~ if hash_entry.hash_key == HASH_KEY [INFO] [stdout] 804 ~ && hash_entry.depth >= depth { [INFO] [stdout] 805 | // extract stored score from TT entry [INFO] [stdout] ... [INFO] [stdout] 829 | } [INFO] [stdout] 830 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/main.rs:1047:12 [INFO] [stdout] | [INFO] [stdout] 1047 | if in_buffer.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!in_buffer.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> src/main.rs:1048:101 [INFO] [stdout] | [INFO] [stdout] 1048 | if in_buffer.chars().take(4).collect::>().iter().collect::() == "quit"{ [INFO] [stdout] | _____________________________________________________________________________________________________^ [INFO] [stdout] 1049 | | unsafe { [INFO] [stdout] 1050 | | //in_buffer.clear(); [INFO] [stdout] 1051 | | QUIT = 1; [INFO] [stdout] 1052 | | } [INFO] [stdout] 1053 | | }else if in_buffer.chars().take(4).collect::>().iter().collect::() == "stop" { [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/main.rs:1053:108 [INFO] [stdout] | [INFO] [stdout] 1053 | }else if in_buffer.chars().take(4).collect::>().iter().collect::() == "stop" { [INFO] [stdout] | ____________________________________________________________________________________________________________^ [INFO] [stdout] 1054 | | unsafe { [INFO] [stdout] 1055 | | //in_buffer.clear(); [INFO] [stdout] 1056 | | QUIT = 1; [INFO] [stdout] 1057 | | } [INFO] [stdout] 1058 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] = note: `#[warn(clippy::if_same_then_else)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `usize` is unnecessary [INFO] [stdout] --> src/main.rs:515:17 [INFO] [stdout] | [INFO] [stdout] 515 | for rank in 0 as usize..8 as usize { [INFO] [stdout] | ^^^^^^^^^^ help: try: `0_usize` [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: unneeded `return` statement [INFO] [stdout] --> src/main.rs:1163:5 [INFO] [stdout] | [INFO] [stdout] 1163 | return 0; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1163 - return 0; [INFO] [stdout] 1163 + 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `usize` is unnecessary [INFO] [stdout] --> src/main.rs:515:29 [INFO] [stdout] | [INFO] [stdout] 515 | for rank in 0 as usize..8 as usize { [INFO] [stdout] | ^^^^^^^^^^ help: try: `8_usize` [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 (`u64` -> `u64`) [INFO] [stdout] --> src/main.rs:1102:32 [INFO] [stdout] | [INFO] [stdout] 1102 | 0 => mask_rook_attacks(square as u64), [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `square` [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 integer literal to `usize` is unnecessary [INFO] [stdout] --> src/main.rs:516:21 [INFO] [stdout] | [INFO] [stdout] 516 | for file in 0 as usize..8 as usize { [INFO] [stdout] | ^^^^^^^^^^ help: try: `0_usize` [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 (`u64` -> `u64`) [INFO] [stdout] --> src/main.rs:1103:34 [INFO] [stdout] | [INFO] [stdout] 1103 | 1 => mask_bishop_attacks(square as u64), [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `square` [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 integer literal to `usize` is unnecessary [INFO] [stdout] --> src/main.rs:516:33 [INFO] [stdout] | [INFO] [stdout] 516 | for file in 0 as usize..8 as usize { [INFO] [stdout] | ^^^^^^^^^^ help: try: `8_usize` [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 (`u64` -> `u64`) [INFO] [stdout] --> src/main.rs:1118:54 [INFO] [stdout] | [INFO] [stdout] 1118 | attacks[index as usize] = bishop_attacks(square as u64, occupancies[index as usize]); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `square` [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 (`u64` -> `u64`) [INFO] [stdout] --> src/main.rs:1120:52 [INFO] [stdout] | [INFO] [stdout] 1120 | attacks[index as usize] = rook_attacks(square as u64, occupancies[index as usize]); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `square` [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 (`usize` -> `usize`) [INFO] [stdout] --> src/main.rs:1148:62 [INFO] [stdout] | [INFO] [stdout] 1148 | used_attacks[magic_index as usize] = attacks[index as usize]; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `index` [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 (`usize` -> `usize`) [INFO] [stdout] --> src/main.rs:1149:68 [INFO] [stdout] | [INFO] [stdout] 1149 | }else if used_attacks[magic_index as usize] != attacks[index as usize] { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `index` [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 (`i32` -> `i32`) [INFO] [stdout] --> src/main.rs:561:76 [INFO] [stdout] | [INFO] [stdout] 561 | ISOLATED_MASKS[square as usize] |= set_file_rank_mask(Some((file - 1) as i32), None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `((file - 1))` [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 (`i32` -> `i32`) [INFO] [stdout] --> src/main.rs:562:76 [INFO] [stdout] | [INFO] [stdout] 562 | ISOLATED_MASKS[square as usize] |= set_file_rank_mask(Some((file + 1) as i32), None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: try: `((file + 1))` [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 (`i32` -> `i32`) [INFO] [stdout] --> src/main.rs:570:80 [INFO] [stdout] | [INFO] [stdout] 570 | WHITE_PASSED_MASKS[square as usize] |= set_file_rank_mask(Some((file - 1) as i32), None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `((file - 1))` [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 (`i32` -> `i32`) [INFO] [stdout] --> src/main.rs:571:80 [INFO] [stdout] | [INFO] [stdout] 571 | WHITE_PASSED_MASKS[square as usize] |= set_file_rank_mask(Some(file as i32), None); [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: casting to the same type is unnecessary (`i32` -> `i32`) [INFO] [stdout] --> src/main.rs:572:80 [INFO] [stdout] | [INFO] [stdout] 572 | WHITE_PASSED_MASKS[square as usize] |= set_file_rank_mask(Some((file + 1) as i32), None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `((file + 1))` [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 integer literal to `usize` is unnecessary [INFO] [stdout] --> src/main.rs:575:26 [INFO] [stdout] | [INFO] [stdout] 575 | for i in 0 as usize .. (rank+1) as usize { [INFO] [stdout] | ^^^^^^^^^^ help: try: `0_usize` [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 (`i32` -> `i32`) [INFO] [stdout] --> src/main.rs:590:80 [INFO] [stdout] | [INFO] [stdout] 590 | BLACK_PASSED_MASKS[square as usize] |= set_file_rank_mask(Some((file - 1) as i32), None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `((file - 1))` [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 (`i32` -> `i32`) [INFO] [stdout] --> src/main.rs:591:80 [INFO] [stdout] | [INFO] [stdout] 591 | BLACK_PASSED_MASKS[square as usize] |= set_file_rank_mask(Some(file as i32), None); [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: casting to the same type is unnecessary (`i32` -> `i32`) [INFO] [stdout] --> src/main.rs:592:80 [INFO] [stdout] | [INFO] [stdout] 592 | BLACK_PASSED_MASKS[square as usize] |= set_file_rank_mask(Some((file + 1) as i32), None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `((file + 1))` [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 integer literal to `usize` is unnecessary [INFO] [stdout] --> src/main.rs:595:26 [INFO] [stdout] | [INFO] [stdout] 595 | for i in 0 as usize .. (8-rank) as usize { [INFO] [stdout] | ^^^^^^^^^^ help: try: `0_usize` [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: the loop variable `piece` is only used to index `PIECE_KEYS` [INFO] [stdout] --> src/main.rs:696:18 [INFO] [stdout] | [INFO] [stdout] 696 | for piece in Piece::P as usize..=Piece::k as usize { [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] 696 - for piece in Piece::P as usize..=Piece::k as usize { [INFO] [stdout] 696 + for in PIECE_KEYS.iter_mut().take(Piece::k as usize + 1).skip(Piece::P as usize) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `index` is only used to index `CASTLE_KEYS` [INFO] [stdout] --> src/main.rs:725:18 [INFO] [stdout] | [INFO] [stdout] 725 | for index in 0 as usize..16 as usize { [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] 725 - for index in 0 as usize..16 as usize { [INFO] [stdout] 725 + for in CASTLE_KEYS.iter_mut().take(16 as usize).skip(0 as usize) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting integer literal to `usize` is unnecessary [INFO] [stdout] --> src/main.rs:725:18 [INFO] [stdout] | [INFO] [stdout] 725 | for index in 0 as usize..16 as usize { [INFO] [stdout] | ^^^^^^^^^^ help: try: `0_usize` [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 integer literal to `usize` is unnecessary [INFO] [stdout] --> src/main.rs:725:30 [INFO] [stdout] | [INFO] [stdout] 725 | for index in 0 as usize..16 as usize { [INFO] [stdout] | ^^^^^^^^^^^ help: try: `16_usize` [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: the loop variable `i` is used to index `PIECE_BITBOARDS` [INFO] [stdout] --> src/main.rs:1516:22 [INFO] [stdout] | [INFO] [stdout] 1516 | for i in (Piece::P as usize)..=(Piece::k as usize) { [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] 1516 - for i in (Piece::P as usize)..=(Piece::k as usize) { [INFO] [stdout] 1516 + for (i, ) in PIECE_BITBOARDS.iter().enumerate().take(Piece::k as usize + 1).skip((Piece::P as usize)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `print!()` with a format string that ends in a single newline [INFO] [stdout] --> src/main.rs:1565:13 [INFO] [stdout] | [INFO] [stdout] 1565 | print!(" q\n"); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_with_newline [INFO] [stdout] = note: `#[warn(clippy::print_with_newline)]` on by default [INFO] [stdout] help: use `println!` instead [INFO] [stdout] | [INFO] [stdout] 1565 - print!(" q\n"); [INFO] [stdout] 1565 + println!(" q"); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `print!()` with a format string that ends in a single newline [INFO] [stdout] --> src/main.rs:1567:13 [INFO] [stdout] | [INFO] [stdout] 1567 | print!(" -\n"); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_with_newline [INFO] [stdout] help: use `println!` instead [INFO] [stdout] | [INFO] [stdout] 1567 - print!(" -\n"); [INFO] [stdout] 1567 + println!(" -"); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:1586:9 [INFO] [stdout] | [INFO] [stdout] 1586 | return (piece_bitboards_copy, occupancy_copy, side_copy, enpassant_copy, castle_copy, hash_key_copy) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1586 - return (piece_bitboards_copy, occupancy_copy, side_copy, enpassant_copy, castle_copy, hash_key_copy) [INFO] [stdout] 1586 + (piece_bitboards_copy, occupancy_copy, side_copy, enpassant_copy, castle_copy, hash_key_copy) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:836:9 [INFO] [stdout] | [INFO] [stdout] 836 | return None; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 836 - return None; [INFO] [stdout] 836 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/main.rs:803:13 [INFO] [stdout] | [INFO] [stdout] 803 | / if hash_entry.hash_key == HASH_KEY { [INFO] [stdout] 804 | | if hash_entry.depth >= depth { [INFO] [stdout] 805 | | // extract stored score from TT entry [INFO] [stdout] 806 | | let mut score: i32 = hash_entry.score ; [INFO] [stdout] ... | [INFO] [stdout] 832 | | } [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] 803 ~ if hash_entry.hash_key == HASH_KEY [INFO] [stdout] 804 ~ && hash_entry.depth >= depth { [INFO] [stdout] 805 | // extract stored score from TT entry [INFO] [stdout] ... [INFO] [stdout] 829 | } [INFO] [stdout] 830 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/main.rs:1047:12 [INFO] [stdout] | [INFO] [stdout] 1047 | if in_buffer.len() > 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: using `!is_empty` is clearer and more explicit: `!in_buffer.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting a character literal to `u8` truncates [INFO] [stdout] --> src/main.rs:1673:66 [INFO] [stdout] | [INFO] [stdout] 1673 | let file = fen.chars().nth(fen_ptr).unwrap() as u8 - 'a' as u8; [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'a'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] = note: `#[warn(clippy::char_lit_as_u8)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` has identical blocks [INFO] [stdout] --> src/main.rs:1048:101 [INFO] [stdout] | [INFO] [stdout] 1048 | if in_buffer.chars().take(4).collect::>().iter().collect::() == "quit"{ [INFO] [stdout] | _____________________________________________________________________________________________________^ [INFO] [stdout] 1049 | | unsafe { [INFO] [stdout] 1050 | | //in_buffer.clear(); [INFO] [stdout] 1051 | | QUIT = 1; [INFO] [stdout] 1052 | | } [INFO] [stdout] 1053 | | }else if in_buffer.chars().take(4).collect::>().iter().collect::() == "stop" { [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] note: same as this [INFO] [stdout] --> src/main.rs:1053:108 [INFO] [stdout] | [INFO] [stdout] 1053 | }else if in_buffer.chars().take(4).collect::>().iter().collect::() == "stop" { [INFO] [stdout] | ____________________________________________________________________________________________________________^ [INFO] [stdout] 1054 | | unsafe { [INFO] [stdout] 1055 | | //in_buffer.clear(); [INFO] [stdout] 1056 | | QUIT = 1; [INFO] [stdout] 1057 | | } [INFO] [stdout] 1058 | | } [INFO] [stdout] | |_____________^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stdout] = note: `#[warn(clippy::if_same_then_else)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/main.rs:1683:72 [INFO] [stdout] | [INFO] [stdout] 1683 | OCCUPANCIES[PieceColor::WHITE as usize] |= PIECE_BITBOARDS[piece as usize]; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `piece` [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 (`usize` -> `usize`) [INFO] [stdout] --> src/main.rs:1687:72 [INFO] [stdout] | [INFO] [stdout] 1687 | OCCUPANCIES[PieceColor::BLACK as usize] |= PIECE_BITBOARDS[piece as usize]; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `piece` [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: unneeded `return` statement [INFO] [stdout] --> src/main.rs:1163:5 [INFO] [stdout] | [INFO] [stdout] 1163 | return 0; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1163 - return 0; [INFO] [stdout] 1163 + 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u64` -> `u64`) [INFO] [stdout] --> src/main.rs:1102:32 [INFO] [stdout] | [INFO] [stdout] 1102 | 0 => mask_rook_attacks(square as u64), [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `square` [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 (`u64` -> `u64`) [INFO] [stdout] --> src/main.rs:1103:34 [INFO] [stdout] | [INFO] [stdout] 1103 | 1 => mask_bishop_attacks(square as u64), [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `square` [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 (`u64` -> `u64`) [INFO] [stdout] --> src/main.rs:1118:54 [INFO] [stdout] | [INFO] [stdout] 1118 | attacks[index as usize] = bishop_attacks(square as u64, occupancies[index as usize]); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `square` [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 (`u64` -> `u64`) [INFO] [stdout] --> src/main.rs:1120:52 [INFO] [stdout] | [INFO] [stdout] 1120 | attacks[index as usize] = rook_attacks(square as u64, occupancies[index as usize]); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try: `square` [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 (`usize` -> `usize`) [INFO] [stdout] --> src/main.rs:1148:62 [INFO] [stdout] | [INFO] [stdout] 1148 | used_attacks[magic_index as usize] = attacks[index as usize]; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `index` [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 (`usize` -> `usize`) [INFO] [stdout] --> src/main.rs:1149:68 [INFO] [stdout] | [INFO] [stdout] 1149 | }else if used_attacks[magic_index as usize] != attacks[index as usize] { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `index` [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: the loop variable `i` is used to index `PIECE_BITBOARDS` [INFO] [stdout] --> src/main.rs:1516:22 [INFO] [stdout] | [INFO] [stdout] 1516 | for i in (Piece::P as usize)..=(Piece::k as usize) { [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] 1516 - for i in (Piece::P as usize)..=(Piece::k as usize) { [INFO] [stdout] 1516 + for (i, ) in PIECE_BITBOARDS.iter().enumerate().take(Piece::k as usize + 1).skip((Piece::P as usize)) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/main.rs:2064:35 [INFO] [stdout] | [INFO] [stdout] 2064 | 1 => BISHOP_MASKS[square as usize], [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `square` [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 (`usize` -> `usize`) [INFO] [stdout] --> src/main.rs:2065:33 [INFO] [stdout] | [INFO] [stdout] 2065 | 0 => ROOK_MASKS[square as usize], [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `square` [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 (`usize` -> `usize`) [INFO] [stdout] --> src/main.rs:2079:84 [INFO] [stdout] | [INFO] [stdout] 2079 | ... let magic_index = (occupancy.wrapping_mul(BISHOP_MAGIC_NUMBERS[square as usize])) >> (64 - BISHOP_RELEVANT_BITS[square as us... [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `square` [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 (`usize` -> `usize`) [INFO] [stdout] --> src/main.rs:2079:133 [INFO] [stdout] | [INFO] [stdout] 2079 | ...are as usize])) >> (64 - BISHOP_RELEVANT_BITS[square as usize]); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `square` [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: using `print!()` with a format string that ends in a single newline [INFO] [stdout] --> src/main.rs:1565:13 [INFO] [stdout] | [INFO] [stdout] 1565 | print!(" q\n"); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_with_newline [INFO] [stdout] = note: `#[warn(clippy::print_with_newline)]` on by default [INFO] [stdout] help: use `println!` instead [INFO] [stdout] | [INFO] [stdout] 1565 - print!(" q\n"); [INFO] [stdout] 1565 + println!(" q"); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `print!()` with a format string that ends in a single newline [INFO] [stdout] --> src/main.rs:1567:13 [INFO] [stdout] | [INFO] [stdout] 1567 | print!(" -\n"); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_with_newline [INFO] [stdout] help: use `println!` instead [INFO] [stdout] | [INFO] [stdout] 1567 - print!(" -\n"); [INFO] [stdout] 1567 + println!(" -"); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/main.rs:2082:36 [INFO] [stdout] | [INFO] [stdout] 2082 | BISHOP_ATTACKS[square as usize][magic_index as usize] = bishop_attacks(square as u64, occupancy); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `square` [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 (`usize` -> `usize`) [INFO] [stdout] --> src/main.rs:2087:82 [INFO] [stdout] | [INFO] [stdout] 2087 | ... let magic_index = (occupancy.wrapping_mul(ROOK_MAGIC_NUMBERS[square as usize])) >> (64 - ROOK_RELEVANT_BITS[square as usize]); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `square` [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: unneeded `return` statement [INFO] [stdout] --> src/main.rs:1586:9 [INFO] [stdout] | [INFO] [stdout] 1586 | return (piece_bitboards_copy, occupancy_copy, side_copy, enpassant_copy, castle_copy, hash_key_copy) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 1586 - return (piece_bitboards_copy, occupancy_copy, side_copy, enpassant_copy, castle_copy, hash_key_copy) [INFO] [stdout] 1586 + (piece_bitboards_copy, occupancy_copy, side_copy, enpassant_copy, castle_copy, hash_key_copy) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/main.rs:2087:129 [INFO] [stdout] | [INFO] [stdout] 2087 | ...quare as usize])) >> (64 - ROOK_RELEVANT_BITS[square as usize]); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `square` [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 (`usize` -> `usize`) [INFO] [stdout] --> src/main.rs:2090:34 [INFO] [stdout] | [INFO] [stdout] 2090 | ROOK_ATTACKS[square as usize][magic_index as usize] = rook_attacks(square as u64, occupancy); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `square` [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 a character literal to `u8` truncates [INFO] [stdout] --> src/main.rs:1673:66 [INFO] [stdout] | [INFO] [stdout] 1673 | let file = fen.chars().nth(fen_ptr).unwrap() as u8 - 'a' as u8; [INFO] [stdout] | ^^^^^^^^^ help: use a byte literal instead: `b'a'` [INFO] [stdout] | [INFO] [stdout] = note: `char` is four bytes wide, but `u8` is a single byte [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#char_lit_as_u8 [INFO] [stdout] = note: `#[warn(clippy::char_lit_as_u8)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/main.rs:1683:72 [INFO] [stdout] | [INFO] [stdout] 1683 | OCCUPANCIES[PieceColor::WHITE as usize] |= PIECE_BITBOARDS[piece as usize]; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `piece` [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 (`usize` -> `usize`) [INFO] [stdout] --> src/main.rs:1687:72 [INFO] [stdout] | [INFO] [stdout] 1687 | OCCUPANCIES[PieceColor::BLACK as usize] |= PIECE_BITBOARDS[piece as usize]; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try: `piece` [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/main.rs:2277:28 [INFO] [stdout] | [INFO] [stdout] 2277 | ... if !(target_square < BoardSquare::a1 as u64) && get_bit!(OCCUPANCIES[PieceColor::BOTH as usize], target_square) == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(target_square >= BoardSquare::a1 as u64)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/main.rs:2393:28 [INFO] [stdout] | [INFO] [stdout] 2393 | ... if !(target_square > BoardSquare::h8 as u64) && get_bit!(OCCUPANCIES[PieceColor::BOTH as usize], target_square) == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(target_square <= BoardSquare::h8 as u64)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `piece` is used to index `PIECE_BITBOARDS` [INFO] [stdout] --> src/main.rs:2259:18 [INFO] [stdout] | [INFO] [stdout] 2259 | for piece in Piece::P as usize..=(Piece::k as usize) { [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] 2259 - for piece in Piece::P as usize..=(Piece::k as usize) { [INFO] [stdout] 2259 + for (piece, ) in PIECE_BITBOARDS.iter().enumerate().take(Piece::k as usize + 1).skip(Piece::P as usize) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `u64` which implements the `Copy` trait [INFO] [stdout] --> src/main.rs:2262:24 [INFO] [stdout] | [INFO] [stdout] 2262 | bitboard = PIECE_BITBOARDS[piece].clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `PIECE_BITBOARDS[piece]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/main.rs:2295:33 [INFO] [stdout] | [INFO] [stdout] 2295 | / ... if (source_square >= BoardSquare::a2 as u64 && source_square <= BoardSquare::h2 as u64) && get_bit!(OCCUPANCIES[PieceColor... [INFO] [stdout] 2296 | | ... if !is_piece_pinned_absolute(source_square, target_square+8, SIDE as u64) { [INFO] [stdout] 2297 | | ... move_list.push(encode_move!(source_square, target_square +8, piece as u64, 0, 0, 1, 0, 0)); [INFO] [stdout] ... | [INFO] [stdout] 2300 | | ... } [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] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 2295 ~ if (source_square >= BoardSquare::a2 as u64 && source_square <= BoardSquare::h2 as u64) && get_bit!(OCCUPANCIES[PieceColor::BOTH as usize], target_square + 8) == 0 [INFO] [stdout] 2296 ~ && !is_piece_pinned_absolute(source_square, target_square+8, SIDE as u64) { [INFO] [stdout] 2297 | move_list.push(encode_move!(source_square, target_square +8, piece as u64, 0, 0, 1, 0, 0)); [INFO] [stdout] 2298 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/main.rs:2064:35 [INFO] [stdout] | [INFO] [stdout] 2064 | 1 => BISHOP_MASKS[square as usize], [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `square` [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 (`usize` -> `usize`) [INFO] [stdout] --> src/main.rs:2065:33 [INFO] [stdout] | [INFO] [stdout] 2065 | 0 => ROOK_MASKS[square as usize], [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `square` [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 (`usize` -> `usize`) [INFO] [stdout] --> src/main.rs:2079:84 [INFO] [stdout] | [INFO] [stdout] 2079 | ... let magic_index = (occupancy.wrapping_mul(BISHOP_MAGIC_NUMBERS[square as usize])) >> (64 - BISHOP_RELEVANT_BITS[square as us... [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `square` [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 (`usize` -> `usize`) [INFO] [stdout] --> src/main.rs:2079:133 [INFO] [stdout] | [INFO] [stdout] 2079 | ...are as usize])) >> (64 - BISHOP_RELEVANT_BITS[square as usize]); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `square` [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 (`usize` -> `usize`) [INFO] [stdout] --> src/main.rs:2082:36 [INFO] [stdout] | [INFO] [stdout] 2082 | BISHOP_ATTACKS[square as usize][magic_index as usize] = bishop_attacks(square as u64, occupancy); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `square` [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 (`usize` -> `usize`) [INFO] [stdout] --> src/main.rs:2087:82 [INFO] [stdout] | [INFO] [stdout] 2087 | ... let magic_index = (occupancy.wrapping_mul(ROOK_MAGIC_NUMBERS[square as usize])) >> (64 - ROOK_RELEVANT_BITS[square as usize]); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `square` [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 (`usize` -> `usize`) [INFO] [stdout] --> src/main.rs:2087:129 [INFO] [stdout] | [INFO] [stdout] 2087 | ...quare as usize])) >> (64 - ROOK_RELEVANT_BITS[square as usize]); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `square` [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 (`usize` -> `usize`) [INFO] [stdout] --> src/main.rs:2090:34 [INFO] [stdout] | [INFO] [stdout] 2090 | ROOK_ATTACKS[square as usize][magic_index as usize] = rook_attacks(square as u64, occupancy); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `square` [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 `if` statement can be collapsed [INFO] [stdout] --> src/main.rs:2411:33 [INFO] [stdout] | [INFO] [stdout] 2411 | / ... if (source_square >= BoardSquare::a7 as u64 && source_square <= BoardSquare::h7 as u64) && get_bit!(OCCUPANCIES[PieceColor... [INFO] [stdout] 2412 | | ... if !is_piece_pinned_absolute(source_square, target_square - 8, SIDE as u64) { [INFO] [stdout] 2413 | | ... move_list.push(encode_move!(source_square, target_square-8, piece as u64, 0, 0, 1, 0, 0)); [INFO] [stdout] ... | [INFO] [stdout] 2416 | | ... } [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] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 2411 ~ if (source_square >= BoardSquare::a7 as u64 && source_square <= BoardSquare::h7 as u64) && get_bit!(OCCUPANCIES[PieceColor::BOTH as usize], target_square - 8) == 0 [INFO] [stdout] 2412 ~ && !is_piece_pinned_absolute(source_square, target_square - 8, SIDE as u64) { [INFO] [stdout] 2413 | move_list.push(encode_move!(source_square, target_square-8, piece as u64, 0, 0, 1, 0, 0)); [INFO] [stdout] 2414 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/main.rs:2277:28 [INFO] [stdout] | [INFO] [stdout] 2277 | ... if !(target_square < BoardSquare::a1 as u64) && get_bit!(OCCUPANCIES[PieceColor::BOTH as usize], target_square) == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(target_square >= BoardSquare::a1 as u64)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/main.rs:2393:28 [INFO] [stdout] | [INFO] [stdout] 2393 | ... if !(target_square > BoardSquare::h8 as u64) && get_bit!(OCCUPANCIES[PieceColor::BOTH as usize], target_square) == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(target_square <= BoardSquare::h8 as u64)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `piece` is used to index `PIECE_BITBOARDS` [INFO] [stdout] --> src/main.rs:2259:18 [INFO] [stdout] | [INFO] [stdout] 2259 | for piece in Piece::P as usize..=(Piece::k as usize) { [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] 2259 - for piece in Piece::P as usize..=(Piece::k as usize) { [INFO] [stdout] 2259 + for (piece, ) in PIECE_BITBOARDS.iter().enumerate().take(Piece::k as usize + 1).skip(Piece::P as usize) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `u64` which implements the `Copy` trait [INFO] [stdout] --> src/main.rs:2262:24 [INFO] [stdout] | [INFO] [stdout] 2262 | bitboard = PIECE_BITBOARDS[piece].clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `PIECE_BITBOARDS[piece]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/main.rs:2295:33 [INFO] [stdout] | [INFO] [stdout] 2295 | / ... if (source_square >= BoardSquare::a2 as u64 && source_square <= BoardSquare::h2 as u64) && get_bit!(OCCUPANCIES[PieceColor... [INFO] [stdout] 2296 | | ... if !is_piece_pinned_absolute(source_square, target_square+8, SIDE as u64) { [INFO] [stdout] 2297 | | ... move_list.push(encode_move!(source_square, target_square +8, piece as u64, 0, 0, 1, 0, 0)); [INFO] [stdout] ... | [INFO] [stdout] 2300 | | ... } [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] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 2295 ~ if (source_square >= BoardSquare::a2 as u64 && source_square <= BoardSquare::h2 as u64) && get_bit!(OCCUPANCIES[PieceColor::BOTH as usize], target_square + 8) == 0 [INFO] [stdout] 2296 ~ && !is_piece_pinned_absolute(source_square, target_square+8, SIDE as u64) { [INFO] [stdout] 2297 | move_list.push(encode_move!(source_square, target_square +8, piece as u64, 0, 0, 1, 0, 0)); [INFO] [stdout] 2298 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> src/main.rs:2411:33 [INFO] [stdout] | [INFO] [stdout] 2411 | / ... if (source_square >= BoardSquare::a7 as u64 && source_square <= BoardSquare::h7 as u64) && get_bit!(OCCUPANCIES[PieceColor... [INFO] [stdout] 2412 | | ... if !is_piece_pinned_absolute(source_square, target_square - 8, SIDE as u64) { [INFO] [stdout] 2413 | | ... move_list.push(encode_move!(source_square, target_square-8, piece as u64, 0, 0, 1, 0, 0)); [INFO] [stdout] ... | [INFO] [stdout] 2416 | | ... } [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] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 2411 ~ if (source_square >= BoardSquare::a7 as u64 && source_square <= BoardSquare::h7 as u64) && get_bit!(OCCUPANCIES[PieceColor::BOTH as usize], target_square - 8) == 0 [INFO] [stdout] 2412 ~ && !is_piece_pinned_absolute(source_square, target_square - 8, SIDE as u64) { [INFO] [stdout] 2413 | move_list.push(encode_move!(source_square, target_square-8, piece as u64, 0, 0, 1, 0, 0)); [INFO] [stdout] 2414 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:2806:5 [INFO] [stdout] | [INFO] [stdout] 2806 | return uci_move; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 2806 - return uci_move; [INFO] [stdout] 2806 + uci_move [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:3009:13 [INFO] [stdout] | [INFO] [stdout] 3009 | return true; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 3009 - return true; [INFO] [stdout] 3009 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:3015:17 [INFO] [stdout] | [INFO] [stdout] 3015 | return make_move(ch_move, MOVE_TYPE::all_moves); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 3015 - return make_move(ch_move, MOVE_TYPE::all_moves); [INFO] [stdout] 3015 + make_move(ch_move, MOVE_TYPE::all_moves) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:3020:17 [INFO] [stdout] | [INFO] [stdout] 3020 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 3020 - return false; [INFO] [stdout] 3020 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `bb_piece` is only used to index `PIECE_BITBOARDS` [INFO] [stdout] --> src/main.rs:2988:29 [INFO] [stdout] | [INFO] [stdout] 2988 | for bb_piece in Piece::P as usize..=Piece::K as usize { [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] 2988 - for bb_piece in Piece::P as usize..=Piece::K as usize { [INFO] [stdout] 2988 + for in PIECE_BITBOARDS.iter().take(Piece::K as usize + 1).skip(Piece::P as usize) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `bb_piece` is only used to index `PIECE_BITBOARDS` [INFO] [stdout] --> src/main.rs:2994:29 [INFO] [stdout] | [INFO] [stdout] 2994 | for bb_piece in Piece::p as usize..=Piece::k as usize { [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] 2994 - for bb_piece in Piece::p as usize..=Piece::k as usize { [INFO] [stdout] 2994 + for in PIECE_BITBOARDS.iter().take(Piece::k as usize + 1).skip(Piece::p as usize) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/main.rs:3031:16 [INFO] [stdout] | [INFO] [stdout] 3031 | let leaf = match depth { [INFO] [stdout] | ________________^ [INFO] [stdout] 3032 | | 2 => true, [INFO] [stdout] 3033 | | _ => false, [INFO] [stdout] 3034 | | }; [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] = note: `#[warn(clippy::match_like_matches_macro)]` on by default [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 3031 - let leaf = match depth { [INFO] [stdout] 3032 - 2 => true, [INFO] [stdout] 3033 - _ => false, [INFO] [stdout] 3034 - }; [INFO] [stdout] 3031 + let leaf = matches!(depth, 2); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:3215:9 [INFO] [stdout] | [INFO] [stdout] 3215 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 3215 - return false; [INFO] [stdout] 3215 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[u64; 12]` which implements the `Copy` trait [INFO] [stdout] --> src/main.rs:3097:53 [INFO] [stdout] | [INFO] [stdout] 3097 | let mut updated_enemy_piece_bitboards = PIECE_BITBOARDS.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `PIECE_BITBOARDS` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `bb_piece` is only used to index `updated_enemy_piece_bitboards` [INFO] [stdout] --> src/main.rs:3099:33 [INFO] [stdout] | [INFO] [stdout] 3099 | for bb_piece in Piece::p as usize..=Piece::k as usize { [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] 3099 - for bb_piece in Piece::p as usize..=Piece::k as usize { [INFO] [stdout] 3099 + for in updated_enemy_piece_bitboards.iter_mut().take(Piece::k as usize + 1).skip(Piece::p as usize) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:2806:5 [INFO] [stdout] | [INFO] [stdout] 2806 | return uci_move; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 2806 - return uci_move; [INFO] [stdout] 2806 + uci_move [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:3009:13 [INFO] [stdout] | [INFO] [stdout] 3009 | return true; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 3009 - return true; [INFO] [stdout] 3009 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:3015:17 [INFO] [stdout] | [INFO] [stdout] 3015 | return make_move(ch_move, MOVE_TYPE::all_moves); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 3015 - return make_move(ch_move, MOVE_TYPE::all_moves); [INFO] [stdout] 3015 + make_move(ch_move, MOVE_TYPE::all_moves) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:3020:17 [INFO] [stdout] | [INFO] [stdout] 3020 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 3020 - return false; [INFO] [stdout] 3020 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `bb_piece` is only used to index `PIECE_BITBOARDS` [INFO] [stdout] --> src/main.rs:2988:29 [INFO] [stdout] | [INFO] [stdout] 2988 | for bb_piece in Piece::P as usize..=Piece::K as usize { [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] 2988 - for bb_piece in Piece::P as usize..=Piece::K as usize { [INFO] [stdout] 2988 + for in PIECE_BITBOARDS.iter().take(Piece::K as usize + 1).skip(Piece::P as usize) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `bb_piece` is only used to index `PIECE_BITBOARDS` [INFO] [stdout] --> src/main.rs:2994:29 [INFO] [stdout] | [INFO] [stdout] 2994 | for bb_piece in Piece::p as usize..=Piece::k as usize { [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] 2994 - for bb_piece in Piece::p as usize..=Piece::k as usize { [INFO] [stdout] 2994 + for in PIECE_BITBOARDS.iter().take(Piece::k as usize + 1).skip(Piece::p as usize) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: match expression looks like `matches!` macro [INFO] [stdout] --> src/main.rs:3031:16 [INFO] [stdout] | [INFO] [stdout] 3031 | let leaf = match depth { [INFO] [stdout] | ________________^ [INFO] [stdout] 3032 | | 2 => true, [INFO] [stdout] 3033 | | _ => false, [INFO] [stdout] 3034 | | }; [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_like_matches_macro [INFO] [stdout] = note: `#[warn(clippy::match_like_matches_macro)]` on by default [INFO] [stdout] help: use `matches!` directly [INFO] [stdout] | [INFO] [stdout] 3031 - let leaf = match depth { [INFO] [stdout] 3032 - 2 => true, [INFO] [stdout] 3033 - _ => false, [INFO] [stdout] 3034 - }; [INFO] [stdout] 3031 + let leaf = matches!(depth, 2); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:3215:9 [INFO] [stdout] | [INFO] [stdout] 3215 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 3215 - return false; [INFO] [stdout] 3215 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `[u64; 12]` which implements the `Copy` trait [INFO] [stdout] --> src/main.rs:3097:53 [INFO] [stdout] | [INFO] [stdout] 3097 | let mut updated_enemy_piece_bitboards = PIECE_BITBOARDS.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `PIECE_BITBOARDS` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `bb_piece` is only used to index `updated_enemy_piece_bitboards` [INFO] [stdout] --> src/main.rs:3099:33 [INFO] [stdout] | [INFO] [stdout] 3099 | for bb_piece in Piece::p as usize..=Piece::k as usize { [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] 3099 - for bb_piece in Piece::p as usize..=Piece::k as usize { [INFO] [stdout] 3099 + for in updated_enemy_piece_bitboards.iter_mut().take(Piece::k as usize + 1).skip(Piece::p as usize) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `bb_piece` is only used to index `updated_enemy_piece_bitboards` [INFO] [stdout] --> src/main.rs:3104:33 [INFO] [stdout] | [INFO] [stdout] 3104 | for bb_piece in Piece::P as usize..=Piece::K as usize { [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] 3104 - for bb_piece in Piece::P as usize..=Piece::K as usize { [INFO] [stdout] 3104 + for in updated_enemy_piece_bitboards.iter_mut().take(Piece::K as usize + 1).skip(Piece::P as usize) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:3291:9 [INFO] [stdout] | [INFO] [stdout] 3291 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 3291 - return false; [INFO] [stdout] 3291 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:3307:5 [INFO] [stdout] | [INFO] [stdout] 3307 | return Err(Error::IllegalMoveError); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 3307 - return Err(Error::IllegalMoveError); [INFO] [stdout] 3307 + Err(Error::IllegalMoveError) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates an owned instance just for comparison [INFO] [stdout] --> src/main.rs:3302:30 [INFO] [stdout] | [INFO] [stdout] 3302 | if legal_str_move == String::from(str_move) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `str_move` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stdout] = note: `#[warn(clippy::cmp_owned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `PREV_PV_TABLE` [INFO] [stdout] --> src/main.rs:3438:30 [INFO] [stdout] | [INFO] [stdout] 3438 | for i in 0..(PV_LENGTH[0] -1) as usize { [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] 3438 - for i in 0..(PV_LENGTH[0] -1) as usize { [INFO] [stdout] 3438 + for in PREV_PV_TABLE.iter().take((PV_LENGTH[0] -1) as usize) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `PV_TABLE` [INFO] [stdout] --> src/main.rs:3443:30 [INFO] [stdout] | [INFO] [stdout] 3443 | for i in 0..PV_LENGTH[0] as usize { [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] 3443 - for i in 0..PV_LENGTH[0] as usize { [INFO] [stdout] 3443 + for in PV_TABLE.iter().take(PV_LENGTH[0] as usize) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:3520:13 [INFO] [stdout] | [INFO] [stdout] 3520 | return MVV_LVA[get_move_piece!(mv) as usize][target_piece] +10000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 3520 - return MVV_LVA[get_move_piece!(mv) as usize][target_piece] +10000; [INFO] [stdout] 3520 + MVV_LVA[get_move_piece!(mv) as usize][target_piece] +10000 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `bb_piece` is only used to index `updated_enemy_piece_bitboards` [INFO] [stdout] --> src/main.rs:3104:33 [INFO] [stdout] | [INFO] [stdout] 3104 | for bb_piece in Piece::P as usize..=Piece::K as usize { [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] 3104 - for bb_piece in Piece::P as usize..=Piece::K as usize { [INFO] [stdout] 3104 + for in updated_enemy_piece_bitboards.iter_mut().take(Piece::K as usize + 1).skip(Piece::P as usize) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:3291:9 [INFO] [stdout] | [INFO] [stdout] 3291 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 3291 - return false; [INFO] [stdout] 3291 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:3307:5 [INFO] [stdout] | [INFO] [stdout] 3307 | return Err(Error::IllegalMoveError); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 3307 - return Err(Error::IllegalMoveError); [INFO] [stdout] 3307 + Err(Error::IllegalMoveError) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this creates an owned instance just for comparison [INFO] [stdout] --> src/main.rs:3302:30 [INFO] [stdout] | [INFO] [stdout] 3302 | if legal_str_move == String::from(str_move) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `str_move` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stdout] = note: `#[warn(clippy::cmp_owned)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `PREV_PV_TABLE` [INFO] [stdout] --> src/main.rs:3438:30 [INFO] [stdout] | [INFO] [stdout] 3438 | for i in 0..(PV_LENGTH[0] -1) as usize { [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] 3438 - for i in 0..(PV_LENGTH[0] -1) as usize { [INFO] [stdout] 3438 + for in PREV_PV_TABLE.iter().take((PV_LENGTH[0] -1) as usize) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is only used to index `PV_TABLE` [INFO] [stdout] --> src/main.rs:3443:30 [INFO] [stdout] | [INFO] [stdout] 3443 | for i in 0..PV_LENGTH[0] as usize { [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] 3443 - for i in 0..PV_LENGTH[0] as usize { [INFO] [stdout] 3443 + for in PV_TABLE.iter().take(PV_LENGTH[0] as usize) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:3520:13 [INFO] [stdout] | [INFO] [stdout] 3520 | return MVV_LVA[get_move_piece!(mv) as usize][target_piece] +10000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 3520 - return MVV_LVA[get_move_piece!(mv) as usize][target_piece] +10000; [INFO] [stdout] 3520 + MVV_LVA[get_move_piece!(mv) as usize][target_piece] +10000 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:3526:17 [INFO] [stdout] | [INFO] [stdout] 3526 | return 9000; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 3526 - return 9000; [INFO] [stdout] 3526 + 9000 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:3529:17 [INFO] [stdout] | [INFO] [stdout] 3529 | return 8000; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 3529 - return 8000; [INFO] [stdout] 3529 + 8000 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:3532:17 [INFO] [stdout] | [INFO] [stdout] 3532 | return HISTORY_MOVES[get_move_piece!(mv) as usize][get_move_target!(mv) as usize]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 3532 - return HISTORY_MOVES[get_move_piece!(mv) as usize][get_move_target!(mv) as usize]; [INFO] [stdout] 3532 + HISTORY_MOVES[get_move_piece!(mv) as usize][get_move_target!(mv) as usize] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `bb_piece` is used to index `PIECE_BITBOARDS` [INFO] [stdout] --> src/main.rs:3513:29 [INFO] [stdout] | [INFO] [stdout] 3513 | for bb_piece in start_piece..=end_piece { [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] 3513 - for bb_piece in start_piece..=end_piece { [INFO] [stdout] 3513 + for (bb_piece, ) in PIECE_BITBOARDS.iter().enumerate().take(end_piece + 1).skip(start_piece) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:3549:9 [INFO] [stdout] | [INFO] [stdout] 3549 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 3549 - return false; [INFO] [stdout] 3549 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `index` is only used to index `REPETITION_TABLE` [INFO] [stdout] --> src/main.rs:3542:22 [INFO] [stdout] | [INFO] [stdout] 3542 | for index in 0..REPETITION_INDEX { [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] 3542 - for index in 0..REPETITION_INDEX { [INFO] [stdout] 3542 + for in REPETITION_TABLE.iter().take(REPETITION_INDEX) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:3601:5 [INFO] [stdout] | [INFO] [stdout] 3601 | return white_piece_scores + black_piece_scores; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 3601 - return white_piece_scores + black_piece_scores; [INFO] [stdout] 3601 + white_piece_scores + black_piece_scores [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> src/main.rs:3872:26 [INFO] [stdout] | [INFO] [stdout] 3872 | fn sort_moves(move_list: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 3872 ~ fn sort_moves(move_list: &mut [u64]) { [INFO] [stdout] 3873 | [INFO] [stdout] 3874 ~ let mut move_scores = move_list.to_owned().iter().map(|x| score_move(*x)).collect::>(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:3963:5 [INFO] [stdout] | [INFO] [stdout] 3963 | return alpha; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 3963 - return alpha; [INFO] [stdout] 3963 + alpha [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:4228:9 [INFO] [stdout] | [INFO] [stdout] 4228 | return alpha; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 4228 - return alpha; [INFO] [stdout] 4228 + alpha [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:3526:17 [INFO] [stdout] | [INFO] [stdout] 3526 | return 9000; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 3526 - return 9000; [INFO] [stdout] 3526 + 9000 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:3529:17 [INFO] [stdout] | [INFO] [stdout] 3529 | return 8000; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 3529 - return 8000; [INFO] [stdout] 3529 + 8000 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:3532:17 [INFO] [stdout] | [INFO] [stdout] 3532 | return HISTORY_MOVES[get_move_piece!(mv) as usize][get_move_target!(mv) as usize]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 3532 - return HISTORY_MOVES[get_move_piece!(mv) as usize][get_move_target!(mv) as usize]; [INFO] [stdout] 3532 + HISTORY_MOVES[get_move_piece!(mv) as usize][get_move_target!(mv) as usize] [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `bb_piece` is used to index `PIECE_BITBOARDS` [INFO] [stdout] --> src/main.rs:3513:29 [INFO] [stdout] | [INFO] [stdout] 3513 | for bb_piece in start_piece..=end_piece { [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] 3513 - for bb_piece in start_piece..=end_piece { [INFO] [stdout] 3513 + for (bb_piece, ) in PIECE_BITBOARDS.iter().enumerate().take(end_piece + 1).skip(start_piece) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:3549:9 [INFO] [stdout] | [INFO] [stdout] 3549 | return false; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 3549 - return false; [INFO] [stdout] 3549 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `index` is only used to index `REPETITION_TABLE` [INFO] [stdout] --> src/main.rs:3542:22 [INFO] [stdout] | [INFO] [stdout] 3542 | for index in 0..REPETITION_INDEX { [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] 3542 - for index in 0..REPETITION_INDEX { [INFO] [stdout] 3542 + for in REPETITION_TABLE.iter().take(REPETITION_INDEX) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:3601:5 [INFO] [stdout] | [INFO] [stdout] 3601 | return white_piece_scores + black_piece_scores; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 3601 - return white_piece_scores + black_piece_scores; [INFO] [stdout] 3601 + white_piece_scores + black_piece_scores [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the variable `moves_searched` is used as a loop counter [INFO] [stdout] --> src/main.rs:4099:9 [INFO] [stdout] | [INFO] [stdout] 4099 | for mv in legal_moves.iter() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `for (moves_searched, mv) in legal_moves.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: equality checks against false can be replaced by a negation [INFO] [stdout] --> src/main.rs:4120:20 [INFO] [stdout] | [INFO] [stdout] 4120 | && in_check == false [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `!in_check` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_comparison)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `next_ply` is only used to index `PV_TABLE` [INFO] [stdout] --> src/main.rs:4189:37 [INFO] [stdout] | [INFO] [stdout] 4189 | for next_ply in PLY +1 .. PV_LENGTH[PLY +1] as usize { [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] 4189 - for next_ply in PLY +1 .. PV_LENGTH[PLY +1] as usize { [INFO] [stdout] 4189 + for in PV_TABLE.iter_mut().take(PV_LENGTH[PLY +1] as usize).skip(PLY +1) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/main.rs:4219:12 [INFO] [stdout] | [INFO] [stdout] 4219 | if legal_moves.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `legal_moves.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` branch is empty [INFO] [stdout] --> src/main.rs:4265:5 [INFO] [stdout] | [INFO] [stdout] 4265 | / if command.chars().skip(3).take(8).collect::>().iter().collect::() == "infinite"{ [INFO] [stdout] 4266 | | [INFO] [stdout] 4267 | | }if command.chars().skip(3).take(5).collect::>().iter().collect::() == "wtime" { [INFO] [stdout] | |_____^ help: you can remove it: `command.chars().skip(3).take(8).collect::>().iter().collect::() == "infinite";` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_ifs [INFO] [stdout] = note: `#[warn(clippy::needless_ifs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u64` -> `u64`) [INFO] [stdout] --> src/main.rs:4365:21 [INFO] [stdout] | [INFO] [stdout] 4365 | STARTTIME = get_time_ms() as u64; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try: `get_time_ms()` [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: writing `&mut Vec` instead of `&mut [_]` involves a new object where a slice will do [INFO] [stdout] --> src/main.rs:3872:26 [INFO] [stdout] | [INFO] [stdout] 3872 | fn sort_moves(move_list: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stdout] = note: `#[warn(clippy::ptr_arg)]` on by default [INFO] [stdout] help: change this to [INFO] [stdout] | [INFO] [stdout] 3872 ~ fn sort_moves(move_list: &mut [u64]) { [INFO] [stdout] 3873 | [INFO] [stdout] 3874 ~ let mut move_scores = move_list.to_owned().iter().map(|x| score_move(*x)).collect::>(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:3963:5 [INFO] [stdout] | [INFO] [stdout] 3963 | return alpha; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 3963 - return alpha; [INFO] [stdout] 3963 + alpha [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/main.rs:4228:9 [INFO] [stdout] | [INFO] [stdout] 4228 | return alpha; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 4228 - return alpha; [INFO] [stdout] 4228 + alpha [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/main.rs:801:42 [INFO] [stdout] | [INFO] [stdout] 801 | if let Some(hash_entry) = ht.get(&HASH_KEY) { [INFO] [stdout] | ^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default [INFO] [stdout] help: use `&raw const` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 801 | if let Some(hash_entry) = ht.get(&raw const HASH_KEY) { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/main.rs:1570:39 [INFO] [stdout] | [INFO] [stdout] 1570 | println!("\n HASH: {:x}", HASH_KEY); [INFO] [stdout] | ^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/main.rs:3097:53 [INFO] [stdout] | [INFO] [stdout] 3097 | let mut updated_enemy_piece_bitboards = PIECE_BITBOARDS.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/main.rs:3430:119 [INFO] [stdout] | [INFO] [stdout] 3430 | print!("info score mate {} depth {} nodes {} pv ", -(score + MATE_VALUE ) / 2 - 1, current_depth, NODES); [INFO] [stdout] | ^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/main.rs:3432:117 [INFO] [stdout] | [INFO] [stdout] 3432 | print!("info score mate {} depth {} nodes {} pv ", (MATE_VALUE - score) / 2 + 1, current_depth, NODES); [INFO] [stdout] | ^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/main.rs:3434:92 [INFO] [stdout] | [INFO] [stdout] 3434 | print!("info score cp {} depth {} nodes {} pv ", score, current_depth, NODES); [INFO] [stdout] | ^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/main.rs:4392:66 [INFO] [stdout] | [INFO] [stdout] 4392 | println!("time:{} start:{} stop:{} depth:{} timeset:{}", TIME, STARTTIME, STOPTIME, depth, TIMESET); [INFO] [stdout] | ^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/main.rs:4392:72 [INFO] [stdout] | [INFO] [stdout] 4392 | println!("time:{} start:{} stop:{} depth:{} timeset:{}", TIME, STARTTIME, STOPTIME, depth, TIMESET); [INFO] [stdout] | ^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/main.rs:4392:83 [INFO] [stdout] | [INFO] [stdout] 4392 | println!("time:{} start:{} stop:{} depth:{} timeset:{}", TIME, STARTTIME, STOPTIME, depth, TIMESET); [INFO] [stdout] | ^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/main.rs:4392:100 [INFO] [stdout] | [INFO] [stdout] 4392 | println!("time:{} start:{} stop:{} depth:{} timeset:{}", TIME, STARTTIME, STOPTIME, depth, TIMESET); [INFO] [stdout] | ^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the variable `moves_searched` is used as a loop counter [INFO] [stdout] --> src/main.rs:4099:9 [INFO] [stdout] | [INFO] [stdout] 4099 | for mv in legal_moves.iter() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `for (moves_searched, mv) in legal_moves.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: equality checks against false can be replaced by a negation [INFO] [stdout] --> src/main.rs:4120:20 [INFO] [stdout] | [INFO] [stdout] 4120 | && in_check == false [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `!in_check` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_comparison)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `next_ply` is only used to index `PV_TABLE` [INFO] [stdout] --> src/main.rs:4189:37 [INFO] [stdout] | [INFO] [stdout] 4189 | for next_ply in PLY +1 .. PV_LENGTH[PLY +1] as usize { [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] 4189 - for next_ply in PLY +1 .. PV_LENGTH[PLY +1] as usize { [INFO] [stdout] 4189 + for in PV_TABLE.iter_mut().take(PV_LENGTH[PLY +1] as usize).skip(PLY +1) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> src/main.rs:4219:12 [INFO] [stdout] | [INFO] [stdout] 4219 | if legal_moves.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `legal_moves.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` branch is empty [INFO] [stdout] --> src/main.rs:4265:5 [INFO] [stdout] | [INFO] [stdout] 4265 | / if command.chars().skip(3).take(8).collect::>().iter().collect::() == "infinite"{ [INFO] [stdout] 4266 | | [INFO] [stdout] 4267 | | }if command.chars().skip(3).take(5).collect::>().iter().collect::() == "wtime" { [INFO] [stdout] | |_____^ help: you can remove it: `command.chars().skip(3).take(8).collect::>().iter().collect::() == "infinite";` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_ifs [INFO] [stdout] = note: `#[warn(clippy::needless_ifs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u64` -> `u64`) [INFO] [stdout] --> src/main.rs:4365:21 [INFO] [stdout] | [INFO] [stdout] 4365 | STARTTIME = get_time_ms() as u64; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: try: `get_time_ms()` [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: creating a shared reference to mutable static [INFO] [stdout] --> src/main.rs:801:42 [INFO] [stdout] | [INFO] [stdout] 801 | if let Some(hash_entry) = ht.get(&HASH_KEY) { [INFO] [stdout] | ^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default [INFO] [stdout] help: use `&raw const` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 801 | if let Some(hash_entry) = ht.get(&raw const HASH_KEY) { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/main.rs:1570:39 [INFO] [stdout] | [INFO] [stdout] 1570 | println!("\n HASH: {:x}", HASH_KEY); [INFO] [stdout] | ^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/main.rs:3097:53 [INFO] [stdout] | [INFO] [stdout] 3097 | let mut updated_enemy_piece_bitboards = PIECE_BITBOARDS.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/main.rs:3430:119 [INFO] [stdout] | [INFO] [stdout] 3430 | print!("info score mate {} depth {} nodes {} pv ", -(score + MATE_VALUE ) / 2 - 1, current_depth, NODES); [INFO] [stdout] | ^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/main.rs:3432:117 [INFO] [stdout] | [INFO] [stdout] 3432 | print!("info score mate {} depth {} nodes {} pv ", (MATE_VALUE - score) / 2 + 1, current_depth, NODES); [INFO] [stdout] | ^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/main.rs:3434:92 [INFO] [stdout] | [INFO] [stdout] 3434 | print!("info score cp {} depth {} nodes {} pv ", score, current_depth, NODES); [INFO] [stdout] | ^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/main.rs:4392:66 [INFO] [stdout] | [INFO] [stdout] 4392 | println!("time:{} start:{} stop:{} depth:{} timeset:{}", TIME, STARTTIME, STOPTIME, depth, TIMESET); [INFO] [stdout] | ^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/main.rs:4392:72 [INFO] [stdout] | [INFO] [stdout] 4392 | println!("time:{} start:{} stop:{} depth:{} timeset:{}", TIME, STARTTIME, STOPTIME, depth, TIMESET); [INFO] [stdout] | ^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/main.rs:4392:83 [INFO] [stdout] | [INFO] [stdout] 4392 | println!("time:{} start:{} stop:{} depth:{} timeset:{}", TIME, STARTTIME, STOPTIME, depth, TIMESET); [INFO] [stdout] | ^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/main.rs:4392:100 [INFO] [stdout] | [INFO] [stdout] 4392 | println!("time:{} start:{} stop:{} depth:{} timeset:{}", TIME, STARTTIME, STOPTIME, depth, TIMESET); [INFO] [stdout] | ^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.54s [INFO] running `Command { std: "docker" "inspect" "a9626cd0af1b7afe5b3b4fa48e2e566e7b1733c7996852e357ba3a74dc4e4098", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a9626cd0af1b7afe5b3b4fa48e2e566e7b1733c7996852e357ba3a74dc4e4098", kill_on_drop: false }` [INFO] [stdout] a9626cd0af1b7afe5b3b4fa48e2e566e7b1733c7996852e357ba3a74dc4e4098