[INFO] cloning repository https://github.com/jrdnrs/chess-engine
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jrdnrs/chess-engine" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjrdnrs%2Fchess-engine", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjrdnrs%2Fchess-engine'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] bc4bff3a7a49745f2f0d54ef2fcbdbdb735c8031
[INFO] testing jrdnrs/chess-engine against try#db823df02fd0c2cf67b43025ac3fef3f2d743245 for pr-150681
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjrdnrs%2Fchess-engine" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/jrdnrs/chess-engine
[INFO] finished tweaking git repo https://github.com/jrdnrs/chess-engine
[INFO] tweaked toml for git repo https://github.com/jrdnrs/chess-engine written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jrdnrs/chess-engine on toolchain db823df02fd0c2cf67b43025ac3fef3f2d743245
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/jrdnrs/chess-engine 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" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 31d158bf754345c2ce71e7a1ca44ed49bc80a8a9fae23643767153f535fdf272
[INFO] running `Command { std: "docker" "start" "-a" "31d158bf754345c2ce71e7a1ca44ed49bc80a8a9fae23643767153f535fdf272", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "31d158bf754345c2ce71e7a1ca44ed49bc80a8a9fae23643767153f535fdf272", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "31d158bf754345c2ce71e7a1ca44ed49bc80a8a9fae23643767153f535fdf272", kill_on_drop: false }`
[INFO] [stdout] 31d158bf754345c2ce71e7a1ca44ed49bc80a8a9fae23643767153f535fdf272
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5d473d360d83e28dfd224313b1a3ff4b1c91d43539c2c9fc1e5eb683e22b3ee1
[INFO] running `Command { std: "docker" "start" "-a" "5d473d360d83e28dfd224313b1a3ff4b1c91d43539c2c9fc1e5eb683e22b3ee1", kill_on_drop: false }`
[INFO] [stderr]    Compiling chess-engine v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::num`
[INFO] [stdout]  --> src/bitboard.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::num;
[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: `crate::bitboard::print_bitboard`
[INFO] [stdout]   --> src/bits.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     use crate::bitboard::print_bitboard;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/bits.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sort::selection_sort_once`
[INFO] [stdout]  --> src/engine.rs:1:63
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{bitboard::*, bits::*, board::*, moves::*, pregen, sort::selection_sort_once};
[INFO] [stdout]   |                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/pregen.rs:408:9
[INFO] [stdout]     |
[INFO] [stdout] 408 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/pregen.rs:401:39
[INFO] [stdout]     |
[INFO] [stdout] 401 |     pub fn update_zobrist_hash(&self, mut hash: u64, mov: &Move) -> u64 {
[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: unused variable: `mov`
[INFO] [stdout]    --> src/pregen.rs:401:54
[INFO] [stdout]     |
[INFO] [stdout] 401 |     pub fn update_zobrist_hash(&self, mut hash: u64, mov: &Move) -> u64 {
[INFO] [stdout]     |                                                      ^^^ help: if this is intentional, prefix it with an underscore: `_mov`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H1` is never used
[INFO] [stdout]  --> src/bitboard.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const H1: u8 = 0;
[INFO] [stdout]   |           ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `G1` is never used
[INFO] [stdout]  --> src/bitboard.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const G1: u8 = 1;
[INFO] [stdout]   |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F1` is never used
[INFO] [stdout]  --> src/bitboard.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const F1: u8 = 2;
[INFO] [stdout]   |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E1` is never used
[INFO] [stdout]  --> src/bitboard.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const E1: u8 = 3;
[INFO] [stdout]   |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `D1` is never used
[INFO] [stdout]  --> src/bitboard.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const D1: u8 = 4;
[INFO] [stdout]   |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `C1` is never used
[INFO] [stdout]   --> src/bitboard.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const C1: u8 = 5;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `B1` is never used
[INFO] [stdout]   --> src/bitboard.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const B1: u8 = 6;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `A1` is never used
[INFO] [stdout]   --> src/bitboard.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const A1: u8 = 7;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H2` is never used
[INFO] [stdout]   --> src/bitboard.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const H2: u8 = 8;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `G2` is never used
[INFO] [stdout]   --> src/bitboard.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const G2: u8 = 9;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F2` is never used
[INFO] [stdout]   --> src/bitboard.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const F2: u8 = 10;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E2` is never used
[INFO] [stdout]   --> src/bitboard.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const E2: u8 = 11;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `D2` is never used
[INFO] [stdout]   --> src/bitboard.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const D2: u8 = 12;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `C2` is never used
[INFO] [stdout]   --> src/bitboard.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const C2: u8 = 13;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `B2` is never used
[INFO] [stdout]   --> src/bitboard.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub const B2: u8 = 14;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `A2` is never used
[INFO] [stdout]   --> src/bitboard.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const A2: u8 = 15;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H3` is never used
[INFO] [stdout]   --> src/bitboard.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const H3: u8 = 16;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `G3` is never used
[INFO] [stdout]   --> src/bitboard.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const G3: u8 = 17;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F3` is never used
[INFO] [stdout]   --> src/bitboard.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const F3: u8 = 18;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E3` is never used
[INFO] [stdout]   --> src/bitboard.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const E3: u8 = 19;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `D3` is never used
[INFO] [stdout]   --> src/bitboard.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub const D3: u8 = 20;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `C3` is never used
[INFO] [stdout]   --> src/bitboard.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const C3: u8 = 21;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `B3` is never used
[INFO] [stdout]   --> src/bitboard.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub const B3: u8 = 22;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `A3` is never used
[INFO] [stdout]   --> src/bitboard.rs:28:11
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub const A3: u8 = 23;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H4` is never used
[INFO] [stdout]   --> src/bitboard.rs:29:11
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub const H4: u8 = 24;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `G4` is never used
[INFO] [stdout]   --> src/bitboard.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const G4: u8 = 25;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F4` is never used
[INFO] [stdout]   --> src/bitboard.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const F4: u8 = 26;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E4` is never used
[INFO] [stdout]   --> src/bitboard.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub const E4: u8 = 27;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `D4` is never used
[INFO] [stdout]   --> src/bitboard.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub const D4: u8 = 28;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `C4` is never used
[INFO] [stdout]   --> src/bitboard.rs:34:11
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub const C4: u8 = 29;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `B4` is never used
[INFO] [stdout]   --> src/bitboard.rs:35:11
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub const B4: u8 = 30;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `A4` is never used
[INFO] [stdout]   --> src/bitboard.rs:36:11
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub const A4: u8 = 31;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H5` is never used
[INFO] [stdout]   --> src/bitboard.rs:37:11
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub const H5: u8 = 32;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `G5` is never used
[INFO] [stdout]   --> src/bitboard.rs:38:11
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub const G5: u8 = 33;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F5` is never used
[INFO] [stdout]   --> src/bitboard.rs:39:11
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub const F5: u8 = 34;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E5` is never used
[INFO] [stdout]   --> src/bitboard.rs:40:11
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub const E5: u8 = 35;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `D5` is never used
[INFO] [stdout]   --> src/bitboard.rs:41:11
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub const D5: u8 = 36;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `C5` is never used
[INFO] [stdout]   --> src/bitboard.rs:42:11
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub const C5: u8 = 37;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `B5` is never used
[INFO] [stdout]   --> src/bitboard.rs:43:11
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub const B5: u8 = 38;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `A5` is never used
[INFO] [stdout]   --> src/bitboard.rs:44:11
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub const A5: u8 = 39;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H6` is never used
[INFO] [stdout]   --> src/bitboard.rs:45:11
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub const H6: u8 = 40;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `G6` is never used
[INFO] [stdout]   --> src/bitboard.rs:46:11
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub const G6: u8 = 41;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F6` is never used
[INFO] [stdout]   --> src/bitboard.rs:47:11
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub const F6: u8 = 42;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E6` is never used
[INFO] [stdout]   --> src/bitboard.rs:48:11
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub const E6: u8 = 43;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `D6` is never used
[INFO] [stdout]   --> src/bitboard.rs:49:11
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub const D6: u8 = 44;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `C6` is never used
[INFO] [stdout]   --> src/bitboard.rs:50:11
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub const C6: u8 = 45;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `B6` is never used
[INFO] [stdout]   --> src/bitboard.rs:51:11
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub const B6: u8 = 46;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `A6` is never used
[INFO] [stdout]   --> src/bitboard.rs:52:11
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub const A6: u8 = 47;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H7` is never used
[INFO] [stdout]   --> src/bitboard.rs:53:11
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub const H7: u8 = 48;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `G7` is never used
[INFO] [stdout]   --> src/bitboard.rs:54:11
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub const G7: u8 = 49;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F7` is never used
[INFO] [stdout]   --> src/bitboard.rs:55:11
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub const F7: u8 = 50;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E7` is never used
[INFO] [stdout]   --> src/bitboard.rs:56:11
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub const E7: u8 = 51;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `D7` is never used
[INFO] [stdout]   --> src/bitboard.rs:57:11
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub const D7: u8 = 52;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `C7` is never used
[INFO] [stdout]   --> src/bitboard.rs:58:11
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub const C7: u8 = 53;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `B7` is never used
[INFO] [stdout]   --> src/bitboard.rs:59:11
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub const B7: u8 = 54;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `A7` is never used
[INFO] [stdout]   --> src/bitboard.rs:60:11
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub const A7: u8 = 55;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H8` is never used
[INFO] [stdout]   --> src/bitboard.rs:61:11
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub const H8: u8 = 56;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `G8` is never used
[INFO] [stdout]   --> src/bitboard.rs:62:11
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub const G8: u8 = 57;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F8` is never used
[INFO] [stdout]   --> src/bitboard.rs:63:11
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub const F8: u8 = 58;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E8` is never used
[INFO] [stdout]   --> src/bitboard.rs:64:11
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub const E8: u8 = 59;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `D8` is never used
[INFO] [stdout]   --> src/bitboard.rs:65:11
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub const D8: u8 = 60;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `C8` is never used
[INFO] [stdout]   --> src/bitboard.rs:66:11
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub const C8: u8 = 61;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `B8` is never used
[INFO] [stdout]   --> src/bitboard.rs:67:11
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub const B8: u8 = 62;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `A8` is never used
[INFO] [stdout]   --> src/bitboard.rs:68:11
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub const A8: u8 = 63;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_A` is never used
[INFO] [stdout]   --> src/bitboard.rs:70:11
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub const FILE_A: u64 = 0x8080808080808080;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_B` is never used
[INFO] [stdout]   --> src/bitboard.rs:71:11
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub const FILE_B: u64 = 0x4040404040404040;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_C` is never used
[INFO] [stdout]   --> src/bitboard.rs:72:11
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub const FILE_C: u64 = 0x2020202020202020;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_D` is never used
[INFO] [stdout]   --> src/bitboard.rs:73:11
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub const FILE_D: u64 = 0x1010101010101010;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_E` is never used
[INFO] [stdout]   --> src/bitboard.rs:74:11
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub const FILE_E: u64 = 0x0808080808080808;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_F` is never used
[INFO] [stdout]   --> src/bitboard.rs:75:11
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub const FILE_F: u64 = 0x0404040404040404;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_G` is never used
[INFO] [stdout]   --> src/bitboard.rs:76:11
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub const FILE_G: u64 = 0x0202020202020202;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_H` is never used
[INFO] [stdout]   --> src/bitboard.rs:77:11
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub const FILE_H: u64 = 0x0101010101010101;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_1` is never used
[INFO] [stdout]   --> src/bitboard.rs:79:11
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub const RANK_1: u64 = 0x00000000000000FF;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_2` is never used
[INFO] [stdout]   --> src/bitboard.rs:80:11
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub const RANK_2: u64 = 0x000000000000FF00;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_3` is never used
[INFO] [stdout]   --> src/bitboard.rs:81:11
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub const RANK_3: u64 = 0x0000000000FF0000;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_4` is never used
[INFO] [stdout]   --> src/bitboard.rs:82:11
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub const RANK_4: u64 = 0x00000000FF000000;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_5` is never used
[INFO] [stdout]   --> src/bitboard.rs:83:11
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub const RANK_5: u64 = 0x000000FF00000000;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_6` is never used
[INFO] [stdout]   --> src/bitboard.rs:84:11
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub const RANK_6: u64 = 0x0000FF0000000000;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_7` is never used
[INFO] [stdout]   --> src/bitboard.rs:85:11
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub const RANK_7: u64 = 0x00FF000000000000;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_8` is never used
[INFO] [stdout]   --> src/bitboard.rs:86:11
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub const RANK_8: u64 = 0xFF00000000000000;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `A8_H1` is never used
[INFO] [stdout]   --> src/bitboard.rs:88:11
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub const A8_H1: u64 = 0x08040201008040201;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `A1_H8` is never used
[INFO] [stdout]   --> src/bitboard.rs:89:11
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub const A1_H8: u64 = 0x00102040810204080;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROOK_MAGIC_SHIFT` is never used
[INFO] [stdout]   --> src/bitboard.rs:92:11
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub const ROOK_MAGIC_SHIFT: [u64; 64] = [
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROOK_MAGIC` is never used
[INFO] [stdout]    --> src/bitboard.rs:104:11
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub const ROOK_MAGIC: [u64; 64] = [
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BISHOP_MAGIC_SHIFT` is never used
[INFO] [stdout]    --> src/bitboard.rs:124:11
[INFO] [stdout]     |
[INFO] [stdout] 124 | pub const BISHOP_MAGIC_SHIFT: [u64; 64] = [
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BISHOP_MAGIC` is never used
[INFO] [stdout]    --> src/bitboard.rs:136:11
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub const BISHOP_MAGIC: [u64; 64] = [
[INFO] [stdout]     |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WHITE_ROOK_SCORE` is never used
[INFO] [stdout]    --> src/bitboard.rs:156:7
[INFO] [stdout]     |
[INFO] [stdout] 156 | const WHITE_ROOK_SCORE: [i32; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WHITE_BISHOP_SCORE` is never used
[INFO] [stdout]    --> src/bitboard.rs:167:7
[INFO] [stdout]     |
[INFO] [stdout] 167 | const WHITE_BISHOP_SCORE: [i32; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WHITE_KNIGHT_SCORE` is never used
[INFO] [stdout]    --> src/bitboard.rs:179:7
[INFO] [stdout]     |
[INFO] [stdout] 179 | const WHITE_KNIGHT_SCORE: [i32; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WHITE_QUEEN_SCORE` is never used
[INFO] [stdout]    --> src/bitboard.rs:191:7
[INFO] [stdout]     |
[INFO] [stdout] 191 | const WHITE_QUEEN_SCORE: [i32; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WHITE_PAWN_SCORE` is never used
[INFO] [stdout]    --> src/bitboard.rs:203:7
[INFO] [stdout]     |
[INFO] [stdout] 203 | const WHITE_PAWN_SCORE: [i32; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WHITE_KING_MIDDLE_SCORE` is never used
[INFO] [stdout]    --> src/bitboard.rs:215:7
[INFO] [stdout]     |
[INFO] [stdout] 215 | const WHITE_KING_MIDDLE_SCORE: [i32; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WHITE_KING_END_SCORE` is never used
[INFO] [stdout]    --> src/bitboard.rs:227:7
[INFO] [stdout]     |
[INFO] [stdout] 227 | const WHITE_KING_END_SCORE: [i32; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLACK_ROOK_SCORE` is never used
[INFO] [stdout]    --> src/bitboard.rs:239:7
[INFO] [stdout]     |
[INFO] [stdout] 239 | const BLACK_ROOK_SCORE: [i32; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLACK_BISHOP_SCORE` is never used
[INFO] [stdout]    --> src/bitboard.rs:251:7
[INFO] [stdout]     |
[INFO] [stdout] 251 | const BLACK_BISHOP_SCORE: [i32; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLACK_KNIGHT_SCORE` is never used
[INFO] [stdout]    --> src/bitboard.rs:263:7
[INFO] [stdout]     |
[INFO] [stdout] 263 | const BLACK_KNIGHT_SCORE: [i32; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLACK_QUEEN_SCORE` is never used
[INFO] [stdout]    --> src/bitboard.rs:275:7
[INFO] [stdout]     |
[INFO] [stdout] 275 | const BLACK_QUEEN_SCORE: [i32; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLACK_PAWN_SCORE` is never used
[INFO] [stdout]    --> src/bitboard.rs:287:7
[INFO] [stdout]     |
[INFO] [stdout] 287 | const BLACK_PAWN_SCORE: [i32; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLACK_KING_MIDDLE_SCORE` is never used
[INFO] [stdout]    --> src/bitboard.rs:299:7
[INFO] [stdout]     |
[INFO] [stdout] 299 | const BLACK_KING_MIDDLE_SCORE: [i32; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLACK_KING_END_SCORE` is never used
[INFO] [stdout]    --> src/bitboard.rs:311:7
[INFO] [stdout]     |
[INFO] [stdout] 311 | const BLACK_KING_END_SCORE: [i32; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SQUARE_SCORES` is never used
[INFO] [stdout]    --> src/bitboard.rs:322:11
[INFO] [stdout]     |
[INFO] [stdout] 322 | pub const SQUARE_SCORES: [[[i32; 64]; 6]; 2] = [
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_bitboard` is never used
[INFO] [stdout]    --> src/bitboard.rs:341:8
[INFO] [stdout]     |
[INFO] [stdout] 341 | pub fn print_bitboard(bb: u64) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_rank` is never used
[INFO] [stdout]    --> src/bitboard.rs:357:8
[INFO] [stdout]     |
[INFO] [stdout] 357 | pub fn get_rank(square: u8) -> u8 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_file` is never used
[INFO] [stdout]    --> src/bitboard.rs:361:8
[INFO] [stdout]     |
[INFO] [stdout] 361 | pub fn get_file(square: u8) -> u8 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `if_color` is never used
[INFO] [stdout]    --> src/bitboard.rs:365:8
[INFO] [stdout]     |
[INFO] [stdout] 365 | pub fn if_color(color: usize, white: u8, black: u8) -> u8 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_vertical` is never used
[INFO] [stdout]    --> src/bitboard.rs:374:8
[INFO] [stdout]     |
[INFO] [stdout] 374 | pub fn shift_vertical(bb: u64, color: usize) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_vertical_index` is never used
[INFO] [stdout]    --> src/bitboard.rs:380:8
[INFO] [stdout]     |
[INFO] [stdout] 380 | pub fn shift_vertical_index(square: u8, color: usize) -> u8 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_north` is never used
[INFO] [stdout]    --> src/bitboard.rs:384:8
[INFO] [stdout]     |
[INFO] [stdout] 384 | pub fn shift_north(bb: u64) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_north_east` is never used
[INFO] [stdout]    --> src/bitboard.rs:388:8
[INFO] [stdout]     |
[INFO] [stdout] 388 | pub fn shift_north_east(bb: u64) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_east` is never used
[INFO] [stdout]    --> src/bitboard.rs:392:8
[INFO] [stdout]     |
[INFO] [stdout] 392 | pub fn shift_east(bb: u64) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_east_n` is never used
[INFO] [stdout]    --> src/bitboard.rs:396:8
[INFO] [stdout]     |
[INFO] [stdout] 396 | pub fn shift_east_n(bb: u64, n: usize) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_south_east` is never used
[INFO] [stdout]    --> src/bitboard.rs:404:8
[INFO] [stdout]     |
[INFO] [stdout] 404 | pub fn shift_south_east(bb: u64) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_south` is never used
[INFO] [stdout]    --> src/bitboard.rs:408:8
[INFO] [stdout]     |
[INFO] [stdout] 408 | pub fn shift_south(bb: u64) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_south_west` is never used
[INFO] [stdout]    --> src/bitboard.rs:412:8
[INFO] [stdout]     |
[INFO] [stdout] 412 | pub fn shift_south_west(bb: u64) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_west` is never used
[INFO] [stdout]    --> src/bitboard.rs:416:8
[INFO] [stdout]     |
[INFO] [stdout] 416 | pub fn shift_west(bb: u64) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_west_n` is never used
[INFO] [stdout]    --> src/bitboard.rs:420:8
[INFO] [stdout]     |
[INFO] [stdout] 420 | pub fn shift_west_n(bb: u64, n: usize) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_north_west` is never used
[INFO] [stdout]    --> src/bitboard.rs:428:8
[INFO] [stdout]     |
[INFO] [stdout] 428 | pub fn shift_north_west(bb: u64) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_bit` is never used
[INFO] [stdout]  --> src/bits.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn set_bit(n: u64, index: u8) -> u64 {
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_bit` is never used
[INFO] [stdout]  --> src/bits.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn clear_bit(n: u64, index: u8) -> u64 {
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_bit` is never used
[INFO] [stdout]  --> src/bits.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn test_bit(n: u64, index: u8) -> bool {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_bit` is never used
[INFO] [stdout]   --> src/bits.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn get_bit(n: u64, index: u8) -> u64 {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `isolate_bit` is never used
[INFO] [stdout]   --> src/bits.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn isolate_bit(n: u64, index: u8) -> u64 {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_lsb` is never used
[INFO] [stdout]   --> src/bits.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn clear_lsb(n: u64) -> u64 {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WHITE` is never used
[INFO] [stdout]  --> src/board.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const WHITE: usize = 0;
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLACK` is never used
[INFO] [stdout]  --> src/board.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const BLACK: usize = 1;
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ALL` is never used
[INFO] [stdout]   --> src/board.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const ALL: usize = 2;
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROOK` is never used
[INFO] [stdout]   --> src/board.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const ROOK: usize = 0;
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BISHOP` is never used
[INFO] [stdout]   --> src/board.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const BISHOP: usize = 1;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KNIGHT` is never used
[INFO] [stdout]   --> src/board.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const KNIGHT: usize = 2;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QUEEN` is never used
[INFO] [stdout]   --> src/board.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const QUEEN: usize = 3;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PAWN` is never used
[INFO] [stdout]   --> src/board.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const PAWN: usize = 4;
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KING` is never used
[INFO] [stdout]   --> src/board.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const KING: usize = 5;
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NONE` is never used
[INFO] [stdout]   --> src/board.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const NONE: usize = 6;
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PIECE_VALUE` is never used
[INFO] [stdout]   --> src/board.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const PIECE_VALUE: [i32; 5] = [600, 400, 400, 1200, 100];
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Board` is never constructed
[INFO] [stdout]   --> src/board.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct Board {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/board.rs:32:12
[INFO] [stdout]     |
[INFO] [stdout]  31 | impl Board {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout]  32 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  43 |     pub fn reset(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  52 |     pub fn load_fen(&mut self, fen: &str) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub fn player_score(&self, color: usize) -> i32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |     pub fn swap_color(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 |     pub fn make_move(&mut self, mov: &Move) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 267 |     pub fn unmake_move(&mut self, mov: &Move, state: PreMoveState) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 313 |     pub fn get_piece_on_square(&self, color: usize, square: u8) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 323 |     pub fn add_piece(&mut self, piece: usize, color: usize, square: u8) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 327 |     pub fn remove_piece(&mut self, piece: usize, color: usize, square: u8) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 331 |     pub fn move_piece(&mut self, piece: usize, color: usize, from: u8, to: u8) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 336 |     pub fn update_occupancy(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BACK_RANK` is never used
[INFO] [stdout]  --> src/engine.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | const BACK_RANK: [u8; 2] = [0, 7];
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PAWN_RANK` is never used
[INFO] [stdout]  --> src/engine.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const PAWN_RANK: [u8; 2] = [1, 6];
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PENULT_RANK` is never used
[INFO] [stdout]  --> src/engine.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const PENULT_RANK: [u8; 2] = [6, 1];
[INFO] [stdout]   |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CASTLE_SAFE_SQUARES` is never used
[INFO] [stdout]  --> src/engine.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const CASTLE_SAFE_SQUARES: [[u64; 2]; 2] = [[0xE, 0x38], [0xE00000000000000, 0x3800000000000000]];
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CASTLE_OPEN_SQUARES` is never used
[INFO] [stdout]  --> src/engine.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const CASTLE_OPEN_SQUARES: [[u64; 2]; 2] = [[0x6, 0x70], [0x600000000000000, 0x7000000000000000]];
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INFINITY` is never used
[INFO] [stdout]   --> src/engine.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const INFINITY: i32 = 0x0FFFFFFF;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TABLE_SIZE` is never used
[INFO] [stdout]   --> src/engine.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const TABLE_SIZE: usize = 2 << 5;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TABLE_MODULUS` is never used
[INFO] [stdout]   --> src/engine.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const TABLE_MODULUS: usize = TABLE_SIZE - 1;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Engine` is never constructed
[INFO] [stdout]   --> src/engine.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Engine {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/engine.rs:77:12
[INFO] [stdout]     |
[INFO] [stdout]  76 | impl Engine {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout]  77 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn reset(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     pub fn load_fen(&mut self, fen: &str) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub fn best_move(&mut self, depth: u16) -> Option<Move> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     fn negamax(&mut self, from_root: u16, from_target: u16, mut alpha: i32, beta: i32) -> i32 {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 175 |     fn quiesce(&mut self, mut alpha: i32, beta: i32) -> i32 {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     fn evaluate_position(&self) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 210 |     fn evaluate_moves(&self, moves: &[Move]) -> Vec<(i32, usize)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 218 |     fn evaluate_move(&self, mov: &Move) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 240 |     pub fn make_move(&mut self, mov: &Move) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     pub fn unmake_move(&mut self, mov: &Move) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 260 |     fn update_threats(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 325 |     fn update_en_passant_pin(&mut self, king_to_enemy_mask: u64, enemy_blockers: u64) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 350 |     fn update_pins_and_checks(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 452 |     pub fn generate_moves(&mut self) -> Vec<Move> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 471 |     fn rook_moves(&mut self, list: &mut Vec<Move>) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 507 |     fn bishop_moves(&mut self, list: &mut Vec<Move>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 545 |     fn queen_moves(&mut self, list: &mut Vec<Move>) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 590 |     fn knight_moves(&mut self, list: &mut Vec<Move>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 617 |     fn pawn_moves(&self, list: &mut Vec<Move>) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 688 |     fn king_moves(&mut self, list: &mut Vec<Move>) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STARTING_FEN` is never used
[INFO] [stdout]    --> src/engine.rs:729:11
[INFO] [stdout]     |
[INFO] [stdout] 729 |     const STARTING_FEN: &str = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1";
[INFO] [stdout]     |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_state` is never used
[INFO] [stdout]    --> src/engine.rs:731:8
[INFO] [stdout]     |
[INFO] [stdout] 731 |     fn print_state(game: &mut Engine) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_board` is never used
[INFO] [stdout]    --> src/engine.rs:798:8
[INFO] [stdout]     |
[INFO] [stdout] 798 |     fn print_board(board: &Board) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `perft` is never used
[INFO] [stdout]    --> src/engine.rs:855:8
[INFO] [stdout]     |
[INFO] [stdout] 855 |     fn perft(engine: &mut Engine, depth: u8) -> usize {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `go_perft` is never used
[INFO] [stdout]    --> src/engine.rs:872:8
[INFO] [stdout]     |
[INFO] [stdout] 872 |     fn go_perft(engine: &mut Engine, depth: u8) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CAPTURE` is never used
[INFO] [stdout]  --> src/moves.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const CAPTURE: u8 = 1;
[INFO] [stdout]   |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROMOTION` is never used
[INFO] [stdout]  --> src/moves.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const PROMOTION: u8 = 1 << 1;
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KING_SIDE` is never used
[INFO] [stdout]  --> src/moves.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const KING_SIDE: u8 = 1 << 2;
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QUEEN_SIDE` is never used
[INFO] [stdout]  --> src/moves.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const QUEEN_SIDE: u8 = 2 << 2;
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EN_PASSANT_MOVE` is never used
[INFO] [stdout]   --> src/moves.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const EN_PASSANT_MOVE: u8 = 1 << 4;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EN_PASSANT_CAP` is never used
[INFO] [stdout]   --> src/moves.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const EN_PASSANT_CAP: u8 = 2 << 4;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Move` is never constructed
[INFO] [stdout]   --> src/moves.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Move {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/moves.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl Move {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 23 |     const CAPTURE_MASK: u8 = CAPTURE;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 24 |     const PROMOTION_MASK: u8 = PROMOTION;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 25 |     const CASTLING_MASK: u8 = KING_SIDE | QUEEN_SIDE;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 26 |     const EN_PASSANT_MASK: u8 = EN_PASSANT_MOVE | EN_PASSANT_CAP;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 27 |
[INFO] [stdout] 28 |     pub fn new(piece: usize, from: u8, to: u8, flags: u8) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn is_capture(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn is_promotion(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn is_en_passant(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn is_castle(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn get_castling_bits(&self) -> u8 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn get_en_pass_bits(&self) -> u8 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IndexOfNextBest` is never constructed
[INFO] [stdout]   --> src/moves.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct IndexOfNextBest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/moves.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | impl IndexOfNextBest {
[INFO] [stdout]    | -------------------- associated function in this implementation
[INFO] [stdout] 68 |     pub fn new(evals: Vec<(i32, usize)>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `moves_from_bitboard` is never used
[INFO] [stdout]   --> src/moves.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub fn moves_from_bitboard(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PreMoveState` is never constructed
[INFO] [stdout]    --> src/moves.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub struct PreMoveState {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `EN_PASSANT_MASK`, `new`, `get_castling_rights`, `get_en_passant`, and `get_captured_piece` are never used
[INFO] [stdout]    --> src/moves.rs:111:11
[INFO] [stdout]     |
[INFO] [stdout] 110 | impl PreMoveState {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 111 |     const EN_PASSANT_MASK: u16 = 0b111111 << 4;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 112 |
[INFO] [stdout] 113 |     pub fn new(castling_rights: [[bool; 2]; 2], en_passant: u64, captured_piece: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn get_castling_rights(&self) -> [[bool; 2]; 2] {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn get_en_passant(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub fn get_captured_piece(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rays` is never constructed
[INFO] [stdout]  --> src/pregen.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Rays(pub [[u64; 64]; 8]);
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/pregen.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Rays {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 12 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BlockerMasks` is never constructed
[INFO] [stdout]   --> src/pregen.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub struct BlockerMasks(pub [[u64; 64]; 2]);
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/pregen.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl BlockerMasks {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 70 |     pub fn new(rays: &Rays) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AttackSets` is never constructed
[INFO] [stdout]   --> src/pregen.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub struct AttackSets {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/pregen.rs:110:12
[INFO] [stdout]     |
[INFO] [stdout] 109 | impl AttackSets {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 110 |     pub fn new(rays: &Rays, blocker_masks: &BlockerMasks) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn get_rook_attacks(&self, square: usize, blockers: u64) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |     pub fn get_bishop_attacks(&self, square: usize, blockers: u64) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     fn rook(rays: &Rays, blocker_masks: &BlockerMasks) -> (Vec<u64>, [usize; 64]) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     fn bishop(rays: &Rays, blocker_masks: &BlockerMasks) -> (Vec<u64>, [usize; 64]) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     fn knight() -> [u64; 64] {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     fn king() -> [u64; 64] {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     fn pawn() -> [[u64; 64]; 2] {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `knight_attack` is never used
[INFO] [stdout]    --> src/pregen.rs:226:8
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub fn knight_attack(square: usize) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `king_attack` is never used
[INFO] [stdout]    --> src/pregen.rs:235:8
[INFO] [stdout]     |
[INFO] [stdout] 235 | pub fn king_attack(square: usize) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pawn_attack` is never used
[INFO] [stdout]    --> src/pregen.rs:244:8
[INFO] [stdout]     |
[INFO] [stdout] 244 | pub fn pawn_attack(square: usize, color: usize) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rook_attack` is never used
[INFO] [stdout]    --> src/pregen.rs:254:8
[INFO] [stdout]     |
[INFO] [stdout] 254 | pub fn rook_attack(square: u64, blockers: u64, rays: &Rays) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bishop_attack` is never used
[INFO] [stdout]    --> src/pregen.rs:292:8
[INFO] [stdout]     |
[INFO] [stdout] 292 | pub fn bishop_attack(square: u64, blockers: u64, rays: &Rays) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TableEntry` is never constructed
[INFO] [stdout]    --> src/pregen.rs:331:12
[INFO] [stdout]     |
[INFO] [stdout] 331 | pub struct TableEntry {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TranspositionTable` is never constructed
[INFO] [stdout]    --> src/pregen.rs:339:12
[INFO] [stdout]     |
[INFO] [stdout] 339 | pub struct TranspositionTable {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `zobrist_hash`, and `update_zobrist_hash` are never used
[INFO] [stdout]    --> src/pregen.rs:349:12
[INFO] [stdout]     |
[INFO] [stdout] 348 | impl TranspositionTable {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout] 349 |     pub fn new(size: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 370 |     pub fn zobrist_hash(&self, board: &Board) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 401 |     pub fn update_zobrist_hash(&self, mut hash: u64, mov: &Move) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_string` is never used
[INFO] [stdout]  --> src/square.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn parse_string(square: &str) -> Result<u8, &str> {
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_string` is never used
[INFO] [stdout]   --> src/square.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn to_string(square: u8) -> String {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `XORShift64` is never constructed
[INFO] [stdout]  --> src/rand.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct XORShift64 {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `rand` are never used
[INFO] [stdout]   --> src/rand.rs:7:12
[INFO] [stdout]    |
[INFO] [stdout]  6 | impl XORShift64 {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout]  7 |     pub fn new(seed: u64) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 11 |     pub fn rand(&mut self) -> u64 {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `selection_sort_once` is never used
[INFO] [stdout]  --> src/sort.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn selection_sort_once(evals: &mut [(i32, usize)]) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.44s
[INFO] running `Command { std: "docker" "inspect" "5d473d360d83e28dfd224313b1a3ff4b1c91d43539c2c9fc1e5eb683e22b3ee1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5d473d360d83e28dfd224313b1a3ff4b1c91d43539c2c9fc1e5eb683e22b3ee1", kill_on_drop: false }`
[INFO] [stdout] 5d473d360d83e28dfd224313b1a3ff4b1c91d43539c2c9fc1e5eb683e22b3ee1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f29344dbbeba7dd7d4eadd48759b3cacba905757005241d5b92c07c36f84fc10
[INFO] running `Command { std: "docker" "start" "-a" "f29344dbbeba7dd7d4eadd48759b3cacba905757005241d5b92c07c36f84fc10", kill_on_drop: false }`
[INFO] [stderr]    Compiling chess-engine v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::num`
[INFO] [stdout]  --> src/bitboard.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::num;
[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: `sort::selection_sort_once`
[INFO] [stdout]  --> src/engine.rs:1:63
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{bitboard::*, bits::*, board::*, moves::*, pregen, sort::selection_sort_once};
[INFO] [stdout]   |                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::num`
[INFO] [stdout]  --> src/bitboard.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::num;
[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: `crate::bitboard::print_bitboard`
[INFO] [stdout]   --> src/bits.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |     use crate::bitboard::print_bitboard;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]   --> src/bits.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     use super::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sort::selection_sort_once`
[INFO] [stdout]  --> src/engine.rs:1:63
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{bitboard::*, bits::*, board::*, moves::*, pregen, sort::selection_sort_once};
[INFO] [stdout]   |                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/pregen.rs:408:9
[INFO] [stdout]     |
[INFO] [stdout] 408 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/pregen.rs:401:39
[INFO] [stdout]     |
[INFO] [stdout] 401 |     pub fn update_zobrist_hash(&self, mut hash: u64, mov: &Move) -> u64 {
[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: unused variable: `mov`
[INFO] [stdout]    --> src/pregen.rs:401:54
[INFO] [stdout]     |
[INFO] [stdout] 401 |     pub fn update_zobrist_hash(&self, mut hash: u64, mov: &Move) -> u64 {
[INFO] [stdout]     |                                                      ^^^ help: if this is intentional, prefix it with an underscore: `_mov`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/pregen.rs:401:39
[INFO] [stdout]     |
[INFO] [stdout] 401 |     pub fn update_zobrist_hash(&self, mut hash: u64, mov: &Move) -> u64 {
[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: unused variable: `mov`
[INFO] [stdout]    --> src/pregen.rs:401:54
[INFO] [stdout]     |
[INFO] [stdout] 401 |     pub fn update_zobrist_hash(&self, mut hash: u64, mov: &Move) -> u64 {
[INFO] [stdout]     |                                                      ^^^ help: if this is intentional, prefix it with an underscore: `_mov`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bm`
[INFO] [stdout]    --> src/pregen.rs:496:13
[INFO] [stdout]     |
[INFO] [stdout] 496 |         let bm = BlockerMasks::new(&rays);
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_bm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H1` is never used
[INFO] [stdout]  --> src/bitboard.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub const H1: u8 = 0;
[INFO] [stdout]   |           ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `G1` is never used
[INFO] [stdout]  --> src/bitboard.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const G1: u8 = 1;
[INFO] [stdout]   |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F1` is never used
[INFO] [stdout]  --> src/bitboard.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const F1: u8 = 2;
[INFO] [stdout]   |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E1` is never used
[INFO] [stdout]  --> src/bitboard.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const E1: u8 = 3;
[INFO] [stdout]   |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `D1` is never used
[INFO] [stdout]  --> src/bitboard.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const D1: u8 = 4;
[INFO] [stdout]   |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `C1` is never used
[INFO] [stdout]   --> src/bitboard.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const C1: u8 = 5;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `B1` is never used
[INFO] [stdout]   --> src/bitboard.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const B1: u8 = 6;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `A1` is never used
[INFO] [stdout]   --> src/bitboard.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const A1: u8 = 7;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H2` is never used
[INFO] [stdout]   --> src/bitboard.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const H2: u8 = 8;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `G2` is never used
[INFO] [stdout]   --> src/bitboard.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const G2: u8 = 9;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F2` is never used
[INFO] [stdout]   --> src/bitboard.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const F2: u8 = 10;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E2` is never used
[INFO] [stdout]   --> src/bitboard.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const E2: u8 = 11;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `D2` is never used
[INFO] [stdout]   --> src/bitboard.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const D2: u8 = 12;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `C2` is never used
[INFO] [stdout]   --> src/bitboard.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const C2: u8 = 13;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `B2` is never used
[INFO] [stdout]   --> src/bitboard.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub const B2: u8 = 14;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `A2` is never used
[INFO] [stdout]   --> src/bitboard.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const A2: u8 = 15;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H3` is never used
[INFO] [stdout]   --> src/bitboard.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const H3: u8 = 16;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `G3` is never used
[INFO] [stdout]   --> src/bitboard.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const G3: u8 = 17;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F3` is never used
[INFO] [stdout]   --> src/bitboard.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const F3: u8 = 18;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E3` is never used
[INFO] [stdout]   --> src/bitboard.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const E3: u8 = 19;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `D3` is never used
[INFO] [stdout]   --> src/bitboard.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub const D3: u8 = 20;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `C3` is never used
[INFO] [stdout]   --> src/bitboard.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const C3: u8 = 21;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `B3` is never used
[INFO] [stdout]   --> src/bitboard.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub const B3: u8 = 22;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `A3` is never used
[INFO] [stdout]   --> src/bitboard.rs:28:11
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub const A3: u8 = 23;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H4` is never used
[INFO] [stdout]   --> src/bitboard.rs:29:11
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub const H4: u8 = 24;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `G4` is never used
[INFO] [stdout]   --> src/bitboard.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const G4: u8 = 25;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F4` is never used
[INFO] [stdout]   --> src/bitboard.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const F4: u8 = 26;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E4` is never used
[INFO] [stdout]   --> src/bitboard.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub const E4: u8 = 27;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `G1` is never used
[INFO] [stdout]  --> src/bitboard.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const G1: u8 = 1;
[INFO] [stdout]   |           ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F1` is never used
[INFO] [stdout]  --> src/bitboard.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const F1: u8 = 2;
[INFO] [stdout]   |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E1` is never used
[INFO] [stdout]  --> src/bitboard.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const E1: u8 = 3;
[INFO] [stdout]   |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `D1` is never used
[INFO] [stdout]  --> src/bitboard.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const D1: u8 = 4;
[INFO] [stdout]   |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `C1` is never used
[INFO] [stdout]   --> src/bitboard.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const C1: u8 = 5;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `B1` is never used
[INFO] [stdout]   --> src/bitboard.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const B1: u8 = 6;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H2` is never used
[INFO] [stdout]   --> src/bitboard.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const H2: u8 = 8;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `G2` is never used
[INFO] [stdout]   --> src/bitboard.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const G2: u8 = 9;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F2` is never used
[INFO] [stdout]   --> src/bitboard.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const F2: u8 = 10;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E2` is never used
[INFO] [stdout]   --> src/bitboard.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const E2: u8 = 11;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `D2` is never used
[INFO] [stdout]   --> src/bitboard.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const D2: u8 = 12;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `C2` is never used
[INFO] [stdout]   --> src/bitboard.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const C2: u8 = 13;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `B2` is never used
[INFO] [stdout]   --> src/bitboard.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub const B2: u8 = 14;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `A2` is never used
[INFO] [stdout]   --> src/bitboard.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const A2: u8 = 15;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H3` is never used
[INFO] [stdout]   --> src/bitboard.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const H3: u8 = 16;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `G3` is never used
[INFO] [stdout]   --> src/bitboard.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const G3: u8 = 17;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F3` is never used
[INFO] [stdout]   --> src/bitboard.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const F3: u8 = 18;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E3` is never used
[INFO] [stdout]   --> src/bitboard.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const E3: u8 = 19;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `D3` is never used
[INFO] [stdout]   --> src/bitboard.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub const D3: u8 = 20;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `C3` is never used
[INFO] [stdout]   --> src/bitboard.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const C3: u8 = 21;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `B3` is never used
[INFO] [stdout]   --> src/bitboard.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub const B3: u8 = 22;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `A3` is never used
[INFO] [stdout]   --> src/bitboard.rs:28:11
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub const A3: u8 = 23;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H4` is never used
[INFO] [stdout]   --> src/bitboard.rs:29:11
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub const H4: u8 = 24;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `G4` is never used
[INFO] [stdout]   --> src/bitboard.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const G4: u8 = 25;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F4` is never used
[INFO] [stdout]   --> src/bitboard.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const F4: u8 = 26;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E4` is never used
[INFO] [stdout]   --> src/bitboard.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub const E4: u8 = 27;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `D4` is never used
[INFO] [stdout]   --> src/bitboard.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub const D4: u8 = 28;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `C4` is never used
[INFO] [stdout]   --> src/bitboard.rs:34:11
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub const C4: u8 = 29;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `B4` is never used
[INFO] [stdout]   --> src/bitboard.rs:35:11
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub const B4: u8 = 30;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `A4` is never used
[INFO] [stdout]   --> src/bitboard.rs:36:11
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub const A4: u8 = 31;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H5` is never used
[INFO] [stdout]   --> src/bitboard.rs:37:11
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub const H5: u8 = 32;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `G5` is never used
[INFO] [stdout]   --> src/bitboard.rs:38:11
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub const G5: u8 = 33;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F5` is never used
[INFO] [stdout]   --> src/bitboard.rs:39:11
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub const F5: u8 = 34;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E5` is never used
[INFO] [stdout]   --> src/bitboard.rs:40:11
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub const E5: u8 = 35;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `D5` is never used
[INFO] [stdout]   --> src/bitboard.rs:41:11
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub const D5: u8 = 36;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `C5` is never used
[INFO] [stdout]   --> src/bitboard.rs:42:11
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub const C5: u8 = 37;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `B5` is never used
[INFO] [stdout]   --> src/bitboard.rs:43:11
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub const B5: u8 = 38;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `A5` is never used
[INFO] [stdout]   --> src/bitboard.rs:44:11
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub const A5: u8 = 39;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H6` is never used
[INFO] [stdout]   --> src/bitboard.rs:45:11
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub const H6: u8 = 40;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `G6` is never used
[INFO] [stdout]   --> src/bitboard.rs:46:11
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub const G6: u8 = 41;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F6` is never used
[INFO] [stdout]   --> src/bitboard.rs:47:11
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub const F6: u8 = 42;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E6` is never used
[INFO] [stdout]   --> src/bitboard.rs:48:11
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub const E6: u8 = 43;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `D6` is never used
[INFO] [stdout]   --> src/bitboard.rs:49:11
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub const D6: u8 = 44;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `C6` is never used
[INFO] [stdout]   --> src/bitboard.rs:50:11
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub const C6: u8 = 45;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `B6` is never used
[INFO] [stdout]   --> src/bitboard.rs:51:11
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub const B6: u8 = 46;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `A6` is never used
[INFO] [stdout]   --> src/bitboard.rs:52:11
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub const A6: u8 = 47;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H7` is never used
[INFO] [stdout]   --> src/bitboard.rs:53:11
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub const H7: u8 = 48;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `G7` is never used
[INFO] [stdout]   --> src/bitboard.rs:54:11
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub const G7: u8 = 49;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F7` is never used
[INFO] [stdout]   --> src/bitboard.rs:55:11
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub const F7: u8 = 50;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E7` is never used
[INFO] [stdout]   --> src/bitboard.rs:56:11
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub const E7: u8 = 51;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `D7` is never used
[INFO] [stdout]   --> src/bitboard.rs:57:11
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub const D7: u8 = 52;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `C7` is never used
[INFO] [stdout]   --> src/bitboard.rs:58:11
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub const C7: u8 = 53;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `B7` is never used
[INFO] [stdout]   --> src/bitboard.rs:59:11
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub const B7: u8 = 54;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `A7` is never used
[INFO] [stdout]   --> src/bitboard.rs:60:11
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub const A7: u8 = 55;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `G8` is never used
[INFO] [stdout]   --> src/bitboard.rs:62:11
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub const G8: u8 = 57;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F8` is never used
[INFO] [stdout]   --> src/bitboard.rs:63:11
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub const F8: u8 = 58;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E8` is never used
[INFO] [stdout]   --> src/bitboard.rs:64:11
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub const E8: u8 = 59;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `D8` is never used
[INFO] [stdout]   --> src/bitboard.rs:65:11
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub const D8: u8 = 60;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `C8` is never used
[INFO] [stdout]   --> src/bitboard.rs:66:11
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub const C8: u8 = 61;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `B8` is never used
[INFO] [stdout]   --> src/bitboard.rs:67:11
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub const B8: u8 = 62;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_C` is never used
[INFO] [stdout]   --> src/bitboard.rs:72:11
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub const FILE_C: u64 = 0x2020202020202020;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_D` is never used
[INFO] [stdout]   --> src/bitboard.rs:73:11
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub const FILE_D: u64 = 0x1010101010101010;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_E` is never used
[INFO] [stdout]   --> src/bitboard.rs:74:11
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub const FILE_E: u64 = 0x0808080808080808;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_F` is never used
[INFO] [stdout]   --> src/bitboard.rs:75:11
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub const FILE_F: u64 = 0x0404040404040404;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_2` is never used
[INFO] [stdout]   --> src/bitboard.rs:80:11
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub const RANK_2: u64 = 0x000000000000FF00;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_3` is never used
[INFO] [stdout]   --> src/bitboard.rs:81:11
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub const RANK_3: u64 = 0x0000000000FF0000;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_4` is never used
[INFO] [stdout]   --> src/bitboard.rs:82:11
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub const RANK_4: u64 = 0x00000000FF000000;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_5` is never used
[INFO] [stdout]   --> src/bitboard.rs:83:11
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub const RANK_5: u64 = 0x000000FF00000000;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_6` is never used
[INFO] [stdout]   --> src/bitboard.rs:84:11
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub const RANK_6: u64 = 0x0000FF0000000000;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_7` is never used
[INFO] [stdout]   --> src/bitboard.rs:85:11
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub const RANK_7: u64 = 0x00FF000000000000;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WHITE_KING_END_SCORE` is never used
[INFO] [stdout]    --> src/bitboard.rs:227:7
[INFO] [stdout]     |
[INFO] [stdout] 227 | const WHITE_KING_END_SCORE: [i32; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLACK_KING_END_SCORE` is never used
[INFO] [stdout]    --> src/bitboard.rs:311:7
[INFO] [stdout]     |
[INFO] [stdout] 311 | const BLACK_KING_END_SCORE: [i32; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_north` is never used
[INFO] [stdout]    --> src/bitboard.rs:384:8
[INFO] [stdout]     |
[INFO] [stdout] 384 | pub fn shift_north(bb: u64) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_east` is never used
[INFO] [stdout]    --> src/bitboard.rs:392:8
[INFO] [stdout]     |
[INFO] [stdout] 392 | pub fn shift_east(bb: u64) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_south` is never used
[INFO] [stdout]    --> src/bitboard.rs:408:8
[INFO] [stdout]     |
[INFO] [stdout] 408 | pub fn shift_south(bb: u64) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_west` is never used
[INFO] [stdout]    --> src/bitboard.rs:416:8
[INFO] [stdout]     |
[INFO] [stdout] 416 | pub fn shift_west(bb: u64) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_bit` is never used
[INFO] [stdout]   --> src/bits.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn get_bit(n: u64, index: u8) -> u64 {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BACK_RANK` is never used
[INFO] [stdout]  --> src/engine.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | const BACK_RANK: [u8; 2] = [0, 7];
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TABLE_MODULUS` is never used
[INFO] [stdout]   --> src/engine.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const TABLE_MODULUS: usize = TABLE_SIZE - 1;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `transposition_table` is never read
[INFO] [stdout]   --> src/engine.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Engine {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub transposition_table: pregen::TranspositionTable,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `go_perft` is never used
[INFO] [stdout]    --> src/engine.rs:872:8
[INFO] [stdout]     |
[INFO] [stdout] 872 |     fn go_perft(engine: &mut Engine, depth: u8) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_en_passant` and `is_castle` are never used
[INFO] [stdout]   --> src/moves.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl Move {
[INFO] [stdout]    | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn is_en_passant(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn is_castle(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `D4` is never used
[INFO] [stdout]   --> src/bitboard.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub const D4: u8 = 28;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `C4` is never used
[INFO] [stdout]   --> src/bitboard.rs:34:11
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub const C4: u8 = 29;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `B4` is never used
[INFO] [stdout]   --> src/bitboard.rs:35:11
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub const B4: u8 = 30;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `A4` is never used
[INFO] [stdout]   --> src/bitboard.rs:36:11
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub const A4: u8 = 31;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H5` is never used
[INFO] [stdout]   --> src/bitboard.rs:37:11
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub const H5: u8 = 32;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `G5` is never used
[INFO] [stdout]   --> src/bitboard.rs:38:11
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub const G5: u8 = 33;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F5` is never used
[INFO] [stdout]   --> src/bitboard.rs:39:11
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub const F5: u8 = 34;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E5` is never used
[INFO] [stdout]   --> src/bitboard.rs:40:11
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub const E5: u8 = 35;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `D5` is never used
[INFO] [stdout]   --> src/bitboard.rs:41:11
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub const D5: u8 = 36;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `C5` is never used
[INFO] [stdout]   --> src/bitboard.rs:42:11
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub const C5: u8 = 37;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `B5` is never used
[INFO] [stdout]   --> src/bitboard.rs:43:11
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub const B5: u8 = 38;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `A5` is never used
[INFO] [stdout]   --> src/bitboard.rs:44:11
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub const A5: u8 = 39;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H6` is never used
[INFO] [stdout]   --> src/bitboard.rs:45:11
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub const H6: u8 = 40;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `G6` is never used
[INFO] [stdout]   --> src/bitboard.rs:46:11
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub const G6: u8 = 41;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F6` is never used
[INFO] [stdout]   --> src/bitboard.rs:47:11
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub const F6: u8 = 42;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E6` is never used
[INFO] [stdout]   --> src/bitboard.rs:48:11
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub const E6: u8 = 43;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `D6` is never used
[INFO] [stdout]   --> src/bitboard.rs:49:11
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub const D6: u8 = 44;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `C6` is never used
[INFO] [stdout]   --> src/bitboard.rs:50:11
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub const C6: u8 = 45;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `B6` is never used
[INFO] [stdout]   --> src/bitboard.rs:51:11
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub const B6: u8 = 46;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `A6` is never used
[INFO] [stdout]   --> src/bitboard.rs:52:11
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub const A6: u8 = 47;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H7` is never used
[INFO] [stdout]   --> src/bitboard.rs:53:11
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub const H7: u8 = 48;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `G7` is never used
[INFO] [stdout]   --> src/bitboard.rs:54:11
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub const G7: u8 = 49;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F7` is never used
[INFO] [stdout]   --> src/bitboard.rs:55:11
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub const F7: u8 = 50;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E7` is never used
[INFO] [stdout]   --> src/bitboard.rs:56:11
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub const E7: u8 = 51;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `D7` is never used
[INFO] [stdout]   --> src/bitboard.rs:57:11
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub const D7: u8 = 52;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `C7` is never used
[INFO] [stdout]   --> src/bitboard.rs:58:11
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub const C7: u8 = 53;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `B7` is never used
[INFO] [stdout]   --> src/bitboard.rs:59:11
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub const B7: u8 = 54;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `A7` is never used
[INFO] [stdout]   --> src/bitboard.rs:60:11
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub const A7: u8 = 55;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H8` is never used
[INFO] [stdout]   --> src/bitboard.rs:61:11
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub const H8: u8 = 56;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `G8` is never used
[INFO] [stdout]   --> src/bitboard.rs:62:11
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub const G8: u8 = 57;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `F8` is never used
[INFO] [stdout]   --> src/bitboard.rs:63:11
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub const F8: u8 = 58;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `E8` is never used
[INFO] [stdout]   --> src/bitboard.rs:64:11
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub const E8: u8 = 59;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `D8` is never used
[INFO] [stdout]   --> src/bitboard.rs:65:11
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub const D8: u8 = 60;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `C8` is never used
[INFO] [stdout]   --> src/bitboard.rs:66:11
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub const C8: u8 = 61;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `B8` is never used
[INFO] [stdout]   --> src/bitboard.rs:67:11
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub const B8: u8 = 62;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `A8` is never used
[INFO] [stdout]   --> src/bitboard.rs:68:11
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub const A8: u8 = 63;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_A` is never used
[INFO] [stdout]   --> src/bitboard.rs:70:11
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub const FILE_A: u64 = 0x8080808080808080;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_B` is never used
[INFO] [stdout]   --> src/bitboard.rs:71:11
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub const FILE_B: u64 = 0x4040404040404040;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_C` is never used
[INFO] [stdout]   --> src/bitboard.rs:72:11
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub const FILE_C: u64 = 0x2020202020202020;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_D` is never used
[INFO] [stdout]   --> src/bitboard.rs:73:11
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub const FILE_D: u64 = 0x1010101010101010;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_E` is never used
[INFO] [stdout]   --> src/bitboard.rs:74:11
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub const FILE_E: u64 = 0x0808080808080808;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_F` is never used
[INFO] [stdout]   --> src/bitboard.rs:75:11
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub const FILE_F: u64 = 0x0404040404040404;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_G` is never used
[INFO] [stdout]   --> src/bitboard.rs:76:11
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub const FILE_G: u64 = 0x0202020202020202;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_H` is never used
[INFO] [stdout]   --> src/bitboard.rs:77:11
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub const FILE_H: u64 = 0x0101010101010101;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_1` is never used
[INFO] [stdout]   --> src/bitboard.rs:79:11
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub const RANK_1: u64 = 0x00000000000000FF;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_2` is never used
[INFO] [stdout]   --> src/bitboard.rs:80:11
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub const RANK_2: u64 = 0x000000000000FF00;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_3` is never used
[INFO] [stdout]   --> src/bitboard.rs:81:11
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub const RANK_3: u64 = 0x0000000000FF0000;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_4` is never used
[INFO] [stdout]   --> src/bitboard.rs:82:11
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub const RANK_4: u64 = 0x00000000FF000000;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_5` is never used
[INFO] [stdout]   --> src/bitboard.rs:83:11
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub const RANK_5: u64 = 0x000000FF00000000;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_6` is never used
[INFO] [stdout]   --> src/bitboard.rs:84:11
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub const RANK_6: u64 = 0x0000FF0000000000;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_7` is never used
[INFO] [stdout]   --> src/bitboard.rs:85:11
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub const RANK_7: u64 = 0x00FF000000000000;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_8` is never used
[INFO] [stdout]   --> src/bitboard.rs:86:11
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub const RANK_8: u64 = 0xFF00000000000000;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `A8_H1` is never used
[INFO] [stdout]   --> src/bitboard.rs:88:11
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub const A8_H1: u64 = 0x08040201008040201;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `A1_H8` is never used
[INFO] [stdout]   --> src/bitboard.rs:89:11
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub const A1_H8: u64 = 0x00102040810204080;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROOK_MAGIC_SHIFT` is never used
[INFO] [stdout]   --> src/bitboard.rs:92:11
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub const ROOK_MAGIC_SHIFT: [u64; 64] = [
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROOK_MAGIC` is never used
[INFO] [stdout]    --> src/bitboard.rs:104:11
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub const ROOK_MAGIC: [u64; 64] = [
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BISHOP_MAGIC_SHIFT` is never used
[INFO] [stdout]    --> src/bitboard.rs:124:11
[INFO] [stdout]     |
[INFO] [stdout] 124 | pub const BISHOP_MAGIC_SHIFT: [u64; 64] = [
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BISHOP_MAGIC` is never used
[INFO] [stdout]    --> src/bitboard.rs:136:11
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub const BISHOP_MAGIC: [u64; 64] = [
[INFO] [stdout]     |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WHITE_ROOK_SCORE` is never used
[INFO] [stdout]    --> src/bitboard.rs:156:7
[INFO] [stdout]     |
[INFO] [stdout] 156 | const WHITE_ROOK_SCORE: [i32; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WHITE_BISHOP_SCORE` is never used
[INFO] [stdout]    --> src/bitboard.rs:167:7
[INFO] [stdout]     |
[INFO] [stdout] 167 | const WHITE_BISHOP_SCORE: [i32; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WHITE_KNIGHT_SCORE` is never used
[INFO] [stdout]    --> src/bitboard.rs:179:7
[INFO] [stdout]     |
[INFO] [stdout] 179 | const WHITE_KNIGHT_SCORE: [i32; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WHITE_QUEEN_SCORE` is never used
[INFO] [stdout]    --> src/bitboard.rs:191:7
[INFO] [stdout]     |
[INFO] [stdout] 191 | const WHITE_QUEEN_SCORE: [i32; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WHITE_PAWN_SCORE` is never used
[INFO] [stdout]    --> src/bitboard.rs:203:7
[INFO] [stdout]     |
[INFO] [stdout] 203 | const WHITE_PAWN_SCORE: [i32; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WHITE_KING_MIDDLE_SCORE` is never used
[INFO] [stdout]    --> src/bitboard.rs:215:7
[INFO] [stdout]     |
[INFO] [stdout] 215 | const WHITE_KING_MIDDLE_SCORE: [i32; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `zobrist_key`, `depth`, `eval`, `node_type`, and `best_move` are never read
[INFO] [stdout]    --> src/pregen.rs:332:5
[INFO] [stdout]     |
[INFO] [stdout] 331 | pub struct TableEntry {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] 332 |     zobrist_key: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 333 |     depth: u16,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 334 |     eval: i32,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 335 |     node_type: u8,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 336 |     best_move: Option<Move>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TableEntry` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `transpositions`, `pieces`, `en_passants`, `castling_rights`, and `colors` are never read
[INFO] [stdout]    --> src/pregen.rs:340:5
[INFO] [stdout]     |
[INFO] [stdout] 339 | pub struct TranspositionTable {
[INFO] [stdout]     |            ------------------ fields in this struct
[INFO] [stdout] 340 |     transpositions: Vec<TableEntry>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 341 |
[INFO] [stdout] 342 |     pieces: [[[u64; 64]; 6]; 2],
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 343 |     en_passants: [u64; 64],
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 344 |     castling_rights: [u64; 16],
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 345 |     colors: [u64; 2],
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `zobrist_hash` and `update_zobrist_hash` are never used
[INFO] [stdout]    --> src/pregen.rs:370:12
[INFO] [stdout]     |
[INFO] [stdout] 348 | impl TranspositionTable {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 370 |     pub fn zobrist_hash(&self, board: &Board) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 401 |     pub fn update_zobrist_hash(&self, mut hash: u64, mov: &Move) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WHITE_KING_END_SCORE` is never used
[INFO] [stdout]    --> src/bitboard.rs:227:7
[INFO] [stdout]     |
[INFO] [stdout] 227 | const WHITE_KING_END_SCORE: [i32; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLACK_ROOK_SCORE` is never used
[INFO] [stdout]    --> src/bitboard.rs:239:7
[INFO] [stdout]     |
[INFO] [stdout] 239 | const BLACK_ROOK_SCORE: [i32; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLACK_BISHOP_SCORE` is never used
[INFO] [stdout]    --> src/bitboard.rs:251:7
[INFO] [stdout]     |
[INFO] [stdout] 251 | const BLACK_BISHOP_SCORE: [i32; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLACK_KNIGHT_SCORE` is never used
[INFO] [stdout]    --> src/bitboard.rs:263:7
[INFO] [stdout]     |
[INFO] [stdout] 263 | const BLACK_KNIGHT_SCORE: [i32; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLACK_QUEEN_SCORE` is never used
[INFO] [stdout]    --> src/bitboard.rs:275:7
[INFO] [stdout]     |
[INFO] [stdout] 275 | const BLACK_QUEEN_SCORE: [i32; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLACK_PAWN_SCORE` is never used
[INFO] [stdout]    --> src/bitboard.rs:287:7
[INFO] [stdout]     |
[INFO] [stdout] 287 | const BLACK_PAWN_SCORE: [i32; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLACK_KING_MIDDLE_SCORE` is never used
[INFO] [stdout]    --> src/bitboard.rs:299:7
[INFO] [stdout]     |
[INFO] [stdout] 299 | const BLACK_KING_MIDDLE_SCORE: [i32; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLACK_KING_END_SCORE` is never used
[INFO] [stdout]    --> src/bitboard.rs:311:7
[INFO] [stdout]     |
[INFO] [stdout] 311 | const BLACK_KING_END_SCORE: [i32; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SQUARE_SCORES` is never used
[INFO] [stdout]    --> src/bitboard.rs:322:11
[INFO] [stdout]     |
[INFO] [stdout] 322 | pub const SQUARE_SCORES: [[[i32; 64]; 6]; 2] = [
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_bitboard` is never used
[INFO] [stdout]    --> src/bitboard.rs:341:8
[INFO] [stdout]     |
[INFO] [stdout] 341 | pub fn print_bitboard(bb: u64) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_rank` is never used
[INFO] [stdout]    --> src/bitboard.rs:357:8
[INFO] [stdout]     |
[INFO] [stdout] 357 | pub fn get_rank(square: u8) -> u8 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_file` is never used
[INFO] [stdout]    --> src/bitboard.rs:361:8
[INFO] [stdout]     |
[INFO] [stdout] 361 | pub fn get_file(square: u8) -> u8 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `if_color` is never used
[INFO] [stdout]    --> src/bitboard.rs:365:8
[INFO] [stdout]     |
[INFO] [stdout] 365 | pub fn if_color(color: usize, white: u8, black: u8) -> u8 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_vertical` is never used
[INFO] [stdout]    --> src/bitboard.rs:374:8
[INFO] [stdout]     |
[INFO] [stdout] 374 | pub fn shift_vertical(bb: u64, color: usize) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_vertical_index` is never used
[INFO] [stdout]    --> src/bitboard.rs:380:8
[INFO] [stdout]     |
[INFO] [stdout] 380 | pub fn shift_vertical_index(square: u8, color: usize) -> u8 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_north` is never used
[INFO] [stdout]    --> src/bitboard.rs:384:8
[INFO] [stdout]     |
[INFO] [stdout] 384 | pub fn shift_north(bb: u64) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_north_east` is never used
[INFO] [stdout]    --> src/bitboard.rs:388:8
[INFO] [stdout]     |
[INFO] [stdout] 388 | pub fn shift_north_east(bb: u64) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_east` is never used
[INFO] [stdout]    --> src/bitboard.rs:392:8
[INFO] [stdout]     |
[INFO] [stdout] 392 | pub fn shift_east(bb: u64) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_east_n` is never used
[INFO] [stdout]    --> src/bitboard.rs:396:8
[INFO] [stdout]     |
[INFO] [stdout] 396 | pub fn shift_east_n(bb: u64, n: usize) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_south_east` is never used
[INFO] [stdout]    --> src/bitboard.rs:404:8
[INFO] [stdout]     |
[INFO] [stdout] 404 | pub fn shift_south_east(bb: u64) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_south` is never used
[INFO] [stdout]    --> src/bitboard.rs:408:8
[INFO] [stdout]     |
[INFO] [stdout] 408 | pub fn shift_south(bb: u64) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_south_west` is never used
[INFO] [stdout]    --> src/bitboard.rs:412:8
[INFO] [stdout]     |
[INFO] [stdout] 412 | pub fn shift_south_west(bb: u64) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_west` is never used
[INFO] [stdout]    --> src/bitboard.rs:416:8
[INFO] [stdout]     |
[INFO] [stdout] 416 | pub fn shift_west(bb: u64) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_west_n` is never used
[INFO] [stdout]    --> src/bitboard.rs:420:8
[INFO] [stdout]     |
[INFO] [stdout] 420 | pub fn shift_west_n(bb: u64, n: usize) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_north_west` is never used
[INFO] [stdout]    --> src/bitboard.rs:428:8
[INFO] [stdout]     |
[INFO] [stdout] 428 | pub fn shift_north_west(bb: u64) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_bit` is never used
[INFO] [stdout]  --> src/bits.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn set_bit(n: u64, index: u8) -> u64 {
[INFO] [stdout]   |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_bit` is never used
[INFO] [stdout]  --> src/bits.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn clear_bit(n: u64, index: u8) -> u64 {
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_bit` is never used
[INFO] [stdout]  --> src/bits.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn test_bit(n: u64, index: u8) -> bool {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_bit` is never used
[INFO] [stdout]   --> src/bits.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn get_bit(n: u64, index: u8) -> u64 {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `isolate_bit` is never used
[INFO] [stdout]   --> src/bits.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn isolate_bit(n: u64, index: u8) -> u64 {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_lsb` is never used
[INFO] [stdout]   --> src/bits.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn clear_lsb(n: u64) -> u64 {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WHITE` is never used
[INFO] [stdout]  --> src/board.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const WHITE: usize = 0;
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLACK` is never used
[INFO] [stdout]  --> src/board.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const BLACK: usize = 1;
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ALL` is never used
[INFO] [stdout]   --> src/board.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const ALL: usize = 2;
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROOK` is never used
[INFO] [stdout]   --> src/board.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const ROOK: usize = 0;
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BISHOP` is never used
[INFO] [stdout]   --> src/board.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const BISHOP: usize = 1;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KNIGHT` is never used
[INFO] [stdout]   --> src/board.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const KNIGHT: usize = 2;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QUEEN` is never used
[INFO] [stdout]   --> src/board.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const QUEEN: usize = 3;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PAWN` is never used
[INFO] [stdout]   --> src/board.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const PAWN: usize = 4;
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KING` is never used
[INFO] [stdout]   --> src/board.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const KING: usize = 5;
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NONE` is never used
[INFO] [stdout]   --> src/board.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const NONE: usize = 6;
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PIECE_VALUE` is never used
[INFO] [stdout]   --> src/board.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const PIECE_VALUE: [i32; 5] = [600, 400, 400, 1200, 100];
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Board` is never constructed
[INFO] [stdout]   --> src/board.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct Board {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/board.rs:32:12
[INFO] [stdout]     |
[INFO] [stdout]  31 | impl Board {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout]  32 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  43 |     pub fn reset(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  52 |     pub fn load_fen(&mut self, fen: &str) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub fn player_score(&self, color: usize) -> i32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |     pub fn swap_color(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 |     pub fn make_move(&mut self, mov: &Move) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 267 |     pub fn unmake_move(&mut self, mov: &Move, state: PreMoveState) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 313 |     pub fn get_piece_on_square(&self, color: usize, square: u8) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 323 |     pub fn add_piece(&mut self, piece: usize, color: usize, square: u8) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 327 |     pub fn remove_piece(&mut self, piece: usize, color: usize, square: u8) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 331 |     pub fn move_piece(&mut self, piece: usize, color: usize, from: u8, to: u8) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 336 |     pub fn update_occupancy(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BACK_RANK` is never used
[INFO] [stdout]  --> src/engine.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | const BACK_RANK: [u8; 2] = [0, 7];
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PAWN_RANK` is never used
[INFO] [stdout]  --> src/engine.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const PAWN_RANK: [u8; 2] = [1, 6];
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PENULT_RANK` is never used
[INFO] [stdout]  --> src/engine.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const PENULT_RANK: [u8; 2] = [6, 1];
[INFO] [stdout]   |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CASTLE_SAFE_SQUARES` is never used
[INFO] [stdout]  --> src/engine.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const CASTLE_SAFE_SQUARES: [[u64; 2]; 2] = [[0xE, 0x38], [0xE00000000000000, 0x3800000000000000]];
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CASTLE_OPEN_SQUARES` is never used
[INFO] [stdout]  --> src/engine.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const CASTLE_OPEN_SQUARES: [[u64; 2]; 2] = [[0x6, 0x70], [0x600000000000000, 0x7000000000000000]];
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INFINITY` is never used
[INFO] [stdout]   --> src/engine.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const INFINITY: i32 = 0x0FFFFFFF;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TABLE_SIZE` is never used
[INFO] [stdout]   --> src/engine.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const TABLE_SIZE: usize = 2 << 5;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TABLE_MODULUS` is never used
[INFO] [stdout]   --> src/engine.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const TABLE_MODULUS: usize = TABLE_SIZE - 1;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Engine` is never constructed
[INFO] [stdout]   --> src/engine.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Engine {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/engine.rs:77:12
[INFO] [stdout]     |
[INFO] [stdout]  76 | impl Engine {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout]  77 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn reset(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     pub fn load_fen(&mut self, fen: &str) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub fn best_move(&mut self, depth: u16) -> Option<Move> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     fn negamax(&mut self, from_root: u16, from_target: u16, mut alpha: i32, beta: i32) -> i32 {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 175 |     fn quiesce(&mut self, mut alpha: i32, beta: i32) -> i32 {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     fn evaluate_position(&self) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 210 |     fn evaluate_moves(&self, moves: &[Move]) -> Vec<(i32, usize)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 218 |     fn evaluate_move(&self, mov: &Move) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 240 |     pub fn make_move(&mut self, mov: &Move) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     pub fn unmake_move(&mut self, mov: &Move) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 260 |     fn update_threats(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 325 |     fn update_en_passant_pin(&mut self, king_to_enemy_mask: u64, enemy_blockers: u64) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 350 |     fn update_pins_and_checks(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 452 |     pub fn generate_moves(&mut self) -> Vec<Move> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 471 |     fn rook_moves(&mut self, list: &mut Vec<Move>) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 507 |     fn bishop_moves(&mut self, list: &mut Vec<Move>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 545 |     fn queen_moves(&mut self, list: &mut Vec<Move>) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 590 |     fn knight_moves(&mut self, list: &mut Vec<Move>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 617 |     fn pawn_moves(&self, list: &mut Vec<Move>) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 688 |     fn king_moves(&mut self, list: &mut Vec<Move>) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STARTING_FEN` is never used
[INFO] [stdout]    --> src/engine.rs:729:11
[INFO] [stdout]     |
[INFO] [stdout] 729 |     const STARTING_FEN: &str = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1";
[INFO] [stdout]     |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_state` is never used
[INFO] [stdout]    --> src/engine.rs:731:8
[INFO] [stdout]     |
[INFO] [stdout] 731 |     fn print_state(game: &mut Engine) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_board` is never used
[INFO] [stdout]    --> src/engine.rs:798:8
[INFO] [stdout]     |
[INFO] [stdout] 798 |     fn print_board(board: &Board) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `perft` is never used
[INFO] [stdout]    --> src/engine.rs:855:8
[INFO] [stdout]     |
[INFO] [stdout] 855 |     fn perft(engine: &mut Engine, depth: u8) -> usize {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `go_perft` is never used
[INFO] [stdout]    --> src/engine.rs:872:8
[INFO] [stdout]     |
[INFO] [stdout] 872 |     fn go_perft(engine: &mut Engine, depth: u8) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CAPTURE` is never used
[INFO] [stdout]  --> src/moves.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const CAPTURE: u8 = 1;
[INFO] [stdout]   |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROMOTION` is never used
[INFO] [stdout]  --> src/moves.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const PROMOTION: u8 = 1 << 1;
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KING_SIDE` is never used
[INFO] [stdout]  --> src/moves.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const KING_SIDE: u8 = 1 << 2;
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QUEEN_SIDE` is never used
[INFO] [stdout]  --> src/moves.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const QUEEN_SIDE: u8 = 2 << 2;
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EN_PASSANT_MOVE` is never used
[INFO] [stdout]   --> src/moves.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const EN_PASSANT_MOVE: u8 = 1 << 4;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EN_PASSANT_CAP` is never used
[INFO] [stdout]   --> src/moves.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const EN_PASSANT_CAP: u8 = 2 << 4;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Move` is never constructed
[INFO] [stdout]   --> src/moves.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Move {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/moves.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl Move {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 23 |     const CAPTURE_MASK: u8 = CAPTURE;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 24 |     const PROMOTION_MASK: u8 = PROMOTION;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 25 |     const CASTLING_MASK: u8 = KING_SIDE | QUEEN_SIDE;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 26 |     const EN_PASSANT_MASK: u8 = EN_PASSANT_MOVE | EN_PASSANT_CAP;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 27 |
[INFO] [stdout] 28 |     pub fn new(piece: usize, from: u8, to: u8, flags: u8) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn is_capture(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn is_promotion(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn is_en_passant(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn is_castle(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn get_castling_bits(&self) -> u8 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn get_en_pass_bits(&self) -> u8 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IndexOfNextBest` is never constructed
[INFO] [stdout]   --> src/moves.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct IndexOfNextBest {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/moves.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | impl IndexOfNextBest {
[INFO] [stdout]    | -------------------- associated function in this implementation
[INFO] [stdout] 68 |     pub fn new(evals: Vec<(i32, usize)>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `moves_from_bitboard` is never used
[INFO] [stdout]   --> src/moves.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub fn moves_from_bitboard(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PreMoveState` is never constructed
[INFO] [stdout]    --> src/moves.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub struct PreMoveState {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `EN_PASSANT_MASK`, `new`, `get_castling_rights`, `get_en_passant`, and `get_captured_piece` are never used
[INFO] [stdout]    --> src/moves.rs:111:11
[INFO] [stdout]     |
[INFO] [stdout] 110 | impl PreMoveState {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 111 |     const EN_PASSANT_MASK: u16 = 0b111111 << 4;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 112 |
[INFO] [stdout] 113 |     pub fn new(castling_rights: [[bool; 2]; 2], en_passant: u64, captured_piece: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn get_castling_rights(&self) -> [[bool; 2]; 2] {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn get_en_passant(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub fn get_captured_piece(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rays` is never constructed
[INFO] [stdout]  --> src/pregen.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Rays(pub [[u64; 64]; 8]);
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/pregen.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Rays {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 12 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BlockerMasks` is never constructed
[INFO] [stdout]   --> src/pregen.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub struct BlockerMasks(pub [[u64; 64]; 2]);
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/pregen.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl BlockerMasks {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 70 |     pub fn new(rays: &Rays) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AttackSets` is never constructed
[INFO] [stdout]   --> src/pregen.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub struct AttackSets {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/pregen.rs:110:12
[INFO] [stdout]     |
[INFO] [stdout] 109 | impl AttackSets {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 110 |     pub fn new(rays: &Rays, blocker_masks: &BlockerMasks) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn get_rook_attacks(&self, square: usize, blockers: u64) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |     pub fn get_bishop_attacks(&self, square: usize, blockers: u64) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     fn rook(rays: &Rays, blocker_masks: &BlockerMasks) -> (Vec<u64>, [usize; 64]) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     fn bishop(rays: &Rays, blocker_masks: &BlockerMasks) -> (Vec<u64>, [usize; 64]) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     fn knight() -> [u64; 64] {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     fn king() -> [u64; 64] {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     fn pawn() -> [[u64; 64]; 2] {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `knight_attack` is never used
[INFO] [stdout]    --> src/pregen.rs:226:8
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub fn knight_attack(square: usize) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `king_attack` is never used
[INFO] [stdout]    --> src/pregen.rs:235:8
[INFO] [stdout]     |
[INFO] [stdout] 235 | pub fn king_attack(square: usize) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pawn_attack` is never used
[INFO] [stdout]    --> src/pregen.rs:244:8
[INFO] [stdout]     |
[INFO] [stdout] 244 | pub fn pawn_attack(square: usize, color: usize) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rook_attack` is never used
[INFO] [stdout]    --> src/pregen.rs:254:8
[INFO] [stdout]     |
[INFO] [stdout] 254 | pub fn rook_attack(square: u64, blockers: u64, rays: &Rays) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bishop_attack` is never used
[INFO] [stdout]    --> src/pregen.rs:292:8
[INFO] [stdout]     |
[INFO] [stdout] 292 | pub fn bishop_attack(square: u64, blockers: u64, rays: &Rays) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TableEntry` is never constructed
[INFO] [stdout]    --> src/pregen.rs:331:12
[INFO] [stdout]     |
[INFO] [stdout] 331 | pub struct TableEntry {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TranspositionTable` is never constructed
[INFO] [stdout]    --> src/pregen.rs:339:12
[INFO] [stdout]     |
[INFO] [stdout] 339 | pub struct TranspositionTable {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `zobrist_hash`, and `update_zobrist_hash` are never used
[INFO] [stdout]    --> src/pregen.rs:349:12
[INFO] [stdout]     |
[INFO] [stdout] 348 | impl TranspositionTable {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout] 349 |     pub fn new(size: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 370 |     pub fn zobrist_hash(&self, board: &Board) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 401 |     pub fn update_zobrist_hash(&self, mut hash: u64, mov: &Move) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_string` is never used
[INFO] [stdout]  --> src/square.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn parse_string(square: &str) -> Result<u8, &str> {
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_string` is never used
[INFO] [stdout]   --> src/square.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn to_string(square: u8) -> String {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `XORShift64` is never constructed
[INFO] [stdout]  --> src/rand.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct XORShift64 {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `rand` are never used
[INFO] [stdout]   --> src/rand.rs:7:12
[INFO] [stdout]    |
[INFO] [stdout]  6 | impl XORShift64 {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout]  7 |     pub fn new(seed: u64) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 11 |     pub fn rand(&mut self) -> u64 {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `selection_sort_once` is never used
[INFO] [stdout]  --> src/sort.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn selection_sort_once(evals: &mut [(i32, usize)]) {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [optimized + debuginfo] target(s) in 1.45s
[INFO] running `Command { std: "docker" "inspect" "f29344dbbeba7dd7d4eadd48759b3cacba905757005241d5b92c07c36f84fc10", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f29344dbbeba7dd7d4eadd48759b3cacba905757005241d5b92c07c36f84fc10", kill_on_drop: false }`
[INFO] [stdout] f29344dbbeba7dd7d4eadd48759b3cacba905757005241d5b92c07c36f84fc10
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 6eb451d5793e8cf8ec07f76e66fffc8772a0c480d40ae56fdf2af8da4e711a98
[INFO] running `Command { std: "docker" "start" "-a" "6eb451d5793e8cf8ec07f76e66fffc8772a0c480d40ae56fdf2af8da4e711a98", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `std::num`
[INFO] [stderr]  --> src/bitboard.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::num;
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::bitboard::print_bitboard`
[INFO] [stderr]   --> src/bits.rs:29:9
[INFO] [stderr]    |
[INFO] [stderr] 29 |     use crate::bitboard::print_bitboard;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::*`
[INFO] [stderr]   --> src/bits.rs:31:9
[INFO] [stderr]    |
[INFO] [stderr] 31 |     use super::*;
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `sort::selection_sort_once`
[INFO] [stderr]  --> src/engine.rs:1:63
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::{bitboard::*, bits::*, board::*, moves::*, pregen, sort::selection_sort_once};
[INFO] [stderr]   |                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::*`
[INFO] [stderr]    --> src/pregen.rs:408:9
[INFO] [stderr]     |
[INFO] [stderr] 408 |     use super::*;
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/pregen.rs:401:39
[INFO] [stderr]     |
[INFO] [stderr] 401 |     pub fn update_zobrist_hash(&self, mut hash: u64, mov: &Move) -> u64 {
[INFO] [stderr]     |                                       ----^^^^
[INFO] [stderr]     |                                       |
[INFO] [stderr]     |                                       help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `mov`
[INFO] [stderr]    --> src/pregen.rs:401:54
[INFO] [stderr]     |
[INFO] [stderr] 401 |     pub fn update_zobrist_hash(&self, mut hash: u64, mov: &Move) -> u64 {
[INFO] [stderr]     |                                                      ^^^ help: if this is intentional, prefix it with an underscore: `_mov`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `H1` is never used
[INFO] [stderr]  --> src/bitboard.rs:5:11
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub const H1: u8 = 0;
[INFO] [stderr]   |           ^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `G1` is never used
[INFO] [stderr]  --> src/bitboard.rs:6:11
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub const G1: u8 = 1;
[INFO] [stderr]   |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `F1` is never used
[INFO] [stderr]  --> src/bitboard.rs:7:11
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub const F1: u8 = 2;
[INFO] [stderr]   |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `E1` is never used
[INFO] [stderr]  --> src/bitboard.rs:8:11
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub const E1: u8 = 3;
[INFO] [stderr]   |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `D1` is never used
[INFO] [stderr]  --> src/bitboard.rs:9:11
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub const D1: u8 = 4;
[INFO] [stderr]   |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `C1` is never used
[INFO] [stderr]   --> src/bitboard.rs:10:11
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub const C1: u8 = 5;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `B1` is never used
[INFO] [stderr]   --> src/bitboard.rs:11:11
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub const B1: u8 = 6;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `A1` is never used
[INFO] [stderr]   --> src/bitboard.rs:12:11
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub const A1: u8 = 7;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `H2` is never used
[INFO] [stderr]   --> src/bitboard.rs:13:11
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub const H2: u8 = 8;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `G2` is never used
[INFO] [stderr]   --> src/bitboard.rs:14:11
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub const G2: u8 = 9;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `F2` is never used
[INFO] [stderr]   --> src/bitboard.rs:15:11
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub const F2: u8 = 10;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `E2` is never used
[INFO] [stderr]   --> src/bitboard.rs:16:11
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub const E2: u8 = 11;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `D2` is never used
[INFO] [stderr]   --> src/bitboard.rs:17:11
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub const D2: u8 = 12;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `C2` is never used
[INFO] [stderr]   --> src/bitboard.rs:18:11
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub const C2: u8 = 13;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `B2` is never used
[INFO] [stderr]   --> src/bitboard.rs:19:11
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub const B2: u8 = 14;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `A2` is never used
[INFO] [stderr]   --> src/bitboard.rs:20:11
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub const A2: u8 = 15;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `H3` is never used
[INFO] [stderr]   --> src/bitboard.rs:21:11
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub const H3: u8 = 16;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `G3` is never used
[INFO] [stderr]   --> src/bitboard.rs:22:11
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub const G3: u8 = 17;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `F3` is never used
[INFO] [stderr]   --> src/bitboard.rs:23:11
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub const F3: u8 = 18;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `E3` is never used
[INFO] [stderr]   --> src/bitboard.rs:24:11
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub const E3: u8 = 19;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `D3` is never used
[INFO] [stderr]   --> src/bitboard.rs:25:11
[INFO] [stderr]    |
[INFO] [stderr] 25 | pub const D3: u8 = 20;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `C3` is never used
[INFO] [stderr]   --> src/bitboard.rs:26:11
[INFO] [stderr]    |
[INFO] [stderr] 26 | pub const C3: u8 = 21;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `B3` is never used
[INFO] [stderr]   --> src/bitboard.rs:27:11
[INFO] [stderr]    |
[INFO] [stderr] 27 | pub const B3: u8 = 22;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `A3` is never used
[INFO] [stderr]   --> src/bitboard.rs:28:11
[INFO] [stderr]    |
[INFO] [stderr] 28 | pub const A3: u8 = 23;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `H4` is never used
[INFO] [stderr]   --> src/bitboard.rs:29:11
[INFO] [stderr]    |
[INFO] [stderr] 29 | pub const H4: u8 = 24;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `G4` is never used
[INFO] [stderr]   --> src/bitboard.rs:30:11
[INFO] [stderr]    |
[INFO] [stderr] 30 | pub const G4: u8 = 25;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `F4` is never used
[INFO] [stderr]   --> src/bitboard.rs:31:11
[INFO] [stderr]    |
[INFO] [stderr] 31 | pub const F4: u8 = 26;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `E4` is never used
[INFO] [stderr]   --> src/bitboard.rs:32:11
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub const E4: u8 = 27;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `D4` is never used
[INFO] [stderr]   --> src/bitboard.rs:33:11
[INFO] [stderr]    |
[INFO] [stderr] 33 | pub const D4: u8 = 28;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `C4` is never used
[INFO] [stderr]   --> src/bitboard.rs:34:11
[INFO] [stderr]    |
[INFO] [stderr] 34 | pub const C4: u8 = 29;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `B4` is never used
[INFO] [stderr]   --> src/bitboard.rs:35:11
[INFO] [stderr]    |
[INFO] [stderr] 35 | pub const B4: u8 = 30;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `A4` is never used
[INFO] [stderr]   --> src/bitboard.rs:36:11
[INFO] [stderr]    |
[INFO] [stderr] 36 | pub const A4: u8 = 31;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `H5` is never used
[INFO] [stderr]   --> src/bitboard.rs:37:11
[INFO] [stderr]    |
[INFO] [stderr] 37 | pub const H5: u8 = 32;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `G5` is never used
[INFO] [stderr]   --> src/bitboard.rs:38:11
[INFO] [stderr]    |
[INFO] [stderr] 38 | pub const G5: u8 = 33;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `F5` is never used
[INFO] [stderr]   --> src/bitboard.rs:39:11
[INFO] [stderr]    |
[INFO] [stderr] 39 | pub const F5: u8 = 34;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `E5` is never used
[INFO] [stderr]   --> src/bitboard.rs:40:11
[INFO] [stderr]    |
[INFO] [stderr] 40 | pub const E5: u8 = 35;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `D5` is never used
[INFO] [stderr]   --> src/bitboard.rs:41:11
[INFO] [stderr]    |
[INFO] [stderr] 41 | pub const D5: u8 = 36;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `C5` is never used
[INFO] [stderr]   --> src/bitboard.rs:42:11
[INFO] [stderr]    |
[INFO] [stderr] 42 | pub const C5: u8 = 37;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `B5` is never used
[INFO] [stderr]   --> src/bitboard.rs:43:11
[INFO] [stderr]    |
[INFO] [stderr] 43 | pub const B5: u8 = 38;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `A5` is never used
[INFO] [stderr]   --> src/bitboard.rs:44:11
[INFO] [stderr]    |
[INFO] [stderr] 44 | pub const A5: u8 = 39;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `H6` is never used
[INFO] [stderr]   --> src/bitboard.rs:45:11
[INFO] [stderr]    |
[INFO] [stderr] 45 | pub const H6: u8 = 40;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `G6` is never used
[INFO] [stderr]   --> src/bitboard.rs:46:11
[INFO] [stderr]    |
[INFO] [stderr] 46 | pub const G6: u8 = 41;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `F6` is never used
[INFO] [stderr]   --> src/bitboard.rs:47:11
[INFO] [stderr]    |
[INFO] [stderr] 47 | pub const F6: u8 = 42;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `E6` is never used
[INFO] [stderr]   --> src/bitboard.rs:48:11
[INFO] [stderr]    |
[INFO] [stderr] 48 | pub const E6: u8 = 43;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `D6` is never used
[INFO] [stderr]   --> src/bitboard.rs:49:11
[INFO] [stderr]    |
[INFO] [stderr] 49 | pub const D6: u8 = 44;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `C6` is never used
[INFO] [stderr]   --> src/bitboard.rs:50:11
[INFO] [stderr]    |
[INFO] [stderr] 50 | pub const C6: u8 = 45;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `B6` is never used
[INFO] [stderr]   --> src/bitboard.rs:51:11
[INFO] [stderr]    |
[INFO] [stderr] 51 | pub const B6: u8 = 46;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `A6` is never used
[INFO] [stderr]   --> src/bitboard.rs:52:11
[INFO] [stderr]    |
[INFO] [stderr] 52 | pub const A6: u8 = 47;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `H7` is never used
[INFO] [stderr]   --> src/bitboard.rs:53:11
[INFO] [stderr]    |
[INFO] [stderr] 53 | pub const H7: u8 = 48;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `G7` is never used
[INFO] [stderr]   --> src/bitboard.rs:54:11
[INFO] [stderr]    |
[INFO] [stderr] 54 | pub const G7: u8 = 49;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `F7` is never used
[INFO] [stderr]   --> src/bitboard.rs:55:11
[INFO] [stderr]    |
[INFO] [stderr] 55 | pub const F7: u8 = 50;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `E7` is never used
[INFO] [stderr]   --> src/bitboard.rs:56:11
[INFO] [stderr]    |
[INFO] [stderr] 56 | pub const E7: u8 = 51;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `D7` is never used
[INFO] [stderr]   --> src/bitboard.rs:57:11
[INFO] [stderr]    |
[INFO] [stderr] 57 | pub const D7: u8 = 52;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `C7` is never used
[INFO] [stderr]   --> src/bitboard.rs:58:11
[INFO] [stderr]    |
[INFO] [stderr] 58 | pub const C7: u8 = 53;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `B7` is never used
[INFO] [stderr]   --> src/bitboard.rs:59:11
[INFO] [stderr]    |
[INFO] [stderr] 59 | pub const B7: u8 = 54;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `A7` is never used
[INFO] [stderr]   --> src/bitboard.rs:60:11
[INFO] [stderr]    |
[INFO] [stderr] 60 | pub const A7: u8 = 55;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `H8` is never used
[INFO] [stderr]   --> src/bitboard.rs:61:11
[INFO] [stderr]    |
[INFO] [stderr] 61 | pub const H8: u8 = 56;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `G8` is never used
[INFO] [stderr]   --> src/bitboard.rs:62:11
[INFO] [stderr]    |
[INFO] [stderr] 62 | pub const G8: u8 = 57;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `F8` is never used
[INFO] [stderr]   --> src/bitboard.rs:63:11
[INFO] [stderr]    |
[INFO] [stderr] 63 | pub const F8: u8 = 58;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `E8` is never used
[INFO] [stderr]   --> src/bitboard.rs:64:11
[INFO] [stderr]    |
[INFO] [stderr] 64 | pub const E8: u8 = 59;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `D8` is never used
[INFO] [stderr]   --> src/bitboard.rs:65:11
[INFO] [stderr]    |
[INFO] [stderr] 65 | pub const D8: u8 = 60;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `C8` is never used
[INFO] [stderr]   --> src/bitboard.rs:66:11
[INFO] [stderr]    |
[INFO] [stderr] 66 | pub const C8: u8 = 61;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `B8` is never used
[INFO] [stderr]   --> src/bitboard.rs:67:11
[INFO] [stderr]    |
[INFO] [stderr] 67 | pub const B8: u8 = 62;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `A8` is never used
[INFO] [stderr]   --> src/bitboard.rs:68:11
[INFO] [stderr]    |
[INFO] [stderr] 68 | pub const A8: u8 = 63;
[INFO] [stderr]    |           ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `FILE_A` is never used
[INFO] [stderr]   --> src/bitboard.rs:70:11
[INFO] [stderr]    |
[INFO] [stderr] 70 | pub const FILE_A: u64 = 0x8080808080808080;
[INFO] [stderr]    |           ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `FILE_B` is never used
[INFO] [stderr]   --> src/bitboard.rs:71:11
[INFO] [stderr]    |
[INFO] [stderr] 71 | pub const FILE_B: u64 = 0x4040404040404040;
[INFO] [stderr]    |           ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `FILE_C` is never used
[INFO] [stderr]   --> src/bitboard.rs:72:11
[INFO] [stderr]    |
[INFO] [stderr] 72 | pub const FILE_C: u64 = 0x2020202020202020;
[INFO] [stderr]    |           ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `FILE_D` is never used
[INFO] [stderr]   --> src/bitboard.rs:73:11
[INFO] [stderr]    |
[INFO] [stderr] 73 | pub const FILE_D: u64 = 0x1010101010101010;
[INFO] [stderr]    |           ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `FILE_E` is never used
[INFO] [stderr]   --> src/bitboard.rs:74:11
[INFO] [stderr]    |
[INFO] [stderr] 74 | pub const FILE_E: u64 = 0x0808080808080808;
[INFO] [stderr]    |           ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `FILE_F` is never used
[INFO] [stderr]   --> src/bitboard.rs:75:11
[INFO] [stderr]    |
[INFO] [stderr] 75 | pub const FILE_F: u64 = 0x0404040404040404;
[INFO] [stderr]    |           ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `FILE_G` is never used
[INFO] [stderr]   --> src/bitboard.rs:76:11
[INFO] [stderr]    |
[INFO] [stderr] 76 | pub const FILE_G: u64 = 0x0202020202020202;
[INFO] [stderr]    |           ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `FILE_H` is never used
[INFO] [stderr]   --> src/bitboard.rs:77:11
[INFO] [stderr]    |
[INFO] [stderr] 77 | pub const FILE_H: u64 = 0x0101010101010101;
[INFO] [stderr]    |           ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `RANK_1` is never used
[INFO] [stderr]   --> src/bitboard.rs:79:11
[INFO] [stderr]    |
[INFO] [stderr] 79 | pub const RANK_1: u64 = 0x00000000000000FF;
[INFO] [stderr]    |           ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `RANK_2` is never used
[INFO] [stderr]   --> src/bitboard.rs:80:11
[INFO] [stderr]    |
[INFO] [stderr] 80 | pub const RANK_2: u64 = 0x000000000000FF00;
[INFO] [stderr]    |           ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `RANK_3` is never used
[INFO] [stderr]   --> src/bitboard.rs:81:11
[INFO] [stderr]    |
[INFO] [stderr] 81 | pub const RANK_3: u64 = 0x0000000000FF0000;
[INFO] [stderr]    |           ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `RANK_4` is never used
[INFO] [stderr]   --> src/bitboard.rs:82:11
[INFO] [stderr]    |
[INFO] [stderr] 82 | pub const RANK_4: u64 = 0x00000000FF000000;
[INFO] [stderr]    |           ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `RANK_5` is never used
[INFO] [stderr]   --> src/bitboard.rs:83:11
[INFO] [stderr]    |
[INFO] [stderr] 83 | pub const RANK_5: u64 = 0x000000FF00000000;
[INFO] [stderr]    |           ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `RANK_6` is never used
[INFO] [stderr]   --> src/bitboard.rs:84:11
[INFO] [stderr]    |
[INFO] [stderr] 84 | pub const RANK_6: u64 = 0x0000FF0000000000;
[INFO] [stderr]    |           ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `RANK_7` is never used
[INFO] [stderr]   --> src/bitboard.rs:85:11
[INFO] [stderr]    |
[INFO] [stderr] 85 | pub const RANK_7: u64 = 0x00FF000000000000;
[INFO] [stderr]    |           ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `RANK_8` is never used
[INFO] [stderr]   --> src/bitboard.rs:86:11
[INFO] [stderr]    |
[INFO] [stderr] 86 | pub const RANK_8: u64 = 0xFF00000000000000;
[INFO] [stderr]    |           ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `A8_H1` is never used
[INFO] [stderr]   --> src/bitboard.rs:88:11
[INFO] [stderr]    |
[INFO] [stderr] 88 | pub const A8_H1: u64 = 0x08040201008040201;
[INFO] [stderr]    |           ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `A1_H8` is never used
[INFO] [stderr]   --> src/bitboard.rs:89:11
[INFO] [stderr]    |
[INFO] [stderr] 89 | pub const A1_H8: u64 = 0x00102040810204080;
[INFO] [stderr]    |           ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ROOK_MAGIC_SHIFT` is never used
[INFO] [stderr]   --> src/bitboard.rs:92:11
[INFO] [stderr]    |
[INFO] [stderr] 92 | pub const ROOK_MAGIC_SHIFT: [u64; 64] = [
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ROOK_MAGIC` is never used
[INFO] [stderr]    --> src/bitboard.rs:104:11
[INFO] [stderr]     |
[INFO] [stderr] 104 | pub const ROOK_MAGIC: [u64; 64] = [
[INFO] [stderr]     |           ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BISHOP_MAGIC_SHIFT` is never used
[INFO] [stderr]    --> src/bitboard.rs:124:11
[INFO] [stderr]     |
[INFO] [stderr] 124 | pub const BISHOP_MAGIC_SHIFT: [u64; 64] = [
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BISHOP_MAGIC` is never used
[INFO] [stderr]    --> src/bitboard.rs:136:11
[INFO] [stderr]     |
[INFO] [stderr] 136 | pub const BISHOP_MAGIC: [u64; 64] = [
[INFO] [stderr]     |           ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `WHITE_ROOK_SCORE` is never used
[INFO] [stderr]    --> src/bitboard.rs:156:7
[INFO] [stderr]     |
[INFO] [stderr] 156 | const WHITE_ROOK_SCORE: [i32; 64] = [
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `WHITE_BISHOP_SCORE` is never used
[INFO] [stderr]    --> src/bitboard.rs:167:7
[INFO] [stderr]     |
[INFO] [stderr] 167 | const WHITE_BISHOP_SCORE: [i32; 64] = [
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `WHITE_KNIGHT_SCORE` is never used
[INFO] [stderr]    --> src/bitboard.rs:179:7
[INFO] [stderr]     |
[INFO] [stderr] 179 | const WHITE_KNIGHT_SCORE: [i32; 64] = [
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `WHITE_QUEEN_SCORE` is never used
[INFO] [stderr]    --> src/bitboard.rs:191:7
[INFO] [stderr]     |
[INFO] [stderr] 191 | const WHITE_QUEEN_SCORE: [i32; 64] = [
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `WHITE_PAWN_SCORE` is never used
[INFO] [stderr]    --> src/bitboard.rs:203:7
[INFO] [stderr]     |
[INFO] [stderr] 203 | const WHITE_PAWN_SCORE: [i32; 64] = [
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `WHITE_KING_MIDDLE_SCORE` is never used
[INFO] [stderr]    --> src/bitboard.rs:215:7
[INFO] [stderr]     |
[INFO] [stderr] 215 | const WHITE_KING_MIDDLE_SCORE: [i32; 64] = [
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `WHITE_KING_END_SCORE` is never used
[INFO] [stderr]    --> src/bitboard.rs:227:7
[INFO] [stderr]     |
[INFO] [stderr] 227 | const WHITE_KING_END_SCORE: [i32; 64] = [
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BLACK_ROOK_SCORE` is never used
[INFO] [stderr]    --> src/bitboard.rs:239:7
[INFO] [stderr]     |
[INFO] [stderr] 239 | const BLACK_ROOK_SCORE: [i32; 64] = [
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BLACK_BISHOP_SCORE` is never used
[INFO] [stderr]    --> src/bitboard.rs:251:7
[INFO] [stderr]     |
[INFO] [stderr] 251 | const BLACK_BISHOP_SCORE: [i32; 64] = [
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BLACK_KNIGHT_SCORE` is never used
[INFO] [stderr]    --> src/bitboard.rs:263:7
[INFO] [stderr]     |
[INFO] [stderr] 263 | const BLACK_KNIGHT_SCORE: [i32; 64] = [
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BLACK_QUEEN_SCORE` is never used
[INFO] [stderr]    --> src/bitboard.rs:275:7
[INFO] [stderr]     |
[INFO] [stderr] 275 | const BLACK_QUEEN_SCORE: [i32; 64] = [
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BLACK_PAWN_SCORE` is never used
[INFO] [stderr]    --> src/bitboard.rs:287:7
[INFO] [stderr]     |
[INFO] [stderr] 287 | const BLACK_PAWN_SCORE: [i32; 64] = [
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BLACK_KING_MIDDLE_SCORE` is never used
[INFO] [stderr]    --> src/bitboard.rs:299:7
[INFO] [stderr]     |
[INFO] [stderr] 299 | const BLACK_KING_MIDDLE_SCORE: [i32; 64] = [
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BLACK_KING_END_SCORE` is never used
[INFO] [stderr]    --> src/bitboard.rs:311:7
[INFO] [stderr]     |
[INFO] [stderr] 311 | const BLACK_KING_END_SCORE: [i32; 64] = [
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SQUARE_SCORES` is never used
[INFO] [stderr]    --> src/bitboard.rs:322:11
[INFO] [stderr]     |
[INFO] [stderr] 322 | pub const SQUARE_SCORES: [[[i32; 64]; 6]; 2] = [
[INFO] [stderr]     |           ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `print_bitboard` is never used
[INFO] [stderr]    --> src/bitboard.rs:341:8
[INFO] [stderr]     |
[INFO] [stderr] 341 | pub fn print_bitboard(bb: u64) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_rank` is never used
[INFO] [stderr]    --> src/bitboard.rs:357:8
[INFO] [stderr]     |
[INFO] [stderr] 357 | pub fn get_rank(square: u8) -> u8 {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_file` is never used
[INFO] [stderr]    --> src/bitboard.rs:361:8
[INFO] [stderr]     |
[INFO] [stderr] 361 | pub fn get_file(square: u8) -> u8 {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `if_color` is never used
[INFO] [stderr]    --> src/bitboard.rs:365:8
[INFO] [stderr]     |
[INFO] [stderr] 365 | pub fn if_color(color: usize, white: u8, black: u8) -> u8 {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `shift_vertical` is never used
[INFO] [stderr]    --> src/bitboard.rs:374:8
[INFO] [stderr]     |
[INFO] [stderr] 374 | pub fn shift_vertical(bb: u64, color: usize) -> u64 {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `shift_vertical_index` is never used
[INFO] [stderr]    --> src/bitboard.rs:380:8
[INFO] [stderr]     |
[INFO] [stderr] 380 | pub fn shift_vertical_index(square: u8, color: usize) -> u8 {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `shift_north` is never used
[INFO] [stderr]    --> src/bitboard.rs:384:8
[INFO] [stderr]     |
[INFO] [stderr] 384 | pub fn shift_north(bb: u64) -> u64 {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `shift_north_east` is never used
[INFO] [stderr]    --> src/bitboard.rs:388:8
[INFO] [stderr]     |
[INFO] [stderr] 388 | pub fn shift_north_east(bb: u64) -> u64 {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `shift_east` is never used
[INFO] [stderr]    --> src/bitboard.rs:392:8
[INFO] [stderr]     |
[INFO] [stderr] 392 | pub fn shift_east(bb: u64) -> u64 {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `shift_east_n` is never used
[INFO] [stderr]    --> src/bitboard.rs:396:8
[INFO] [stderr]     |
[INFO] [stderr] 396 | pub fn shift_east_n(bb: u64, n: usize) -> u64 {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `shift_south_east` is never used
[INFO] [stderr]    --> src/bitboard.rs:404:8
[INFO] [stderr]     |
[INFO] [stderr] 404 | pub fn shift_south_east(bb: u64) -> u64 {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `shift_south` is never used
[INFO] [stderr]    --> src/bitboard.rs:408:8
[INFO] [stderr]     |
[INFO] [stderr] 408 | pub fn shift_south(bb: u64) -> u64 {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `shift_south_west` is never used
[INFO] [stderr]    --> src/bitboard.rs:412:8
[INFO] [stderr]     |
[INFO] [stderr] 412 | pub fn shift_south_west(bb: u64) -> u64 {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `shift_west` is never used
[INFO] [stderr]    --> src/bitboard.rs:416:8
[INFO] [stderr]     |
[INFO] [stderr] 416 | pub fn shift_west(bb: u64) -> u64 {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `shift_west_n` is never used
[INFO] [stderr]    --> src/bitboard.rs:420:8
[INFO] [stderr]     |
[INFO] [stderr] 420 | pub fn shift_west_n(bb: u64, n: usize) -> u64 {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `shift_north_west` is never used
[INFO] [stderr]    --> src/bitboard.rs:428:8
[INFO] [stderr]     |
[INFO] [stderr] 428 | pub fn shift_north_west(bb: u64) -> u64 {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `set_bit` is never used
[INFO] [stderr]  --> src/bits.rs:1:8
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub fn set_bit(n: u64, index: u8) -> u64 {
[INFO] [stderr]   |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `clear_bit` is never used
[INFO] [stderr]  --> src/bits.rs:5:8
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub fn clear_bit(n: u64, index: u8) -> u64 {
[INFO] [stderr]   |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_bit` is never used
[INFO] [stderr]  --> src/bits.rs:9:8
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub fn test_bit(n: u64, index: u8) -> bool {
[INFO] [stderr]   |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_bit` is never used
[INFO] [stderr]   --> src/bits.rs:14:8
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub fn get_bit(n: u64, index: u8) -> u64 {
[INFO] [stderr]    |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `isolate_bit` is never used
[INFO] [stderr]   --> src/bits.rs:19:8
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub fn isolate_bit(n: u64, index: u8) -> u64 {
[INFO] [stderr]    |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `clear_lsb` is never used
[INFO] [stderr]   --> src/bits.rs:24:8
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub fn clear_lsb(n: u64) -> u64 {
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `WHITE` is never used
[INFO] [stderr]  --> src/board.rs:8:11
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub const WHITE: usize = 0;
[INFO] [stderr]   |           ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BLACK` is never used
[INFO] [stderr]  --> src/board.rs:9:11
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub const BLACK: usize = 1;
[INFO] [stderr]   |           ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ALL` is never used
[INFO] [stderr]   --> src/board.rs:10:11
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub const ALL: usize = 2;
[INFO] [stderr]    |           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ROOK` is never used
[INFO] [stderr]   --> src/board.rs:12:11
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub const ROOK: usize = 0;
[INFO] [stderr]    |           ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BISHOP` is never used
[INFO] [stderr]   --> src/board.rs:13:11
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub const BISHOP: usize = 1;
[INFO] [stderr]    |           ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `KNIGHT` is never used
[INFO] [stderr]   --> src/board.rs:14:11
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub const KNIGHT: usize = 2;
[INFO] [stderr]    |           ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `QUEEN` is never used
[INFO] [stderr]   --> src/board.rs:15:11
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub const QUEEN: usize = 3;
[INFO] [stderr]    |           ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PAWN` is never used
[INFO] [stderr]   --> src/board.rs:16:11
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub const PAWN: usize = 4;
[INFO] [stderr]    |           ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `KING` is never used
[INFO] [stderr]   --> src/board.rs:17:11
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub const KING: usize = 5;
[INFO] [stderr]    |           ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `NONE` is never used
[INFO] [stderr]   --> src/board.rs:18:11
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub const NONE: usize = 6;
[INFO] [stderr]    |           ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PIECE_VALUE` is never used
[INFO] [stderr]   --> src/board.rs:20:11
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub const PIECE_VALUE: [i32; 5] = [600, 400, 400, 1200, 100];
[INFO] [stderr]    |           ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Board` is never constructed
[INFO] [stderr]   --> src/board.rs:22:12
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub struct Board {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/board.rs:32:12
[INFO] [stderr]     |
[INFO] [stderr]  31 | impl Board {
[INFO] [stderr]     | ---------- associated items in this implementation
[INFO] [stderr]  32 |     pub fn new() -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr]  43 |     pub fn reset(&mut self) {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  52 |     pub fn load_fen(&mut self, fen: &str) -> Result<(), String> {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 167 |     pub fn player_score(&self, color: usize) -> i32 {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 184 |     pub fn swap_color(&mut self) {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 188 |     pub fn make_move(&mut self, mov: &Move) {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 267 |     pub fn unmake_move(&mut self, mov: &Move, state: PreMoveState) {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 313 |     pub fn get_piece_on_square(&self, color: usize, square: u8) -> usize {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 323 |     pub fn add_piece(&mut self, piece: usize, color: usize, square: u8) {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 327 |     pub fn remove_piece(&mut self, piece: usize, color: usize, square: u8) {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 331 |     pub fn move_piece(&mut self, piece: usize, color: usize, from: u8, to: u8) {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 336 |     pub fn update_occupancy(&mut self) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BACK_RANK` is never used
[INFO] [stderr]  --> src/engine.rs:4:7
[INFO] [stderr]   |
[INFO] [stderr] 4 | const BACK_RANK: [u8; 2] = [0, 7];
[INFO] [stderr]   |       ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PAWN_RANK` is never used
[INFO] [stderr]  --> src/engine.rs:5:7
[INFO] [stderr]   |
[INFO] [stderr] 5 | const PAWN_RANK: [u8; 2] = [1, 6];
[INFO] [stderr]   |       ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PENULT_RANK` is never used
[INFO] [stderr]  --> src/engine.rs:6:7
[INFO] [stderr]   |
[INFO] [stderr] 6 | const PENULT_RANK: [u8; 2] = [6, 1];
[INFO] [stderr]   |       ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CASTLE_SAFE_SQUARES` is never used
[INFO] [stderr]  --> src/engine.rs:8:7
[INFO] [stderr]   |
[INFO] [stderr] 8 | const CASTLE_SAFE_SQUARES: [[u64; 2]; 2] = [[0xE, 0x38], [0xE00000000000000, 0x3800000000000000]];
[INFO] [stderr]   |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CASTLE_OPEN_SQUARES` is never used
[INFO] [stderr]  --> src/engine.rs:9:7
[INFO] [stderr]   |
[INFO] [stderr] 9 | const CASTLE_OPEN_SQUARES: [[u64; 2]; 2] = [[0x6, 0x70], [0x600000000000000, 0x7000000000000000]];
[INFO] [stderr]   |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `INFINITY` is never used
[INFO] [stderr]   --> src/engine.rs:11:7
[INFO] [stderr]    |
[INFO] [stderr] 11 | const INFINITY: i32 = 0x0FFFFFFF;
[INFO] [stderr]    |       ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `TABLE_SIZE` is never used
[INFO] [stderr]   --> src/engine.rs:13:7
[INFO] [stderr]    |
[INFO] [stderr] 13 | const TABLE_SIZE: usize = 2 << 5;
[INFO] [stderr]    |       ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `TABLE_MODULUS` is never used
[INFO] [stderr]   --> src/engine.rs:14:7
[INFO] [stderr]    |
[INFO] [stderr] 14 | const TABLE_MODULUS: usize = TABLE_SIZE - 1;
[INFO] [stderr]    |       ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Engine` is never constructed
[INFO] [stderr]   --> src/engine.rs:16:12
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub struct Engine {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/engine.rs:77:12
[INFO] [stderr]     |
[INFO] [stderr]  76 | impl Engine {
[INFO] [stderr]     | ----------- associated items in this implementation
[INFO] [stderr]  77 |     pub fn new() -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 100 |     pub fn reset(&mut self) {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 111 |     pub fn load_fen(&mut self, fen: &str) -> Result<(), String> {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 119 |     pub fn best_move(&mut self, depth: u16) -> Option<Move> {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 145 |     fn negamax(&mut self, from_root: u16, from_target: u16, mut alpha: i32, beta: i32) -> i32 {
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 175 |     fn quiesce(&mut self, mut alpha: i32, beta: i32) -> i32 {
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 205 |     fn evaluate_position(&self) -> i32 {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 210 |     fn evaluate_moves(&self, moves: &[Move]) -> Vec<(i32, usize)> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 218 |     fn evaluate_move(&self, mov: &Move) -> i32 {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 240 |     pub fn make_move(&mut self, mov: &Move) {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 254 |     pub fn unmake_move(&mut self, mov: &Move) {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 260 |     fn update_threats(&mut self) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 325 |     fn update_en_passant_pin(&mut self, king_to_enemy_mask: u64, enemy_blockers: u64) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 350 |     fn update_pins_and_checks(&mut self) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 452 |     pub fn generate_moves(&mut self) -> Vec<Move> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 471 |     fn rook_moves(&mut self, list: &mut Vec<Move>) {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 507 |     fn bishop_moves(&mut self, list: &mut Vec<Move>) {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 545 |     fn queen_moves(&mut self, list: &mut Vec<Move>) {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 590 |     fn knight_moves(&mut self, list: &mut Vec<Move>) {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 617 |     fn pawn_moves(&self, list: &mut Vec<Move>) {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 688 |     fn king_moves(&mut self, list: &mut Vec<Move>) {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `STARTING_FEN` is never used
[INFO] [stderr]    --> src/engine.rs:729:11
[INFO] [stderr]     |
[INFO] [stderr] 729 |     const STARTING_FEN: &str = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1";
[INFO] [stderr]     |           ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `print_state` is never used
[INFO] [stderr]    --> src/engine.rs:731:8
[INFO] [stderr]     |
[INFO] [stderr] 731 |     fn print_state(game: &mut Engine) {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `print_board` is never used
[INFO] [stderr]    --> src/engine.rs:798:8
[INFO] [stderr]     |
[INFO] [stderr] 798 |     fn print_board(board: &Board) {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `perft` is never used
[INFO] [stderr]    --> src/engine.rs:855:8
[INFO] [stderr]     |
[INFO] [stderr] 855 |     fn perft(engine: &mut Engine, depth: u8) -> usize {
[INFO] [stderr]     |        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `go_perft` is never used
[INFO] [stderr]    --> src/engine.rs:872:8
[INFO] [stderr]     |
[INFO] [stderr] 872 |     fn go_perft(engine: &mut Engine, depth: u8) {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CAPTURE` is never used
[INFO] [stderr]  --> src/moves.rs:6:11
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub const CAPTURE: u8 = 1;
[INFO] [stderr]   |           ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PROMOTION` is never used
[INFO] [stderr]  --> src/moves.rs:7:11
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub const PROMOTION: u8 = 1 << 1;
[INFO] [stderr]   |           ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `KING_SIDE` is never used
[INFO] [stderr]  --> src/moves.rs:8:11
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub const KING_SIDE: u8 = 1 << 2;
[INFO] [stderr]   |           ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `QUEEN_SIDE` is never used
[INFO] [stderr]  --> src/moves.rs:9:11
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub const QUEEN_SIDE: u8 = 2 << 2;
[INFO] [stderr]   |           ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `EN_PASSANT_MOVE` is never used
[INFO] [stderr]   --> src/moves.rs:10:11
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub const EN_PASSANT_MOVE: u8 = 1 << 4;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `EN_PASSANT_CAP` is never used
[INFO] [stderr]   --> src/moves.rs:11:11
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub const EN_PASSANT_CAP: u8 = 2 << 4;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Move` is never constructed
[INFO] [stderr]   --> src/moves.rs:15:12
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub struct Move {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]   --> src/moves.rs:23:11
[INFO] [stderr]    |
[INFO] [stderr] 22 | impl Move {
[INFO] [stderr]    | --------- associated items in this implementation
[INFO] [stderr] 23 |     const CAPTURE_MASK: u8 = CAPTURE;
[INFO] [stderr]    |           ^^^^^^^^^^^^
[INFO] [stderr] 24 |     const PROMOTION_MASK: u8 = PROMOTION;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^
[INFO] [stderr] 25 |     const CASTLING_MASK: u8 = KING_SIDE | QUEEN_SIDE;
[INFO] [stderr]    |           ^^^^^^^^^^^^^
[INFO] [stderr] 26 |     const EN_PASSANT_MASK: u8 = EN_PASSANT_MOVE | EN_PASSANT_CAP;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^
[INFO] [stderr] 27 |
[INFO] [stderr] 28 |     pub fn new(piece: usize, from: u8, to: u8, flags: u8) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 37 |     pub fn is_capture(&self) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 41 |     pub fn is_promotion(&self) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 45 |     pub fn is_en_passant(&self) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 49 |     pub fn is_castle(&self) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 53 |     pub fn get_castling_bits(&self) -> u8 {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 57 |     pub fn get_en_pass_bits(&self) -> u8 {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `IndexOfNextBest` is never constructed
[INFO] [stderr]   --> src/moves.rs:62:12
[INFO] [stderr]    |
[INFO] [stderr] 62 | pub struct IndexOfNextBest {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/moves.rs:68:12
[INFO] [stderr]    |
[INFO] [stderr] 67 | impl IndexOfNextBest {
[INFO] [stderr]    | -------------------- associated function in this implementation
[INFO] [stderr] 68 |     pub fn new(evals: Vec<(i32, usize)>) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `moves_from_bitboard` is never used
[INFO] [stderr]   --> src/moves.rs:90:8
[INFO] [stderr]    |
[INFO] [stderr] 90 | pub fn moves_from_bitboard(
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `PreMoveState` is never constructed
[INFO] [stderr]    --> src/moves.rs:106:12
[INFO] [stderr]     |
[INFO] [stderr] 106 | pub struct PreMoveState {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `EN_PASSANT_MASK`, `new`, `get_castling_rights`, `get_en_passant`, and `get_captured_piece` are never used
[INFO] [stderr]    --> src/moves.rs:111:11
[INFO] [stderr]     |
[INFO] [stderr] 110 | impl PreMoveState {
[INFO] [stderr]     | ----------------- associated items in this implementation
[INFO] [stderr] 111 |     const EN_PASSANT_MASK: u16 = 0b111111 << 4;
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^
[INFO] [stderr] 112 |
[INFO] [stderr] 113 |     pub fn new(castling_rights: [[bool; 2]; 2], en_passant: u64, captured_piece: usize) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 126 |     pub fn get_castling_rights(&self) -> [[bool; 2]; 2] {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 136 |     pub fn get_en_passant(&self) -> u64 {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 140 |     pub fn get_captured_piece(&self) -> usize {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Rays` is never constructed
[INFO] [stderr]  --> src/pregen.rs:9:12
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub struct Rays(pub [[u64; 64]; 8]);
[INFO] [stderr]   |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/pregen.rs:12:12
[INFO] [stderr]    |
[INFO] [stderr] 11 | impl Rays {
[INFO] [stderr]    | --------- associated function in this implementation
[INFO] [stderr] 12 |     pub fn new() -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `BlockerMasks` is never constructed
[INFO] [stderr]   --> src/pregen.rs:67:12
[INFO] [stderr]    |
[INFO] [stderr] 67 | pub struct BlockerMasks(pub [[u64; 64]; 2]);
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/pregen.rs:70:12
[INFO] [stderr]    |
[INFO] [stderr] 69 | impl BlockerMasks {
[INFO] [stderr]    | ----------------- associated function in this implementation
[INFO] [stderr] 70 |     pub fn new(rays: &Rays) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `AttackSets` is never constructed
[INFO] [stderr]   --> src/pregen.rs:99:12
[INFO] [stderr]    |
[INFO] [stderr] 99 | pub struct AttackSets {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/pregen.rs:110:12
[INFO] [stderr]     |
[INFO] [stderr] 109 | impl AttackSets {
[INFO] [stderr]     | --------------- associated items in this implementation
[INFO] [stderr] 110 |     pub fn new(rays: &Rays, blocker_masks: &BlockerMasks) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 128 |     pub fn get_rook_attacks(&self, square: usize, blockers: u64) -> u64 {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 134 |     pub fn get_bishop_attacks(&self, square: usize, blockers: u64) -> u64 {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 140 |     fn rook(rays: &Rays, blocker_masks: &BlockerMasks) -> (Vec<u64>, [usize; 64]) {
[INFO] [stderr]     |        ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 168 |     fn bishop(rays: &Rays, blocker_masks: &BlockerMasks) -> (Vec<u64>, [usize; 64]) {
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 196 |     fn knight() -> [u64; 64] {
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 205 |     fn king() -> [u64; 64] {
[INFO] [stderr]     |        ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 214 |     fn pawn() -> [[u64; 64]; 2] {
[INFO] [stderr]     |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `knight_attack` is never used
[INFO] [stderr]    --> src/pregen.rs:226:8
[INFO] [stderr]     |
[INFO] [stderr] 226 | pub fn knight_attack(square: usize) -> u64 {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `king_attack` is never used
[INFO] [stderr]    --> src/pregen.rs:235:8
[INFO] [stderr]     |
[INFO] [stderr] 235 | pub fn king_attack(square: usize) -> u64 {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `pawn_attack` is never used
[INFO] [stderr]    --> src/pregen.rs:244:8
[INFO] [stderr]     |
[INFO] [stderr] 244 | pub fn pawn_attack(square: usize, color: usize) -> u64 {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `rook_attack` is never used
[INFO] [stderr]    --> src/pregen.rs:254:8
[INFO] [stderr]     |
[INFO] [stderr] 254 | pub fn rook_attack(square: u64, blockers: u64, rays: &Rays) -> u64 {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `bishop_attack` is never used
[INFO] [stderr]    --> src/pregen.rs:292:8
[INFO] [stderr]     |
[INFO] [stderr] 292 | pub fn bishop_attack(square: u64, blockers: u64, rays: &Rays) -> u64 {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `TableEntry` is never constructed
[INFO] [stderr]    --> src/pregen.rs:331:12
[INFO] [stderr]     |
[INFO] [stderr] 331 | pub struct TableEntry {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `TranspositionTable` is never constructed
[INFO] [stderr]    --> src/pregen.rs:339:12
[INFO] [stderr]     |
[INFO] [stderr] 339 | pub struct TranspositionTable {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `zobrist_hash`, and `update_zobrist_hash` are never used
[INFO] [stderr]    --> src/pregen.rs:349:12
[INFO] [stderr]     |
[INFO] [stderr] 348 | impl TranspositionTable {
[INFO] [stderr]     | ----------------------- associated items in this implementation
[INFO] [stderr] 349 |     pub fn new(size: usize) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 370 |     pub fn zobrist_hash(&self, board: &Board) -> u64 {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 401 |     pub fn update_zobrist_hash(&self, mut hash: u64, mov: &Move) -> u64 {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_string` is never used
[INFO] [stderr]  --> src/square.rs:3:8
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub fn parse_string(square: &str) -> Result<u8, &str> {
[INFO] [stderr]   |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `to_string` is never used
[INFO] [stderr]   --> src/square.rs:24:8
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub fn to_string(square: u8) -> String {
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `XORShift64` is never constructed
[INFO] [stderr]  --> src/rand.rs:2:12
[INFO] [stderr]   |
[INFO] [stderr] 2 | pub struct XORShift64 {
[INFO] [stderr]   |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `rand` are never used
[INFO] [stderr]   --> src/rand.rs:7:12
[INFO] [stderr]    |
[INFO] [stderr]  6 | impl XORShift64 {
[INFO] [stderr]    | --------------- associated items in this implementation
[INFO] [stderr]  7 |     pub fn new(seed: u64) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 11 |     pub fn rand(&mut self) -> u64 {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `selection_sort_once` is never used
[INFO] [stderr]  --> src/sort.rs:4:8
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub fn selection_sort_once(evals: &mut [(i32, usize)]) {
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `chess-engine` (lib) generated 190 warnings (run `cargo fix --lib -p chess-engine` to apply 7 suggestions)
[INFO] [stderr] warning: unused variable: `bm`
[INFO] [stderr]    --> src/pregen.rs:496:13
[INFO] [stderr]     |
[INFO] [stderr] 496 |         let bm = BlockerMasks::new(&rays);
[INFO] [stderr]     |             ^^ help: if this is intentional, prefix it with an underscore: `_bm`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `G1` is never used
[INFO] [stderr]  --> src/bitboard.rs:6:11
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub const G1: u8 = 1;
[INFO] [stderr]   |           ^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `transposition_table` is never read
[INFO] [stderr]   --> src/engine.rs:73:9
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub struct Engine {
[INFO] [stderr]    |            ------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 73 |     pub transposition_table: pregen::TranspositionTable,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `is_en_passant` and `is_castle` are never used
[INFO] [stderr]   --> src/moves.rs:45:12
[INFO] [stderr]    |
[INFO] [stderr] 22 | impl Move {
[INFO] [stderr]    | --------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 45 |     pub fn is_en_passant(&self) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 49 |     pub fn is_castle(&self) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `zobrist_key`, `depth`, `eval`, `node_type`, and `best_move` are never read
[INFO] [stderr]    --> src/pregen.rs:332:5
[INFO] [stderr]     |
[INFO] [stderr] 331 | pub struct TableEntry {
[INFO] [stderr]     |            ---------- fields in this struct
[INFO] [stderr] 332 |     zobrist_key: u64,
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr] 333 |     depth: u16,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr] 334 |     eval: i32,
[INFO] [stderr]     |     ^^^^
[INFO] [stderr] 335 |     node_type: u8,
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr] 336 |     best_move: Option<Move>,
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `TableEntry` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `transpositions`, `pieces`, `en_passants`, `castling_rights`, and `colors` are never read
[INFO] [stderr]    --> src/pregen.rs:340:5
[INFO] [stderr]     |
[INFO] [stderr] 339 | pub struct TranspositionTable {
[INFO] [stderr]     |            ------------------ fields in this struct
[INFO] [stderr] 340 |     transpositions: Vec<TableEntry>,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^
[INFO] [stderr] 341 |
[INFO] [stderr] 342 |     pieces: [[[u64; 64]; 6]; 2],
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 343 |     en_passants: [u64; 64],
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr] 344 |     castling_rights: [u64; 16],
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 345 |     colors: [u64; 2],
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `zobrist_hash` and `update_zobrist_hash` are never used
[INFO] [stderr]    --> src/pregen.rs:370:12
[INFO] [stderr]     |
[INFO] [stderr] 348 | impl TranspositionTable {
[INFO] [stderr]     | ----------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 370 |     pub fn zobrist_hash(&self, board: &Board) -> u64 {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 401 |     pub fn update_zobrist_hash(&self, mut hash: u64, mov: &Move) -> u64 {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `chess-engine` (lib test) generated 90 warnings (83 duplicates) (run `cargo fix --lib -p chess-engine --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [optimized + debuginfo] target(s) in 0.10s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/chess_engine-856d82603526d92f)
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test bits::tests::clear_lsb_test ... ok
[INFO] [stdout] test pregen::tests::bishop_moves ... ok
[INFO] [stdout] test engine::tests::best_move_test ... ok
[INFO] [stdout] test engine::tests::en_passant_test ... ok
[INFO] [stdout] test bits::tests::rotate_test ... ok
[INFO] [stdout] test pregen::tests::bit_subset ... ok
[INFO] [stdout] test pregen::tests::blockers_mask ... ok
[INFO] [stdout] test engine::tests::fen_test ... ok
[INFO] [stdout] test pregen::tests::rays ... ok
[INFO] [stdout] test pregen::tests::rook_moves ... ok
[INFO] [stdout] test pregen::tests::magic_rook_test ... ok
[INFO] [stdout] test engine::tests::generation_test has been running for over 60 seconds
[ERROR] error running command: no output for 300 seconds
[INFO] running `Command { std: "docker" "inspect" "6eb451d5793e8cf8ec07f76e66fffc8772a0c480d40ae56fdf2af8da4e711a98", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6eb451d5793e8cf8ec07f76e66fffc8772a0c480d40ae56fdf2af8da4e711a98", kill_on_drop: false }`
[INFO] [stdout] 6eb451d5793e8cf8ec07f76e66fffc8772a0c480d40ae56fdf2af8da4e711a98
