[INFO] cloning repository https://github.com/AbdelrahmanAbdelhalim/RustyRaven
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/AbdelrahmanAbdelhalim/RustyRaven" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAbdelrahmanAbdelhalim%2FRustyRaven", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAbdelrahmanAbdelhalim%2FRustyRaven'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ada33e7d63924b5f745d692b47e07d7e68b49294
[INFO] checking AbdelrahmanAbdelhalim/RustyRaven against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146470
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAbdelrahmanAbdelhalim%2FRustyRaven" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/AbdelrahmanAbdelhalim/RustyRaven
[INFO] finished tweaking git repo https://github.com/AbdelrahmanAbdelhalim/RustyRaven
[INFO] tweaked toml for git repo https://github.com/AbdelrahmanAbdelhalim/RustyRaven written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/AbdelrahmanAbdelhalim/RustyRaven on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/AbdelrahmanAbdelhalim/RustyRaven 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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded clap_builder v4.5.27
[INFO] [stderr]   Downloaded unicode-ident v1.0.15
[INFO] [stderr]   Downloaded serde_json v1.0.137
[INFO] [stderr]   Downloaded clap v4.5.27
[INFO] [stderr]   Downloaded oorandom v11.1.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9f77ded948b4ba7fca51be76902777d21aa30cc059aec24bd3de61172c9f0182
[INFO] running `Command { std: "docker" "start" "-a" "9f77ded948b4ba7fca51be76902777d21aa30cc059aec24bd3de61172c9f0182", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9f77ded948b4ba7fca51be76902777d21aa30cc059aec24bd3de61172c9f0182", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9f77ded948b4ba7fca51be76902777d21aa30cc059aec24bd3de61172c9f0182", kill_on_drop: false }`
[INFO] [stdout] 9f77ded948b4ba7fca51be76902777d21aa30cc059aec24bd3de61172c9f0182
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ee7679392975f6e253881b7f83d843286d99e4e56199ac7067bde4198458a7bc
[INFO] running `Command { std: "docker" "start" "-a" "ee7679392975f6e253881b7f83d843286d99e4e56199ac7067bde4198458a7bc", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.93
[INFO] [stderr]    Compiling unicode-ident v1.0.15
[INFO] [stderr]    Compiling serde v1.0.217
[INFO] [stderr]     Checking either v1.13.0
[INFO] [stderr]    Compiling serde_json v1.0.137
[INFO] [stderr]     Checking plotters-backend v0.3.7
[INFO] [stderr]     Checking regex-syntax v0.8.5
[INFO] [stderr]     Checking clap_builder v4.5.27
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]     Checking oorandom v11.1.4
[INFO] [stderr]     Checking anes v0.1.6
[INFO] [stderr]     Checking is-terminal v0.4.15
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking plotters-svg v0.3.7
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]    Compiling syn v2.0.96
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]     Checking clap v4.5.27
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]    Compiling serde_derive v1.0.217
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking criterion v0.5.1
[INFO] [stderr]     Checking rusty_screbby v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::arch::x86_64::_pext_u64`
[INFO] [stdout]  --> src/board/bitboard.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::arch::x86_64::_pext_u64;
[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: `super::bitboard::pop_lsb`
[INFO] [stdout]  --> src/board/movegen.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::bitboard::pop_lsb;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::all_pieces`
[INFO] [stdout]  --> src/board/movegen.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::all_pieces;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::board::bitboard::get_pawn_attacks_bb`
[INFO] [stdout]  --> src/board/movegen.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::board::bitboard::get_pawn_attacks_bb;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::arch::x86_64::_pext_u64`
[INFO] [stdout]  --> src/board/bitboard.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::arch::x86_64::_pext_u64;
[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: `super::bitboard::pop_lsb`
[INFO] [stdout]  --> src/board/movegen.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::bitboard::pop_lsb;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::all_pieces`
[INFO] [stdout]  --> src/board/movegen.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::all_pieces;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::board::bitboard::get_pawn_attacks_bb`
[INFO] [stdout]  --> src/board/movegen.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::board::bitboard::get_pawn_attacks_bb;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused attribute
[INFO] [stdout]    --> src/board/position.rs:748:5
[INFO] [stdout]     |
[INFO] [stdout] 748 |     #[inline]
[INFO] [stdout]     |     ^^^^^^^^^ help: remove this attribute
[INFO] [stdout]     |
[INFO] [stdout] note: attribute also specified here
[INFO] [stdout]    --> src/board/position.rs:743:5
[INFO] [stdout]     |
[INFO] [stdout] 743 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused attribute
[INFO] [stdout]    --> src/board/position.rs:748:5
[INFO] [stdout]     |
[INFO] [stdout] 748 |     #[inline]
[INFO] [stdout]     |     ^^^^^^^^^ help: remove this attribute
[INFO] [stdout]     |
[INFO] [stdout] note: attribute also specified here
[INFO] [stdout]    --> src/board/position.rs:743:5
[INFO] [stdout]     |
[INFO] [stdout] 743 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `size` is never read
[INFO] [stdout]    --> src/board/bitboard.rs:320:27
[INFO] [stdout]     |
[INFO] [stdout] 320 |     let mut size: usize = 0;
[INFO] [stdout]     |                           ^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `kto` is never read
[INFO] [stdout]    --> src/board/position.rs:202:9
[INFO] [stdout]     |
[INFO] [stdout] 202 |         kto = kto.relative_square(c);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ksq`
[INFO] [stdout]    --> src/board/position.rs:298:17
[INFO] [stdout]     |
[INFO] [stdout] 298 |             let ksq: Square = self.square(us, PieceType::King);
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_ksq`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `occupied`
[INFO] [stdout]    --> src/board/position.rs:300:17
[INFO] [stdout]     |
[INFO] [stdout] 300 |             let occupied: Bitboard = (all_pieces!(self) ^ from ^ capsq) | to;
[INFO] [stdout]     |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_occupied`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state_stack`
[INFO] [stdout]    --> src/board/position.rs:344:37
[INFO] [stdout]     |
[INFO] [stdout] 344 |     fn pseudo_legal(&self, m: Move, state_stack: &StateStack) -> bool {
[INFO] [stdout]     |                                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_state_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]    --> src/board/position.rs:740:26
[INFO] [stdout]     |
[INFO] [stdout] 740 |     pub fn square(&self, c: Color, pt: PieceType) -> Square {
[INFO] [stdout]     |                          ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `psq`
[INFO] [stdout]    --> src/board/position.rs:870:21
[INFO] [stdout]     |
[INFO] [stdout] 870 |         if let Some(psq) = zobrist::PSQ.get() {
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_psq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `psq`
[INFO] [stdout]    --> src/board/position.rs:875:21
[INFO] [stdout]     |
[INFO] [stdout] 875 |         if let Some(psq) = zobrist::ENPASSANT.get() {
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_psq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `psq`
[INFO] [stdout]    --> src/board/position.rs:880:21
[INFO] [stdout]     |
[INFO] [stdout] 880 |         if let Some(psq) = zobrist::CASTLING.get() {
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_psq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `psq`
[INFO] [stdout]    --> src/board/position.rs:885:21
[INFO] [stdout]     |
[INFO] [stdout] 885 |         if let Some(psq) = zobrist::SIDE.get() {
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_psq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `psq`
[INFO] [stdout]    --> src/board/position.rs:890:21
[INFO] [stdout]     |
[INFO] [stdout] 890 |         if let Some(psq) = zobrist::NOPAWNS.get() {
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_psq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `st`
[INFO] [stdout]     --> src/board/position.rs:1026:79
[INFO] [stdout]      |
[INFO] [stdout] 1026 |     fn test_enpassant_do_undo(position: &mut Position, newst: &mut StateInfo, st: &mut StateStack) {
[INFO] [stdout]      |                                                                               ^^ help: if this is intentional, prefix it with an underscore: `_st`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `st`
[INFO] [stdout]     --> src/board/position.rs:1055:9
[INFO] [stdout]      |
[INFO] [stdout] 1055 |         st: &mut StateStack,
[INFO] [stdout]      |         ^^ help: if this is intentional, prefix it with an underscore: `_st`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `st`
[INFO] [stdout]     --> src/board/position.rs:1084:77
[INFO] [stdout]      |
[INFO] [stdout] 1084 |     fn test_promotion_moves(position: &mut Position, newst: &mut StateInfo, st: &mut StateStack) {
[INFO] [stdout]      |                                                                             ^^ help: if this is intentional, prefix it with an underscore: `_st`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `move_list`
[INFO] [stdout]   --> src/board/movegen.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     move_list: &mut MoveList,
[INFO] [stdout]    |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_move_list`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `to`
[INFO] [stdout]   --> src/board/movegen.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     to: Square,
[INFO] [stdout]    |     ^^ help: if this is intentional, prefix it with an underscore: `_to`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d`
[INFO] [stdout]   --> src/board/movegen.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |     let d = D;
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `cur` is never read
[INFO] [stdout]   --> src/board/movegen.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |         cur += 1;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `b1` is never read
[INFO] [stdout]    --> src/board/movegen.rs:221:17
[INFO] [stdout]     |
[INFO] [stdout] 221 |                 b1 = pawns_not_on_7th & bb::get_pawn_attacks_bb(us, pos.ep_square());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gen_type`
[INFO] [stdout]    --> src/board/movegen.rs:230:9
[INFO] [stdout]     |
[INFO] [stdout] 230 |     let gen_type: i32 = T;
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gen_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `us`
[INFO] [stdout]    --> src/board/movegen.rs:231:9
[INFO] [stdout]     |
[INFO] [stdout] 231 |     let us = bind_color(C);
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_us`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gen_type`
[INFO] [stdout]    --> src/board/movegen.rs:235:9
[INFO] [stdout]     |
[INFO] [stdout] 235 |     let gen_type: i32 = T;
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gen_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `us`
[INFO] [stdout]    --> src/board/movegen.rs:236:9
[INFO] [stdout]     |
[INFO] [stdout] 236 |     let us = bind_color(C);
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_us`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `move_type`
[INFO] [stdout]    --> src/types.rs:955:17
[INFO] [stdout]     |
[INFO] [stdout] 955 |     pub fn make(move_type: MoveType, from: Square, to: Square, pt: PieceType) {
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_move_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `from`
[INFO] [stdout]    --> src/types.rs:955:38
[INFO] [stdout]     |
[INFO] [stdout] 955 |     pub fn make(move_type: MoveType, from: Square, to: Square, pt: PieceType) {
[INFO] [stdout]     |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_from`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `to`
[INFO] [stdout]    --> src/types.rs:955:52
[INFO] [stdout]     |
[INFO] [stdout] 955 |     pub fn make(move_type: MoveType, from: Square, to: Square, pt: PieceType) {
[INFO] [stdout]     |                                                    ^^ help: if this is intentional, prefix it with an underscore: `_to`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pt`
[INFO] [stdout]    --> src/types.rs:955:64
[INFO] [stdout]     |
[INFO] [stdout] 955 |     pub fn make(move_type: MoveType, from: Square, to: Square, pt: PieceType) {
[INFO] [stdout]     |                                                                ^^ help: if this is intentional, prefix it with an underscore: `_pt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Magic` is more private than the item `ROOK_MAGICS`
[INFO] [stdout]    --> src/board/bitboard.rs:43:1
[INFO] [stdout]     |
[INFO] [stdout]  43 | pub static ROOK_MAGICS: OnceLock<[Magic; SQNB]> = OnceLock::new();
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ static `ROOK_MAGICS` is reachable at visibility `pub(in crate::board)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `Magic` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/board/bitboard.rs:241:1
[INFO] [stdout]     |
[INFO] [stdout] 241 | struct Magic {
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Magic` is more private than the item `BISHOP_MAGICS`
[INFO] [stdout]    --> src/board/bitboard.rs:44:1
[INFO] [stdout]     |
[INFO] [stdout]  44 | pub static BISHOP_MAGICS: OnceLock<[Magic; SQNB]> = OnceLock::new();
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ static `BISHOP_MAGICS` is reachable at visibility `pub(in crate::board)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `Magic` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/board/bitboard.rs:241:1
[INFO] [stdout]     |
[INFO] [stdout] 241 | struct Magic {
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `position::StateInfo` is more private than the item `position::Position::do_move`
[INFO] [stdout]    --> src/board/position.rs:464:5
[INFO] [stdout]     |
[INFO] [stdout] 464 |     pub fn do_move(&mut self, m: Move, new_state: &mut StateInfo, gives_check: bool) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `position::Position::do_move` is reachable at visibility `pub(in crate::board)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `position::StateInfo` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/board/position.rs:79:1
[INFO] [stdout]     |
[INFO] [stdout]  79 | struct StateInfo {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `MoveList` is more private than the item `make_promotions`
[INFO] [stdout]   --> src/board/movegen.rs:63:1
[INFO] [stdout]    |
[INFO] [stdout] 63 | / pub fn make_promotions<const T: i32, const D: i32, const Enemy: bool>(
[INFO] [stdout] 64 | |     move_list: &mut MoveList,
[INFO] [stdout] 65 | |     to: Square,
[INFO] [stdout] 66 | | ) -> usize {
[INFO] [stdout]    | |__________^ function `make_promotions` is reachable at visibility `pub(in crate::board)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `MoveList` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/board/movegen.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | struct MoveList {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `MoveList` is more private than the item `generate_pawn_moves`
[INFO] [stdout]   --> src/board/movegen.rs:81:1
[INFO] [stdout]    |
[INFO] [stdout] 81 | / pub fn generate_pawn_moves<const T: i32, const C: i32>(
[INFO] [stdout] 82 | |     pos: &pos::Position,
[INFO] [stdout] 83 | |     move_list: &mut MoveList,
[INFO] [stdout] 84 | |     target: Bitboard,
[INFO] [stdout] 85 | | ) {
[INFO] [stdout]    | |_^ function `generate_pawn_moves` is reachable at visibility `pub(in crate::board)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `MoveList` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/board/movegen.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | struct MoveList {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILEABB` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const FILEABB: Bitboard = 0x0101010101010101;
[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 `FILEBBB` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const FILEBBB: Bitboard = FILEABB << 1;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILECBB` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const FILECBB: Bitboard = FILEABB << 2;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILEDBB` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const FILEDBB: Bitboard = FILEABB << 3;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILEEBB` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const FILEEBB: Bitboard = FILEABB << 4;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILEFBB` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const FILEFBB: Bitboard = FILEABB << 5;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILEGBB` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const FILEGBB: Bitboard = FILEABB << 6;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILEHBB` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const FILEHBB: Bitboard = FILEABB << 7;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK1BB` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const RANK1BB: Bitboard = 0xFF;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK2BB` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const RANK2BB: Bitboard = RANK1BB << (8 * 1);
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK3BB` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const RANK3BB: Bitboard = RANK1BB << (8 * 2);
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK4BB` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const RANK4BB: Bitboard = RANK1BB << (8 * 2);
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK5BB` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const RANK5BB: Bitboard = RANK1BB << (8 * 4);
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK6BB` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub const RANK6BB: Bitboard = RANK1BB << (8 * 5);
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK7BB` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const RANK7BB: Bitboard = RANK1BB << (8 * 6);
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK8BB` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub const RANK8BB: Bitboard = RANK1BB << (8 * 7);
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS64BIT` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:34:7
[INFO] [stdout]    |
[INFO] [stdout] 34 | const IS64BIT: bool = cfg!(target_pointer_width = "64");
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `POPCNT` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub static POPCNT: OnceLock<[u8; 1 << 16]> = OnceLock::new();
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `SQUARE_DISTANCE` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub static SQUARE_DISTANCE: OnceLock<[[u8; SQNB]; SQNB]> = OnceLock::new();
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `LINE_BB` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub static LINE_BB: OnceLock<[[Bitboard; SQNB]; SQNB]> = OnceLock::new();
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `BETWEEN_BB` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub static BETWEEN_BB: OnceLock<[[Bitboard; SQNB]; SQNB]> = OnceLock::new();
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `PSEUDO_ATTACKS` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub static PSEUDO_ATTACKS: OnceLock<[[Bitboard; SQNB]; PTNB]> = OnceLock::new();
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `PAWN_ATTACKS` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub static PAWN_ATTACKS: OnceLock<[[Bitboard; SQNB]; COLORNB]> = OnceLock::new();
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `ROOK_MAGICS` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub static ROOK_MAGICS: OnceLock<[Magic; SQNB]> = OnceLock::new();
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `BISHOP_MAGICS` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub static BISHOP_MAGICS: OnceLock<[Magic; SQNB]> = OnceLock::new();
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `ROOK_TABLE` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 46 | static ROOK_TABLE: OnceLock<Vec<Bitboard>> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `BISHOP_TABLE` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | static BISHOP_TABLE: OnceLock<Vec<Bitboard>> = OnceLock::new();
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `more_than_one` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:49:14
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub const fn more_than_one(bb: Bitboard) -> bool {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `distance` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:53:4
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn distance(x: Square, y: Square) -> u8 {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:58:14
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub const fn shift(b: Bitboard, d: Direction) -> Bitboard {
[INFO] [stdout]    |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_twice` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:72:10
[INFO] [stdout]    |
[INFO] [stdout] 72 | const fn shift_twice(b: Bitboard, d: Direction) -> Bitboard {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pawn_attacks_bb` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:80:14
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub const fn pawn_attacks_bb(bb: Bitboard, c: Color) -> Bitboard {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_pawn_attacks_bb` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:88:8
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub fn get_pawn_attacks_bb(c: Color, s: Square) -> Bitboard {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_pseudo_attacks` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:96:8
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub fn get_pseudo_attacks(pt: PieceType, s: Square) -> Bitboard {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `alligned` is never used
[INFO] [stdout]    --> src/board/bitboard.rs:104:8
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub fn alligned(s1: Square, s2: Square, s3: Square) -> bool {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `attacks_bb` is never used
[INFO] [stdout]    --> src/board/bitboard.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn attacks_bb(pt: PieceType, s: Square, occupied: Bitboard) -> Bitboard {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `attacks_bb_helper` is never used
[INFO] [stdout]    --> src/board/bitboard.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub fn attacks_bb_helper(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bishop_attacks_bb` is never used
[INFO] [stdout]    --> src/board/bitboard.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub fn bishop_attacks_bb(s: Square, occupied: Bitboard) -> Bitboard {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rook_attacks_bb` is never used
[INFO] [stdout]    --> src/board/bitboard.rs:146:8
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub fn rook_attacks_bb(s: Square, occupied: Bitboard) -> Bitboard {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pseudo_attacks_bb` is never used
[INFO] [stdout]    --> src/board/bitboard.rs:154:8
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub fn pseudo_attacks_bb(pt: PieceType, s: Square) -> Bitboard {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rank_bb` is never used
[INFO] [stdout]    --> src/board/bitboard.rs:162:10
[INFO] [stdout]     |
[INFO] [stdout] 162 | const fn rank_bb(r: Rank) -> Bitboard {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pop_lsb` is never used
[INFO] [stdout]    --> src/board/bitboard.rs:167:8
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub fn pop_lsb(bb: &mut Bitboard) -> Square {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `file_bb` is never used
[INFO] [stdout]    --> src/board/bitboard.rs:174:10
[INFO] [stdout]     |
[INFO] [stdout] 174 | const fn file_bb(f: File) -> Bitboard {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `between_bb` is never used
[INFO] [stdout]    --> src/board/bitboard.rs:179:8
[INFO] [stdout]     |
[INFO] [stdout] 179 | pub fn between_bb(s1: Square, s2: Square) -> Bitboard {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `least_significant_square_bb` is never used
[INFO] [stdout]    --> src/board/bitboard.rs:187:4
[INFO] [stdout]     |
[INFO] [stdout] 187 | fn least_significant_square_bb(bb: Bitboard) -> Bitboard {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sliding_attack` is never used
[INFO] [stdout]    --> src/board/bitboard.rs:192:4
[INFO] [stdout]     |
[INFO] [stdout] 192 | fn sliding_attack(pt: &PieceType, sq: Square, occupied: Bitboard) -> Bitboard {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `safe_destination` is never used
[INFO] [stdout]    --> src/board/bitboard.rs:227:4
[INFO] [stdout]     |
[INFO] [stdout] 227 | fn safe_destination(s: Square, step: i32) -> Bitboard {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Magic` is never constructed
[INFO] [stdout]    --> src/board/bitboard.rs:241:8
[INFO] [stdout]     |
[INFO] [stdout] 241 | struct Magic {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `default` and `index` are never used
[INFO] [stdout]    --> src/board/bitboard.rs:249:12
[INFO] [stdout]     |
[INFO] [stdout] 248 | impl Magic {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] 249 |     pub fn default() -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 257 |     pub fn index(&self, occupied: Bitboard) -> usize {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init` is never used
[INFO] [stdout]    --> src/board/bitboard.rs:268:8
[INFO] [stdout]     |
[INFO] [stdout] 268 | pub fn init() {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_popcnt` is never used
[INFO] [stdout]    --> src/board/bitboard.rs:286:4
[INFO] [stdout]     |
[INFO] [stdout] 286 | fn init_popcnt() {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_square_distance` is never used
[INFO] [stdout]    --> src/board/bitboard.rs:291:4
[INFO] [stdout]     |
[INFO] [stdout] 291 | fn init_square_distance() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_magics` is never used
[INFO] [stdout]    --> src/board/bitboard.rs:308:4
[INFO] [stdout]     |
[INFO] [stdout] 308 | fn init_magics(pt: PieceType, table: &mut Vec<Bitboard>, magics: &mut [Magic; SQNB]) {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_other_tables` is never used
[INFO] [stdout]    --> src/board/bitboard.rs:374:4
[INFO] [stdout]     |
[INFO] [stdout] 374 | fn init_other_tables() {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pretty` is never used
[INFO] [stdout]    --> src/board/bitboard.rs:422:8
[INFO] [stdout]     |
[INFO] [stdout] 422 | pub fn pretty(b: Bitboard) -> String {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PIECE_TYPE_NB` is never used
[INFO] [stdout]   --> src/board/position.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const PIECE_TYPE_NB: usize = PieceType::PieceTypeNb as usize;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PIECE_TO_CHAR` is never used
[INFO] [stdout]   --> src/board/position.rs:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | const PIECE_TO_CHAR: &str = " PNBRQK  pnbrqk";
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_PLY` is never used
[INFO] [stdout]   --> src/board/position.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | const MAX_PLY: usize = 246; // Maximum search depth
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `CUCKOO` is never used
[INFO] [stdout]   --> src/board/position.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub static CUCKOO: OnceLock<[Key; 8192]> = OnceLock::new();
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `CUCKOO_MOVE` is never used
[INFO] [stdout]   --> src/board/position.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub static CUCKOO_MOVE: OnceLock<[Key; 8192]> = OnceLock::new();
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `pieces` is never used
[INFO] [stdout]   --> src/board/position.rs:53:7
[INFO] [stdout]    |
[INFO] [stdout] 53 | const pieces: [Piece; 12] = [
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `H1` is never used
[INFO] [stdout]   --> src/board/position.rs:69:4
[INFO] [stdout]    |
[INFO] [stdout] 69 | fn H1(h: Key) -> i32 {
[INFO] [stdout]    |    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `H2` is never used
[INFO] [stdout]   --> src/board/position.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn H2(h: Key) -> i32 {
[INFO] [stdout]    |    ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StateInfo` is never constructed
[INFO] [stdout]   --> src/board/position.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 79 | struct StateInfo {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `copy_from_old_to_new` is never used
[INFO] [stdout]    --> src/board/position.rs:102:12
[INFO] [stdout]     |
[INFO] [stdout] 101 | impl StateInfo {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] 102 |     pub fn copy_from_old_to_new(&self, newst: &mut StateInfo) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StateStack` is never constructed
[INFO] [stdout]    --> src/board/position.rs:114:8
[INFO] [stdout]     |
[INFO] [stdout] 114 | struct StateStack {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `push`, and `pop` are never used
[INFO] [stdout]    --> src/board/position.rs:119:8
[INFO] [stdout]     |
[INFO] [stdout] 118 | impl StateStack {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 119 |     fn new() -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     fn push(&mut self, newst: StateInfo) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     fn pop(&mut self) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Position` is never constructed
[INFO] [stdout]    --> src/board/position.rs:134:12
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub struct Position {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/board/position.rs:149:8
[INFO] [stdout]     |
[INFO] [stdout] 148 | impl Position {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 149 |     fn default() -> Self {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     fn st(&self) -> &StateInfo {
[INFO] [stdout]     |        ^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     fn st_mut<'a>(&mut self) -> &mut StateInfo {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     fn set_castling_right(&mut self, c: Color, rfrom: Square) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     fn set_check_info(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 235 |     fn update_sliders_blockers(&mut self, c: Color) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 261 |     fn set_state(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 275 |     fn attackers_to(&self, s: Square, occupied: Bitboard) -> Bitboard {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 289 |     fn legal(self, m: Move) -> bool {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 340 |     pub fn all_pieces(&self) -> Bitboard {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 344 |     fn pseudo_legal(&self, m: Move, state_stack: &StateStack) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 405 |     fn gives_check(&self, m: Move) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 464 |     pub fn do_move(&mut self, m: Move, new_state: &mut StateInfo, gives_check: bool) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 645 |     pub fn undo_move(&mut self, mv: Move) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 679 |     fn do_castling(
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 709 |     fn undo_castling(
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 740 |     pub fn square(&self, c: Color, pt: PieceType) -> Square {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 749 |     pub fn side_to_move(&self) -> Color {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 754 |     fn piece_on(&self, s: Square) -> Piece {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 759 |     fn empty(&self, s: Square) -> bool {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 764 |     fn moved_piece(&self, m: Move) -> Piece {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 769 |     pub fn pieces_by_piecetype(&self, pt: PieceType) -> Bitboard {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 774 |     pub fn pieces_by_color(&self, color: Color) -> Bitboard {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 779 |     pub fn ep_square(&self) -> Square {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 784 |     fn can_castle(&self, cr: CastlingRights) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 789 |     pub fn checkers(&self) -> Bitboard {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 794 |     pub fn blockers_for_king(&self, c: Color) -> Bitboard {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 799 |     fn pinners(&self, c: Color) -> Bitboard {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 804 |     fn check_squares(&self, pt: PieceType) -> Bitboard {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 809 |     fn pawn_key(&self) -> Key {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 814 |     fn material_key(&self) -> Key {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 819 |     fn non_pawn_material(&self, c: Color) -> Value {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 824 |     fn game_ply(&self) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 829 |     fn rule50_count(&self) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 834 |     fn captured_piece(&self) -> Piece {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 838 |     fn put_piece(&mut self, pc: Piece, s: Square) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 848 |     fn remove_piece(&mut self, s: Square) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 858 |     fn move_piece(&mut self, f: Square, t: Square) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 868 |     pub fn init() {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 929 |     fn pieces_by_type(&self, pt: PieceType) -> Bitboard {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_enpassant_do_undo` is never used
[INFO] [stdout]     --> src/board/position.rs:1026:8
[INFO] [stdout]      |
[INFO] [stdout] 1026 |     fn test_enpassant_do_undo(position: &mut Position, newst: &mut StateInfo, st: &mut StateStack) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_normal_move_do_undo` is never used
[INFO] [stdout]     --> src/board/position.rs:1052:8
[INFO] [stdout]      |
[INFO] [stdout] 1052 |     fn test_normal_move_do_undo(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_promotion_moves` is never used
[INFO] [stdout]     --> src/board/position.rs:1084:8
[INFO] [stdout]      |
[INFO] [stdout] 1084 |     fn test_promotion_moves(position: &mut Position, newst: &mut StateInfo, st: &mut StateStack) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_update_sliders_blockers` is never used
[INFO] [stdout]     --> src/board/position.rs:1153:8
[INFO] [stdout]      |
[INFO] [stdout] 1153 |     fn test_update_sliders_blockers() {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `PSQ` is never used
[INFO] [stdout]  --> src/board/zobrist.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub static PSQ: OnceLock<[[Key; SQNB]; PNB]> = OnceLock::new();
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `ENPASSANT` is never used
[INFO] [stdout]  --> src/board/zobrist.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub static ENPASSANT: OnceLock<[Key; FNB]> = OnceLock::new(); 
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `CASTLING` is never used
[INFO] [stdout]  --> src/board/zobrist.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub static CASTLING: OnceLock<[Key; CRNB]> = OnceLock::new();
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `SIDE` is never used
[INFO] [stdout]  --> src/board/zobrist.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub static SIDE: OnceLock<Key> = OnceLock::new();   
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `NOPAWNS` is never used
[INFO] [stdout]  --> src/board/zobrist.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub static NOPAWNS: OnceLock<Key> = OnceLock::new();   
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_zobrist` is never used
[INFO] [stdout]   --> src/board/zobrist.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn init_zobrist() {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_zobrist_side` is never used
[INFO] [stdout]   --> src/board/zobrist.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn get_zobrist_side() -> Key {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_zobrist_psq` is never used
[INFO] [stdout]   --> src/board/zobrist.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn get_zobrist_psq() -> [[Key; SQNB]; PNB] {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_zobrist_castling` is never used
[INFO] [stdout]   --> src/board/zobrist.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub fn get_zobrist_castling() -> [Key; CRNB] {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_zorist_nopawns` is never used
[INFO] [stdout]   --> src/board/zobrist.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub fn get_zorist_nopawns() -> Key {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_zobrist_enpassant` is never used
[INFO] [stdout]   --> src/board/zobrist.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub fn get_zobrist_enpassant() -> [Key; FNB] {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_MOVES` is never used
[INFO] [stdout]   --> src/board/movegen.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const MAX_MOVES: usize = 256;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExtMove` is never constructed
[INFO] [stdout]   --> src/board/movegen.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct ExtMove {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MoveList` is never constructed
[INFO] [stdout]   --> src/board/movegen.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | struct MoveList {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_from_move` is never used
[INFO] [stdout]   --> src/board/movegen.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl ExtMove {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 22 |     pub fn new_from_move(m: Move) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `push_move`, and `push_move_ext_move` are never used
[INFO] [stdout]   --> src/board/movegen.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl MoveList {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 28 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn push_move(&mut self, mv: Move) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn push_move_ext_move(&mut self, mv: ExtMove) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bind_color` is never used
[INFO] [stdout]   --> src/board/movegen.rs:43:10
[INFO] [stdout]    |
[INFO] [stdout] 43 | const fn bind_color(n: i32) -> Color {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bind_gentype` is never used
[INFO] [stdout]   --> src/board/movegen.rs:51:10
[INFO] [stdout]    |
[INFO] [stdout] 51 | const fn bind_gentype(n: i32) -> GenType {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_promotions` is never used
[INFO] [stdout]   --> src/board/movegen.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub fn make_promotions<const T: i32, const D: i32, const Enemy: bool>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_pawn_moves` is never used
[INFO] [stdout]   --> src/board/movegen.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub fn generate_pawn_moves<const T: i32, const C: i32>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_moves` is never used
[INFO] [stdout]    --> src/board/movegen.rs:229:8
[INFO] [stdout]     |
[INFO] [stdout] 229 | pub fn generate_moves<const C: i32, const T: i32>() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_all` is never used
[INFO] [stdout]    --> src/board/movegen.rs:234:8
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub fn generate_all<const C: i32, const T: i32>() {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Prng` is never constructed
[INFO] [stdout]  --> src/misc.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Prng {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `rand64`, `rand`, and `sparse_rand` are never used
[INFO] [stdout]   --> src/misc.rs:6:12
[INFO] [stdout]    |
[INFO] [stdout]  5 | impl Prng {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout]  6 |     pub fn new(seed: u64) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub fn rand64(&mut self) -> u64 {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn rand<T: From<u64>>(&mut self) -> T {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn sparse_rand<T: From<u64>>(&mut self) -> T {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Value` is never used
[INFO] [stdout]  --> src/types.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub type Value = i32;
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Key` is never used
[INFO] [stdout]  --> src/types.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub type Key = u64;
[INFO] [stdout]   |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Depth` is never used
[INFO] [stdout]  --> src/types.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub type Depth = i32;
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_MOVES` is never used
[INFO] [stdout]   --> src/types.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const MAX_MOVES: i32 = 256;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_PLY` is never used
[INFO] [stdout]   --> src/types.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const MAX_PLY: i32 = 246;
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VALUE_ZERO` is never used
[INFO] [stdout]   --> src/types.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const VALUE_ZERO: Value = 0;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VALUE_DRAW` is never used
[INFO] [stdout]   --> src/types.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const VALUE_DRAW: Value = 0;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VALUE_NONE` is never used
[INFO] [stdout]   --> src/types.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const VALUE_NONE: Value = 32002;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VALUE_INFINITE` is never used
[INFO] [stdout]   --> src/types.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const VALUE_INFINITE: Value = 32001;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VALUE_MATE` is never used
[INFO] [stdout]   --> src/types.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const VALUE_MATE: Value = 32000;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VALUE_MATE_IN_MAX_PLY` is never used
[INFO] [stdout]   --> src/types.rs:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | const VALUE_MATE_IN_MAX_PLY: Value = VALUE_MATE - MAX_PLY;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VALUE_MATED_IN_MAX_PLY` is never used
[INFO] [stdout]   --> src/types.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | const VALUE_MATED_IN_MAX_PLY: Value = -VALUE_MATE_IN_MAX_PLY;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VALUE_TB` is never used
[INFO] [stdout]   --> src/types.rs:20:7
[INFO] [stdout]    |
[INFO] [stdout] 20 | const VALUE_TB: Value = VALUE_MATE_IN_MAX_PLY - 1;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VALUE_TB_WIN_IN_MAX_PLY` is never used
[INFO] [stdout]   --> src/types.rs:21:7
[INFO] [stdout]    |
[INFO] [stdout] 21 | const VALUE_TB_WIN_IN_MAX_PLY: Value = VALUE_TB - MAX_PLY;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VALUE_TB_LOSS_IN_MAX_PLY` is never used
[INFO] [stdout]   --> src/types.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const VALUE_TB_LOSS_IN_MAX_PLY: Value = -VALUE_TB_WIN_IN_MAX_PLY;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PAWNVALUE` is never used
[INFO] [stdout]   --> src/types.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 | const PAWNVALUE: Value = 208;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KNIGHTVALUE` is never used
[INFO] [stdout]   --> src/types.rs:25:7
[INFO] [stdout]    |
[INFO] [stdout] 25 | const KNIGHTVALUE: Value = 781;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BISHOPVALUE` is never used
[INFO] [stdout]   --> src/types.rs:26:7
[INFO] [stdout]    |
[INFO] [stdout] 26 | const BISHOPVALUE: Value = 825;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROOKVALUE` is never used
[INFO] [stdout]   --> src/types.rs:27:7
[INFO] [stdout]    |
[INFO] [stdout] 27 | const ROOKVALUE: Value = 1276;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QUEENVALUE` is never used
[INFO] [stdout]   --> src/types.rs:28:7
[INFO] [stdout]    |
[INFO] [stdout] 28 | const QUEENVALUE: Value = 2538;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WHITE` is never used
[INFO] [stdout]   --> src/types.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub const WHITE: i32 = Color::White as i32;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLACK` is never used
[INFO] [stdout]   --> src/types.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub const BLACK: i32 = Color::Black as i32;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CAPTURES` is never used
[INFO] [stdout]   --> src/types.rs:34:11
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub const CAPTURES: i32 = GenType::Captures as i32;
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QUIETS` is never used
[INFO] [stdout]   --> src/types.rs:35:11
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub const QUIETS: i32 = GenType::Quiets as i32;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QUIET_CHECKS` is never used
[INFO] [stdout]   --> src/types.rs:36:11
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub const QUIET_CHECKS: i32 = GenType::QuietChecks as i32;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EVASIONS` is never used
[INFO] [stdout]   --> src/types.rs:37:11
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub const EVASIONS: i32 = GenType::Evasions as i32;
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NON_EVASIONS` is never used
[INFO] [stdout]   --> src/types.rs:38:11
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub const NON_EVASIONS: i32 = GenType::NonEvasions as i32;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LEGAL` is never used
[INFO] [stdout]   --> src/types.rs:39:11
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub const LEGAL: i32 = GenType::Legal as i32;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NORTH` is never used
[INFO] [stdout]   --> src/types.rs:41:11
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub const NORTH: i32 = Direction::North as i32;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SOUTH` is never used
[INFO] [stdout]   --> src/types.rs:42:11
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub const SOUTH: i32 = Direction::South as i32;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EAST` is never used
[INFO] [stdout]   --> src/types.rs:43:11
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub const EAST: i32 = Direction::East as i32;
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WEST` is never used
[INFO] [stdout]   --> src/types.rs:44:11
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub const WEST: i32 = Direction::West as i32;
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NORTH_EAST` is never used
[INFO] [stdout]   --> src/types.rs:45:11
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub const NORTH_EAST: i32 = Direction::NorthEast as i32;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NORTH_WEST` is never used
[INFO] [stdout]   --> src/types.rs:46:11
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub const NORTH_WEST: i32 = Direction::NorthWest as i32;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SOUTH_EAST` is never used
[INFO] [stdout]   --> src/types.rs:47:11
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub const SOUTH_EAST: i32 = Direction::SouthEast as i32;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SOUTH_WEST` is never used
[INFO] [stdout]   --> src/types.rs:48:11
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub const SOUTH_WEST: i32 = Direction::SouthWest as i32;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bind_color` is never used
[INFO] [stdout]   --> src/types.rs:50:10
[INFO] [stdout]    |
[INFO] [stdout] 50 | const fn bind_color(n: i32) -> Color {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bind_gentype` is never used
[INFO] [stdout]   --> src/types.rs:58:10
[INFO] [stdout]    |
[INFO] [stdout] 58 | const fn bind_gentype(n: i32) -> GenType {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `GenType` is never used
[INFO] [stdout]   --> src/types.rs:72:10
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub enum GenType {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PIECEVALE` is never used
[INFO] [stdout]   --> src/types.rs:81:7
[INFO] [stdout]    |
[INFO] [stdout] 81 | const PIECEVALE: [Value; Piece::PieceNb as usize] = [
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SQNB` is never used
[INFO] [stdout]    --> src/types.rs:103:11
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub const SQNB: usize = Square::SquareNb as usize; //Poissibly move these constants to the types file
[INFO] [stdout]     |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PNB` is never used
[INFO] [stdout]    --> src/types.rs:104:11
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub const PNB: usize = Piece::PieceNb as usize;
[INFO] [stdout]     |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PTNB` is never used
[INFO] [stdout]    --> src/types.rs:105:11
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub const PTNB: usize = PieceType::PieceTypeNb as usize;
[INFO] [stdout]     |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COLORNB` is never used
[INFO] [stdout]    --> src/types.rs:106:11
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub const COLORNB: usize = Color::ColorNb as usize;
[INFO] [stdout]     |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CRNB` is never used
[INFO] [stdout]    --> src/types.rs:107:11
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub const CRNB: usize = CastlingRights::CastlingRightsNb as usize;
[INFO] [stdout]     |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FNB` is never used
[INFO] [stdout]    --> src/types.rs:108:11
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub const FNB: usize = 8;
[INFO] [stdout]     |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RNB` is never used
[INFO] [stdout]    --> src/types.rs:109:11
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub const RNB: usize = 8;
[INFO] [stdout]     |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SQA1` is never used
[INFO] [stdout]    --> src/types.rs:110:11
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub const SQA1: usize = Square::SqA1 as usize;
[INFO] [stdout]     |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SQH8` is never used
[INFO] [stdout]    --> src/types.rs:111:11
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub const SQH8: usize = Square::SqH8 as usize;
[INFO] [stdout]     |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PawnValue` is never used
[INFO] [stdout]    --> src/types.rs:113:11
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub const PawnValue: Value = 208;
[INFO] [stdout]     |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KnightValue` is never used
[INFO] [stdout]    --> src/types.rs:114:11
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub const KnightValue: Value = 781;
[INFO] [stdout]     |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BishopValue` is never used
[INFO] [stdout]    --> src/types.rs:115:11
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub const BishopValue: Value = 825;
[INFO] [stdout]     |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RookValue` is never used
[INFO] [stdout]    --> src/types.rs:116:11
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub const RookValue: Value = 1276;
[INFO] [stdout]     |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QueenValue` is never used
[INFO] [stdout]    --> src/types.rs:117:11
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub const QueenValue: Value = 2538;
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PIECEVALUE` is never used
[INFO] [stdout]    --> src/types.rs:119:11
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub const PIECEVALUE: [Value; PNB] = [
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Bound` is never used
[INFO] [stdout]    --> src/types.rs:148:10
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub enum Bound {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Piece` is never used
[INFO] [stdout]    --> src/types.rs:157:10
[INFO] [stdout]     |
[INFO] [stdout] 157 | pub enum Piece {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `type_of`, `color`, and `new_from_n` are never used
[INFO] [stdout]    --> src/types.rs:176:18
[INFO] [stdout]     |
[INFO] [stdout] 175 | impl Piece {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] 176 |     pub const fn type_of(&self) -> PieceType {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     pub const fn color(&self) -> Color {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     pub const fn new_from_n(i: usize) -> Self {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PieceType` is never used
[INFO] [stdout]    --> src/types.rs:580:10
[INFO] [stdout]     |
[INFO] [stdout] 580 | pub enum PieceType {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MoveType` is never used
[INFO] [stdout]    --> src/types.rs:594:10
[INFO] [stdout]     |
[INFO] [stdout] 594 | pub enum MoveType {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mate_in` is never used
[INFO] [stdout]    --> src/types.rs:758:14
[INFO] [stdout]     |
[INFO] [stdout] 758 | pub const fn mate_in(ply: i32) -> Value {
[INFO] [stdout]     |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mated_in` is never used
[INFO] [stdout]    --> src/types.rs:761:14
[INFO] [stdout]     |
[INFO] [stdout] 761 | pub const fn mated_in(ply: i32) -> Value {
[INFO] [stdout]     |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_square` is never used
[INFO] [stdout]    --> src/types.rs:765:14
[INFO] [stdout]     |
[INFO] [stdout] 765 | pub const fn make_square(f: usize, r: usize) -> Square {
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_piece` is never used
[INFO] [stdout]    --> src/types.rs:774:14
[INFO] [stdout]     |
[INFO] [stdout] 774 | pub const fn make_piece(c: Color, pt: PieceType) -> Piece {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_white_piece` is never used
[INFO] [stdout]    --> src/types.rs:782:14
[INFO] [stdout]     |
[INFO] [stdout] 782 | pub const fn make_white_piece(pt: PieceType) -> Piece {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_black_piece` is never used
[INFO] [stdout]    --> src/types.rs:794:14
[INFO] [stdout]     |
[INFO] [stdout] 794 | pub const fn make_black_piece(pt: PieceType) -> Piece {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_valid_move_type` is never used
[INFO] [stdout]    --> src/types.rs:806:14
[INFO] [stdout]     |
[INFO] [stdout] 806 | pub const fn is_valid_move_type(data: u16) -> bool {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pawn_push` is never used
[INFO] [stdout]    --> src/types.rs:820:14
[INFO] [stdout]     |
[INFO] [stdout] 820 | pub const fn pawn_push(color: Color) -> Direction {
[INFO] [stdout]     |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_key` is never used
[INFO] [stdout]    --> src/types.rs:828:14
[INFO] [stdout]     |
[INFO] [stdout] 828 | pub const fn make_key(seed: u64) -> Key {
[INFO] [stdout]     |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `relative_rank_of_square` is never used
[INFO] [stdout]    --> src/types.rs:841:14
[INFO] [stdout]     |
[INFO] [stdout] 841 | pub const fn relative_rank_of_square(c: Color, s: Square) -> Rank {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Move` is never constructed
[INFO] [stdout]    --> src/types.rs:853:12
[INFO] [stdout]     |
[INFO] [stdout] 853 | pub struct Move {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/types.rs:858:18
[INFO] [stdout]     |
[INFO] [stdout] 857 | impl Move {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] 858 |     pub const fn new(data: u16) -> Self {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 862 |     pub const fn new_from_to_sq(from: Square, to: Square) -> Self {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 866 |     pub const fn from_to(&self) -> u16 {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 870 |     pub fn set_from_move(&mut self, m: Move) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 874 |     pub const fn from_sq(&self) -> Square {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 883 |     pub const fn to_sq(&self) -> Square {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 892 |     pub const fn type_of(&self) -> MoveType {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 902 |     pub fn set_move_to_variant(&mut self, movetype: MoveType) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 913 |     pub const fn promotion_type(&self) -> PieceType {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 924 |     pub fn set_promotion_type(&mut self, pt: PieceType) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 935 |     pub const fn raw(&self) -> u16 {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 939 |     pub const fn is_nonzero(&self) -> bool {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 943 |     pub const fn null() -> Self {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 947 |     pub const fn none() -> Self {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 951 |     pub const fn is_ok(&self) -> bool {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 955 |     pub fn make(move_type: MoveType, from: Square, to: Square, pt: PieceType) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `pieces` should have an upper case name
[INFO] [stdout]   --> src/board/position.rs:53:7
[INFO] [stdout]    |
[INFO] [stdout] 53 | const pieces: [Piece; 12] = [
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 53 - const pieces: [Piece; 12] = [
[INFO] [stdout] 53 + const PIECES: [Piece; 12] = [
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `H1` should have a snake case name
[INFO] [stdout]   --> src/board/position.rs:69:4
[INFO] [stdout]    |
[INFO] [stdout] 69 | fn H1(h: Key) -> i32 {
[INFO] [stdout]    |    ^^ help: convert the identifier to snake case: `h1`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `H2` should have a snake case name
[INFO] [stdout]   --> src/board/position.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn H2(h: Key) -> i32 {
[INFO] [stdout]    |    ^^ help: convert the identifier to snake case: `h2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: const parameter `Enemy` should have an upper case name
[INFO] [stdout]   --> src/board/movegen.rs:63:58
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub fn make_promotions<const T: i32, const D: i32, const Enemy: bool>(
[INFO] [stdout]    |                                                          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 63 - pub fn make_promotions<const T: i32, const D: i32, const Enemy: bool>(
[INFO] [stdout] 63 + pub fn make_promotions<const T: i32, const D: i32, const ENEMY: bool>(
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `TRank7BB` should have a snake case name
[INFO] [stdout]   --> src/board/movegen.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |     let TRank7BB = if us == Color::White {
[INFO] [stdout]    |         ^^^^^^^^ help: convert the identifier to snake case: `trank7_bb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `TRank3BB` should have a snake case name
[INFO] [stdout]   --> src/board/movegen.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |     let TRank3BB = if us == Color::White {
[INFO] [stdout]    |         ^^^^^^^^ help: convert the identifier to snake case: `trank3_bb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PawnValue` should have an upper case name
[INFO] [stdout]    --> src/types.rs:113:11
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub const PawnValue: Value = 208;
[INFO] [stdout]     |           ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 113 - pub const PawnValue: Value = 208;
[INFO] [stdout] 113 + pub const PAWN_VALUE: Value = 208;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KnightValue` should have an upper case name
[INFO] [stdout]    --> src/types.rs:114:11
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub const KnightValue: Value = 781;
[INFO] [stdout]     |           ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 114 - pub const KnightValue: Value = 781;
[INFO] [stdout] 114 + pub const KNIGHT_VALUE: Value = 781;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BishopValue` should have an upper case name
[INFO] [stdout]    --> src/types.rs:115:11
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub const BishopValue: Value = 825;
[INFO] [stdout]     |           ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 115 - pub const BishopValue: Value = 825;
[INFO] [stdout] 115 + pub const BISHOP_VALUE: Value = 825;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RookValue` should have an upper case name
[INFO] [stdout]    --> src/types.rs:116:11
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub const RookValue: Value = 1276;
[INFO] [stdout]     |           ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 116 - pub const RookValue: Value = 1276;
[INFO] [stdout] 116 + pub const ROOK_VALUE: Value = 1276;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QueenValue` should have an upper case name
[INFO] [stdout]    --> src/types.rs:117:11
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub const QueenValue: Value = 2538;
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 117 - pub const QueenValue: Value = 2538;
[INFO] [stdout] 117 + pub const QUEEN_VALUE: Value = 2538;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `size` is never read
[INFO] [stdout]    --> src/board/bitboard.rs:320:27
[INFO] [stdout]     |
[INFO] [stdout] 320 |     let mut size: usize = 0;
[INFO] [stdout]     |                           ^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `kto` is never read
[INFO] [stdout]    --> src/board/position.rs:202:9
[INFO] [stdout]     |
[INFO] [stdout] 202 |         kto = kto.relative_square(c);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ksq`
[INFO] [stdout]    --> src/board/position.rs:298:17
[INFO] [stdout]     |
[INFO] [stdout] 298 |             let ksq: Square = self.square(us, PieceType::King);
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_ksq`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `occupied`
[INFO] [stdout]    --> src/board/position.rs:300:17
[INFO] [stdout]     |
[INFO] [stdout] 300 |             let occupied: Bitboard = (all_pieces!(self) ^ from ^ capsq) | to;
[INFO] [stdout]     |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_occupied`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state_stack`
[INFO] [stdout]    --> src/board/position.rs:344:37
[INFO] [stdout]     |
[INFO] [stdout] 344 |     fn pseudo_legal(&self, m: Move, state_stack: &StateStack) -> bool {
[INFO] [stdout]     |                                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_state_stack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]    --> src/board/position.rs:740:26
[INFO] [stdout]     |
[INFO] [stdout] 740 |     pub fn square(&self, c: Color, pt: PieceType) -> Square {
[INFO] [stdout]     |                          ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `psq`
[INFO] [stdout]    --> src/board/position.rs:870:21
[INFO] [stdout]     |
[INFO] [stdout] 870 |         if let Some(psq) = zobrist::PSQ.get() {
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_psq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `psq`
[INFO] [stdout]    --> src/board/position.rs:875:21
[INFO] [stdout]     |
[INFO] [stdout] 875 |         if let Some(psq) = zobrist::ENPASSANT.get() {
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_psq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `psq`
[INFO] [stdout]    --> src/board/position.rs:880:21
[INFO] [stdout]     |
[INFO] [stdout] 880 |         if let Some(psq) = zobrist::CASTLING.get() {
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_psq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `psq`
[INFO] [stdout]    --> src/board/position.rs:885:21
[INFO] [stdout]     |
[INFO] [stdout] 885 |         if let Some(psq) = zobrist::SIDE.get() {
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_psq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `psq`
[INFO] [stdout]    --> src/board/position.rs:890:21
[INFO] [stdout]     |
[INFO] [stdout] 890 |         if let Some(psq) = zobrist::NOPAWNS.get() {
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_psq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `st`
[INFO] [stdout]     --> src/board/position.rs:1026:79
[INFO] [stdout]      |
[INFO] [stdout] 1026 |     fn test_enpassant_do_undo(position: &mut Position, newst: &mut StateInfo, st: &mut StateStack) {
[INFO] [stdout]      |                                                                               ^^ help: if this is intentional, prefix it with an underscore: `_st`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `st`
[INFO] [stdout]     --> src/board/position.rs:1055:9
[INFO] [stdout]      |
[INFO] [stdout] 1055 |         st: &mut StateStack,
[INFO] [stdout]      |         ^^ help: if this is intentional, prefix it with an underscore: `_st`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `st`
[INFO] [stdout]     --> src/board/position.rs:1084:77
[INFO] [stdout]      |
[INFO] [stdout] 1084 |     fn test_promotion_moves(position: &mut Position, newst: &mut StateInfo, st: &mut StateStack) {
[INFO] [stdout]      |                                                                             ^^ help: if this is intentional, prefix it with an underscore: `_st`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `move_list`
[INFO] [stdout]   --> src/board/movegen.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     move_list: &mut MoveList,
[INFO] [stdout]    |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_move_list`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `to`
[INFO] [stdout]   --> src/board/movegen.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     to: Square,
[INFO] [stdout]    |     ^^ help: if this is intentional, prefix it with an underscore: `_to`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d`
[INFO] [stdout]   --> src/board/movegen.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |     let d = D;
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `cur` is never read
[INFO] [stdout]   --> src/board/movegen.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |         cur += 1;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `b1` is never read
[INFO] [stdout]    --> src/board/movegen.rs:221:17
[INFO] [stdout]     |
[INFO] [stdout] 221 |                 b1 = pawns_not_on_7th & bb::get_pawn_attacks_bb(us, pos.ep_square());
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gen_type`
[INFO] [stdout]    --> src/board/movegen.rs:230:9
[INFO] [stdout]     |
[INFO] [stdout] 230 |     let gen_type: i32 = T;
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gen_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `us`
[INFO] [stdout]    --> src/board/movegen.rs:231:9
[INFO] [stdout]     |
[INFO] [stdout] 231 |     let us = bind_color(C);
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_us`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gen_type`
[INFO] [stdout]    --> src/board/movegen.rs:235:9
[INFO] [stdout]     |
[INFO] [stdout] 235 |     let gen_type: i32 = T;
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gen_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `us`
[INFO] [stdout]    --> src/board/movegen.rs:236:9
[INFO] [stdout]     |
[INFO] [stdout] 236 |     let us = bind_color(C);
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_us`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `move_type`
[INFO] [stdout]    --> src/types.rs:955:17
[INFO] [stdout]     |
[INFO] [stdout] 955 |     pub fn make(move_type: MoveType, from: Square, to: Square, pt: PieceType) {
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_move_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `from`
[INFO] [stdout]    --> src/types.rs:955:38
[INFO] [stdout]     |
[INFO] [stdout] 955 |     pub fn make(move_type: MoveType, from: Square, to: Square, pt: PieceType) {
[INFO] [stdout]     |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_from`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `to`
[INFO] [stdout]    --> src/types.rs:955:52
[INFO] [stdout]     |
[INFO] [stdout] 955 |     pub fn make(move_type: MoveType, from: Square, to: Square, pt: PieceType) {
[INFO] [stdout]     |                                                    ^^ help: if this is intentional, prefix it with an underscore: `_to`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pt`
[INFO] [stdout]    --> src/types.rs:955:64
[INFO] [stdout]     |
[INFO] [stdout] 955 |     pub fn make(move_type: MoveType, from: Square, to: Square, pt: PieceType) {
[INFO] [stdout]     |                                                                ^^ help: if this is intentional, prefix it with an underscore: `_pt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Magic` is more private than the item `ROOK_MAGICS`
[INFO] [stdout]    --> src/board/bitboard.rs:43:1
[INFO] [stdout]     |
[INFO] [stdout]  43 | pub static ROOK_MAGICS: OnceLock<[Magic; SQNB]> = OnceLock::new();
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ static `ROOK_MAGICS` is reachable at visibility `pub(in crate::board)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `Magic` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/board/bitboard.rs:241:1
[INFO] [stdout]     |
[INFO] [stdout] 241 | struct Magic {
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Magic` is more private than the item `BISHOP_MAGICS`
[INFO] [stdout]    --> src/board/bitboard.rs:44:1
[INFO] [stdout]     |
[INFO] [stdout]  44 | pub static BISHOP_MAGICS: OnceLock<[Magic; SQNB]> = OnceLock::new();
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ static `BISHOP_MAGICS` is reachable at visibility `pub(in crate::board)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `Magic` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/board/bitboard.rs:241:1
[INFO] [stdout]     |
[INFO] [stdout] 241 | struct Magic {
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `position::StateInfo` is more private than the item `position::Position::do_move`
[INFO] [stdout]    --> src/board/position.rs:464:5
[INFO] [stdout]     |
[INFO] [stdout] 464 |     pub fn do_move(&mut self, m: Move, new_state: &mut StateInfo, gives_check: bool) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `position::Position::do_move` is reachable at visibility `pub(in crate::board)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `position::StateInfo` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/board/position.rs:79:1
[INFO] [stdout]     |
[INFO] [stdout]  79 | struct StateInfo {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `MoveList` is more private than the item `make_promotions`
[INFO] [stdout]   --> src/board/movegen.rs:63:1
[INFO] [stdout]    |
[INFO] [stdout] 63 | / pub fn make_promotions<const T: i32, const D: i32, const Enemy: bool>(
[INFO] [stdout] 64 | |     move_list: &mut MoveList,
[INFO] [stdout] 65 | |     to: Square,
[INFO] [stdout] 66 | | ) -> usize {
[INFO] [stdout]    | |__________^ function `make_promotions` is reachable at visibility `pub(in crate::board)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `MoveList` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/board/movegen.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | struct MoveList {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `MoveList` is more private than the item `generate_pawn_moves`
[INFO] [stdout]   --> src/board/movegen.rs:81:1
[INFO] [stdout]    |
[INFO] [stdout] 81 | / pub fn generate_pawn_moves<const T: i32, const C: i32>(
[INFO] [stdout] 82 | |     pos: &pos::Position,
[INFO] [stdout] 83 | |     move_list: &mut MoveList,
[INFO] [stdout] 84 | |     target: Bitboard,
[INFO] [stdout] 85 | | ) {
[INFO] [stdout]    | |_^ function `generate_pawn_moves` is reachable at visibility `pub(in crate::board)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `MoveList` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/board/movegen.rs:17:1
[INFO] [stdout]    |
[INFO] [stdout] 17 | struct MoveList {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILEBBB` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const FILEBBB: Bitboard = FILEABB << 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 `FILECBB` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const FILECBB: Bitboard = FILEABB << 2;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILEDBB` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const FILEDBB: Bitboard = FILEABB << 3;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILEEBB` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const FILEEBB: Bitboard = FILEABB << 4;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILEFBB` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:16:11
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub const FILEFBB: Bitboard = FILEABB << 5;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILEGBB` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const FILEGBB: Bitboard = FILEABB << 6;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK2BB` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const RANK2BB: Bitboard = RANK1BB << (8 * 1);
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK3BB` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const RANK3BB: Bitboard = RANK1BB << (8 * 2);
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK4BB` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const RANK4BB: Bitboard = RANK1BB << (8 * 2);
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK5BB` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const RANK5BB: Bitboard = RANK1BB << (8 * 4);
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK6BB` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub const RANK6BB: Bitboard = RANK1BB << (8 * 5);
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK7BB` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const RANK7BB: Bitboard = RANK1BB << (8 * 6);
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_twice` is never used
[INFO] [stdout]   --> src/board/bitboard.rs:72:10
[INFO] [stdout]    |
[INFO] [stdout] 72 | const fn shift_twice(b: Bitboard, d: Direction) -> Bitboard {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `alligned` is never used
[INFO] [stdout]    --> src/board/bitboard.rs:104:8
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub fn alligned(s1: Square, s2: Square, s3: Square) -> bool {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rank_bb` is never used
[INFO] [stdout]    --> src/board/bitboard.rs:162:10
[INFO] [stdout]     |
[INFO] [stdout] 162 | const fn rank_bb(r: Rank) -> Bitboard {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `file_bb` is never used
[INFO] [stdout]    --> src/board/bitboard.rs:174:10
[INFO] [stdout]     |
[INFO] [stdout] 174 | const fn file_bb(f: File) -> Bitboard {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `least_significant_square_bb` is never used
[INFO] [stdout]    --> src/board/bitboard.rs:187:4
[INFO] [stdout]     |
[INFO] [stdout] 187 | fn least_significant_square_bb(bb: Bitboard) -> Bitboard {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_PLY` is never used
[INFO] [stdout]   --> src/board/position.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | const MAX_PLY: usize = 246; // Maximum search depth
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `CUCKOO` is never used
[INFO] [stdout]   --> src/board/position.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub static CUCKOO: OnceLock<[Key; 8192]> = OnceLock::new();
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `CUCKOO_MOVE` is never used
[INFO] [stdout]   --> src/board/position.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub static CUCKOO_MOVE: OnceLock<[Key; 8192]> = OnceLock::new();
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `pop` are never used
[INFO] [stdout]    --> src/board/position.rs:119:8
[INFO] [stdout]     |
[INFO] [stdout] 118 | impl StateStack {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 119 |     fn new() -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     fn pop(&mut self) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `castling_rook_square` and `castling_path` are never read
[INFO] [stdout]    --> src/board/position.rs:140:5
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub struct Position {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 140 |     castling_rook_square: [Square; CRNB],
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 141 |     castling_path: [Bitboard; CRNB],
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/board/position.rs:174:8
[INFO] [stdout]     |
[INFO] [stdout] 148 | impl Position {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 174 |     fn set_castling_right(&mut self, c: Color, rfrom: Square) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 261 |     fn set_state(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 289 |     fn legal(self, m: Move) -> bool {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 340 |     pub fn all_pieces(&self) -> Bitboard {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 344 |     fn pseudo_legal(&self, m: Move, state_stack: &StateStack) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 405 |     fn gives_check(&self, m: Move) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 749 |     pub fn side_to_move(&self) -> Color {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 764 |     fn moved_piece(&self, m: Move) -> Piece {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 779 |     pub fn ep_square(&self) -> Square {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 784 |     fn can_castle(&self, cr: CastlingRights) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 789 |     pub fn checkers(&self) -> Bitboard {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 794 |     pub fn blockers_for_king(&self, c: Color) -> Bitboard {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 799 |     fn pinners(&self, c: Color) -> Bitboard {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 804 |     fn check_squares(&self, pt: PieceType) -> Bitboard {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 809 |     fn pawn_key(&self) -> Key {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 814 |     fn material_key(&self) -> Key {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 819 |     fn non_pawn_material(&self, c: Color) -> Value {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 824 |     fn game_ply(&self) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 829 |     fn rule50_count(&self) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 834 |     fn captured_piece(&self) -> Piece {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 929 |     fn pieces_by_type(&self, pt: PieceType) -> Bitboard {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_update_sliders_blockers` is never used
[INFO] [stdout]     --> src/board/position.rs:1153:8
[INFO] [stdout]      |
[INFO] [stdout] 1153 |     fn test_update_sliders_blockers() {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_zorist_nopawns` is never used
[INFO] [stdout]   --> src/board/zobrist.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub fn get_zorist_nopawns() -> Key {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_MOVES` is never used
[INFO] [stdout]   --> src/board/movegen.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const MAX_MOVES: usize = 256;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExtMove` is never constructed
[INFO] [stdout]   --> src/board/movegen.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct ExtMove {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MoveList` is never constructed
[INFO] [stdout]   --> src/board/movegen.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | struct MoveList {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_from_move` is never used
[INFO] [stdout]   --> src/board/movegen.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl ExtMove {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 22 |     pub fn new_from_move(m: Move) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `push_move`, and `push_move_ext_move` are never used
[INFO] [stdout]   --> src/board/movegen.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl MoveList {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 28 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn push_move(&mut self, mv: Move) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn push_move_ext_move(&mut self, mv: ExtMove) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bind_color` is never used
[INFO] [stdout]   --> src/board/movegen.rs:43:10
[INFO] [stdout]    |
[INFO] [stdout] 43 | const fn bind_color(n: i32) -> Color {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bind_gentype` is never used
[INFO] [stdout]   --> src/board/movegen.rs:51:10
[INFO] [stdout]    |
[INFO] [stdout] 51 | const fn bind_gentype(n: i32) -> GenType {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_promotions` is never used
[INFO] [stdout]   --> src/board/movegen.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub fn make_promotions<const T: i32, const D: i32, const Enemy: bool>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_pawn_moves` is never used
[INFO] [stdout]   --> src/board/movegen.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub fn generate_pawn_moves<const T: i32, const C: i32>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_moves` is never used
[INFO] [stdout]    --> src/board/movegen.rs:229:8
[INFO] [stdout]     |
[INFO] [stdout] 229 | pub fn generate_moves<const C: i32, const T: i32>() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_all` is never used
[INFO] [stdout]    --> src/board/movegen.rs:234:8
[INFO] [stdout]     |
[INFO] [stdout] 234 | pub fn generate_all<const C: i32, const T: i32>() {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Depth` is never used
[INFO] [stdout]  --> src/types.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub type Depth = i32;
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_MOVES` is never used
[INFO] [stdout]   --> src/types.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const MAX_MOVES: i32 = 256;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VALUE_DRAW` is never used
[INFO] [stdout]   --> src/types.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const VALUE_DRAW: Value = 0;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VALUE_NONE` is never used
[INFO] [stdout]   --> src/types.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const VALUE_NONE: Value = 32002;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VALUE_INFINITE` is never used
[INFO] [stdout]   --> src/types.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const VALUE_INFINITE: Value = 32001;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VALUE_MATE_IN_MAX_PLY` is never used
[INFO] [stdout]   --> src/types.rs:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | const VALUE_MATE_IN_MAX_PLY: Value = VALUE_MATE - MAX_PLY;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VALUE_MATED_IN_MAX_PLY` is never used
[INFO] [stdout]   --> src/types.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | const VALUE_MATED_IN_MAX_PLY: Value = -VALUE_MATE_IN_MAX_PLY;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VALUE_TB` is never used
[INFO] [stdout]   --> src/types.rs:20:7
[INFO] [stdout]    |
[INFO] [stdout] 20 | const VALUE_TB: Value = VALUE_MATE_IN_MAX_PLY - 1;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VALUE_TB_WIN_IN_MAX_PLY` is never used
[INFO] [stdout]   --> src/types.rs:21:7
[INFO] [stdout]    |
[INFO] [stdout] 21 | const VALUE_TB_WIN_IN_MAX_PLY: Value = VALUE_TB - MAX_PLY;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VALUE_TB_LOSS_IN_MAX_PLY` is never used
[INFO] [stdout]   --> src/types.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const VALUE_TB_LOSS_IN_MAX_PLY: Value = -VALUE_TB_WIN_IN_MAX_PLY;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PAWNVALUE` is never used
[INFO] [stdout]   --> src/types.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 | const PAWNVALUE: Value = 208;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KNIGHTVALUE` is never used
[INFO] [stdout]   --> src/types.rs:25:7
[INFO] [stdout]    |
[INFO] [stdout] 25 | const KNIGHTVALUE: Value = 781;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BISHOPVALUE` is never used
[INFO] [stdout]   --> src/types.rs:26:7
[INFO] [stdout]    |
[INFO] [stdout] 26 | const BISHOPVALUE: Value = 825;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROOKVALUE` is never used
[INFO] [stdout]   --> src/types.rs:27:7
[INFO] [stdout]    |
[INFO] [stdout] 27 | const ROOKVALUE: Value = 1276;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QUEENVALUE` is never used
[INFO] [stdout]   --> src/types.rs:28:7
[INFO] [stdout]    |
[INFO] [stdout] 28 | const QUEENVALUE: Value = 2538;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WHITE` is never used
[INFO] [stdout]   --> src/types.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub const WHITE: i32 = Color::White as i32;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLACK` is never used
[INFO] [stdout]   --> src/types.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub const BLACK: i32 = Color::Black as i32;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CAPTURES` is never used
[INFO] [stdout]   --> src/types.rs:34:11
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub const CAPTURES: i32 = GenType::Captures as i32;
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QUIETS` is never used
[INFO] [stdout]   --> src/types.rs:35:11
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub const QUIETS: i32 = GenType::Quiets as i32;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QUIET_CHECKS` is never used
[INFO] [stdout]   --> src/types.rs:36:11
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub const QUIET_CHECKS: i32 = GenType::QuietChecks as i32;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EVASIONS` is never used
[INFO] [stdout]   --> src/types.rs:37:11
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub const EVASIONS: i32 = GenType::Evasions as i32;
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NON_EVASIONS` is never used
[INFO] [stdout]   --> src/types.rs:38:11
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub const NON_EVASIONS: i32 = GenType::NonEvasions as i32;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LEGAL` is never used
[INFO] [stdout]   --> src/types.rs:39:11
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub const LEGAL: i32 = GenType::Legal as i32;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NORTH` is never used
[INFO] [stdout]   --> src/types.rs:41:11
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub const NORTH: i32 = Direction::North as i32;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SOUTH` is never used
[INFO] [stdout]   --> src/types.rs:42:11
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub const SOUTH: i32 = Direction::South as i32;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EAST` is never used
[INFO] [stdout]   --> src/types.rs:43:11
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub const EAST: i32 = Direction::East as i32;
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WEST` is never used
[INFO] [stdout]   --> src/types.rs:44:11
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub const WEST: i32 = Direction::West as i32;
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NORTH_EAST` is never used
[INFO] [stdout]   --> src/types.rs:45:11
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub const NORTH_EAST: i32 = Direction::NorthEast as i32;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NORTH_WEST` is never used
[INFO] [stdout]   --> src/types.rs:46:11
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub const NORTH_WEST: i32 = Direction::NorthWest as i32;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SOUTH_EAST` is never used
[INFO] [stdout]   --> src/types.rs:47:11
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub const SOUTH_EAST: i32 = Direction::SouthEast as i32;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SOUTH_WEST` is never used
[INFO] [stdout]   --> src/types.rs:48:11
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub const SOUTH_WEST: i32 = Direction::SouthWest as i32;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bind_color` is never used
[INFO] [stdout]   --> src/types.rs:50:10
[INFO] [stdout]    |
[INFO] [stdout] 50 | const fn bind_color(n: i32) -> Color {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bind_gentype` is never used
[INFO] [stdout]   --> src/types.rs:58:10
[INFO] [stdout]    |
[INFO] [stdout] 58 | const fn bind_gentype(n: i32) -> GenType {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `GenType` is never used
[INFO] [stdout]   --> src/types.rs:72:10
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub enum GenType {
[INFO] [stdout]    |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PIECEVALE` is never used
[INFO] [stdout]   --> src/types.rs:81:7
[INFO] [stdout]    |
[INFO] [stdout] 81 | const PIECEVALE: [Value; Piece::PieceNb as usize] = [
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RNB` is never used
[INFO] [stdout]    --> src/types.rs:109:11
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub const RNB: usize = 8;
[INFO] [stdout]     |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_from_n` is never used
[INFO] [stdout]    --> src/types.rs:214:18
[INFO] [stdout]     |
[INFO] [stdout] 175 | impl Piece {
[INFO] [stdout]     | ---------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 214 |     pub const fn new_from_n(i: usize) -> Self {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `relative_rank_of_square` is never used
[INFO] [stdout]    --> src/types.rs:841:14
[INFO] [stdout]     |
[INFO] [stdout] 841 | pub const fn relative_rank_of_square(c: Color, s: Square) -> Rank {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_to`, `set_from_move`, `is_nonzero`, and `make` are never used
[INFO] [stdout]    --> src/types.rs:866:18
[INFO] [stdout]     |
[INFO] [stdout] 857 | impl Move {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 866 |     pub const fn from_to(&self) -> u16 {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 870 |     pub fn set_from_move(&mut self, m: Move) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 939 |     pub const fn is_nonzero(&self) -> bool {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 955 |     pub fn make(move_type: MoveType, from: Square, to: Square, pt: PieceType) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `pieces` should have an upper case name
[INFO] [stdout]   --> src/board/position.rs:53:7
[INFO] [stdout]    |
[INFO] [stdout] 53 | const pieces: [Piece; 12] = [
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 53 - const pieces: [Piece; 12] = [
[INFO] [stdout] 53 + const PIECES: [Piece; 12] = [
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `H1` should have a snake case name
[INFO] [stdout]   --> src/board/position.rs:69:4
[INFO] [stdout]    |
[INFO] [stdout] 69 | fn H1(h: Key) -> i32 {
[INFO] [stdout]    |    ^^ help: convert the identifier to snake case: `h1`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `H2` should have a snake case name
[INFO] [stdout]   --> src/board/position.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn H2(h: Key) -> i32 {
[INFO] [stdout]    |    ^^ help: convert the identifier to snake case: `h2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: const parameter `Enemy` should have an upper case name
[INFO] [stdout]   --> src/board/movegen.rs:63:58
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub fn make_promotions<const T: i32, const D: i32, const Enemy: bool>(
[INFO] [stdout]    |                                                          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 63 - pub fn make_promotions<const T: i32, const D: i32, const Enemy: bool>(
[INFO] [stdout] 63 + pub fn make_promotions<const T: i32, const D: i32, const ENEMY: bool>(
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `TRank7BB` should have a snake case name
[INFO] [stdout]   --> src/board/movegen.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |     let TRank7BB = if us == Color::White {
[INFO] [stdout]    |         ^^^^^^^^ help: convert the identifier to snake case: `trank7_bb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `TRank3BB` should have a snake case name
[INFO] [stdout]   --> src/board/movegen.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |     let TRank3BB = if us == Color::White {
[INFO] [stdout]    |         ^^^^^^^^ help: convert the identifier to snake case: `trank3_bb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PawnValue` should have an upper case name
[INFO] [stdout]    --> src/types.rs:113:11
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub const PawnValue: Value = 208;
[INFO] [stdout]     |           ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 113 - pub const PawnValue: Value = 208;
[INFO] [stdout] 113 + pub const PAWN_VALUE: Value = 208;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KnightValue` should have an upper case name
[INFO] [stdout]    --> src/types.rs:114:11
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub const KnightValue: Value = 781;
[INFO] [stdout]     |           ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 114 - pub const KnightValue: Value = 781;
[INFO] [stdout] 114 + pub const KNIGHT_VALUE: Value = 781;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BishopValue` should have an upper case name
[INFO] [stdout]    --> src/types.rs:115:11
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub const BishopValue: Value = 825;
[INFO] [stdout]     |           ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 115 - pub const BishopValue: Value = 825;
[INFO] [stdout] 115 + pub const BISHOP_VALUE: Value = 825;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RookValue` should have an upper case name
[INFO] [stdout]    --> src/types.rs:116:11
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub const RookValue: Value = 1276;
[INFO] [stdout]     |           ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 116 - pub const RookValue: Value = 1276;
[INFO] [stdout] 116 + pub const ROOK_VALUE: Value = 1276;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QueenValue` should have an upper case name
[INFO] [stdout]    --> src/types.rs:117:11
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub const QueenValue: Value = 2538;
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 117 - pub const QueenValue: Value = 2538;
[INFO] [stdout] 117 + pub const QUEEN_VALUE: Value = 2538;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.15s
[INFO] running `Command { std: "docker" "inspect" "ee7679392975f6e253881b7f83d843286d99e4e56199ac7067bde4198458a7bc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ee7679392975f6e253881b7f83d843286d99e4e56199ac7067bde4198458a7bc", kill_on_drop: false }`
[INFO] [stdout] ee7679392975f6e253881b7f83d843286d99e4e56199ac7067bde4198458a7bc
