[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] 7faef58efb33f12f9abea6e5c1b6ac4bd655c19b
[INFO] testing AbdelrahmanAbdelhalim/RustyRaven against master#733b47ea4b1b86216f14ef56e49440c33933f230+rustflags=-Copt-level=3 for pr-138759
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAbdelrahmanAbdelhalim%2FRustyRaven" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/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-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/AbdelrahmanAbdelhalim/RustyRaven on toolchain 733b47ea4b1b86216f14ef56e49440c33933f230
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "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" "+733b47ea4b1b86216f14ef56e49440c33933f230" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 46765ab1876c34330115b638383fa0ecd81a9aaec3ed3cfc5d86cb2c2bc0794f
[INFO] running `Command { std: "docker" "start" "-a" "46765ab1876c34330115b638383fa0ecd81a9aaec3ed3cfc5d86cb2c2bc0794f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "46765ab1876c34330115b638383fa0ecd81a9aaec3ed3cfc5d86cb2c2bc0794f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "46765ab1876c34330115b638383fa0ecd81a9aaec3ed3cfc5d86cb2c2bc0794f", kill_on_drop: false }`
[INFO] [stdout] 46765ab1876c34330115b638383fa0ecd81a9aaec3ed3cfc5d86cb2c2bc0794f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4f885855a781a4d38b7f426491ba578250e4cc3551da335f75096da58c8f52e7
[INFO] running `Command { std: "docker" "start" "-a" "4f885855a781a4d38b7f426491ba578250e4cc3551da335f75096da58c8f52e7", 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]    Compiling autocfg v1.4.0
[INFO] [stderr]    Compiling serde_json v1.0.137
[INFO] [stderr]    Compiling either v1.13.0
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling libc v0.2.169
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]    Compiling itoa v1.0.14
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling ryu v1.0.18
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling half v2.4.1
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling anstyle v1.0.10
[INFO] [stderr]    Compiling clap_lex v0.7.4
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling clap_builder v4.5.27
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling once_cell v1.20.2
[INFO] [stderr]    Compiling oorandom v11.1.4
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling rayon v1.10.0
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]    Compiling syn v2.0.96
[INFO] [stderr]    Compiling is-terminal v0.4.15
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling clap v4.5.27
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling serde_derive v1.0.217
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling 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)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::all_pieces`
[INFO] [stdout]  --> src/board/movegen.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | 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:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::board::bitboard::get_pawn_attacks_bb;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::bitboard::pop_lsb`
[INFO] [stdout]  --> src/board/movegen.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use super::bitboard::pop_lsb;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `North_East` should have an upper camel case name
[INFO] [stdout]   --> src/board/movegen.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub struct North_East;
[INFO] [stdout]    |            ^^^^^^^^^^ help: convert the identifier to upper camel case: `NorthEast`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `South_East` should have an upper camel case name
[INFO] [stdout]   --> src/board/movegen.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct South_East;
[INFO] [stdout]    |            ^^^^^^^^^^ help: convert the identifier to upper camel case: `SouthEast`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `South_West` should have an upper camel case name
[INFO] [stdout]   --> src/board/movegen.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub struct South_West;
[INFO] [stdout]    |            ^^^^^^^^^^ help: convert the identifier to upper camel case: `SouthWest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `North_West` should have an upper camel case name
[INFO] [stdout]   --> src/board/movegen.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub struct North_West;
[INFO] [stdout]    |            ^^^^^^^^^^ help: convert the identifier to upper camel case: `NorthWest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused attribute
[INFO] [stdout]    --> src/board/position.rs:746:5
[INFO] [stdout]     |
[INFO] [stdout] 746 |     #[inline]
[INFO] [stdout]     |     ^^^^^^^^^ help: remove this attribute
[INFO] [stdout]     |
[INFO] [stdout] note: attribute also specified here
[INFO] [stdout]    --> src/board/position.rs:742:5
[INFO] [stdout]     |
[INFO] [stdout] 742 |     #[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)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `move_type`
[INFO] [stdout]    --> src/types.rs:903:17
[INFO] [stdout]     |
[INFO] [stdout] 903 |     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]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `from`
[INFO] [stdout]    --> src/types.rs:903:38
[INFO] [stdout]     |
[INFO] [stdout] 903 |     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:903:52
[INFO] [stdout]     |
[INFO] [stdout] 903 |     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:903:64
[INFO] [stdout]     |
[INFO] [stdout] 903 |     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: value assigned to `size` is never read
[INFO] [stdout]    --> src/board/bitboard.rs:320:13
[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)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `kto` is never read
[INFO] [stdout]    --> src/board/position.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 201 |         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:297:17
[INFO] [stdout]     |
[INFO] [stdout] 297 |             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] 
[INFO] [stdout] warning: unused variable: `occupied`
[INFO] [stdout]    --> src/board/position.rs:299:17
[INFO] [stdout]     |
[INFO] [stdout] 299 |             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:343:37
[INFO] [stdout]     |
[INFO] [stdout] 343 |     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:739:26
[INFO] [stdout]     |
[INFO] [stdout] 739 |     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:868:21
[INFO] [stdout]     |
[INFO] [stdout] 868 |         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:873:21
[INFO] [stdout]     |
[INFO] [stdout] 873 |         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:878:21
[INFO] [stdout]     |
[INFO] [stdout] 878 |         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:883:21
[INFO] [stdout]     |
[INFO] [stdout] 883 |         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:888:21
[INFO] [stdout]     |
[INFO] [stdout] 888 |         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:1024:79
[INFO] [stdout]      |
[INFO] [stdout] 1024 |     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:1053:9
[INFO] [stdout]      |
[INFO] [stdout] 1053 |         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:1082:77
[INFO] [stdout]      |
[INFO] [stdout] 1082 |     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: value assigned to `side` is never read
[INFO] [stdout]   --> src/board/zobrist.rs:16:13
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let mut side = 0;
[INFO] [stdout]    |             ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `nopawns` is never read
[INFO] [stdout]   --> src/board/zobrist.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut nopawns = 0;
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d`
[INFO] [stdout]    --> src/board/movegen.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 |     let d: Direction = D::DIR;
[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:146:9
[INFO] [stdout]     |
[INFO] [stdout] 146 |         cur += 1;
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `move_list`
[INFO] [stdout]    --> src/board/movegen.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 |     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:138:5
[INFO] [stdout]     |
[INFO] [stdout] 138 |     to: Square,
[INFO] [stdout]     |     ^^ help: if this is intentional, prefix it with an underscore: `_to`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `b1` is never read
[INFO] [stdout]    --> src/board/movegen.rs:299:17
[INFO] [stdout]     |
[INFO] [stdout] 299 |                 b1 = pawns_not_on_7th & bb::get_pawn_attacks_bb(them, 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: `pos`
[INFO] [stdout]    --> src/board/movegen.rs:307:5
[INFO] [stdout]     |
[INFO] [stdout] 307 |     pos: &pos::Position,
[INFO] [stdout]     |     ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `move_list`
[INFO] [stdout]    --> src/board/movegen.rs:308:5
[INFO] [stdout]     |
[INFO] [stdout] 308 |     move_list: &mut Vec<ExtMove>,
[INFO] [stdout]     |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_move_list`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/board/movegen.rs:309:5
[INFO] [stdout]     |
[INFO] [stdout] 309 |     target: Bitboard,
[INFO] [stdout]     |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]    --> src/board/movegen.rs:314:5
[INFO] [stdout]     |
[INFO] [stdout] 314 |     pos: &pos::Position,
[INFO] [stdout]     |     ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `move_list`
[INFO] [stdout]    --> src/board/movegen.rs:315:5
[INFO] [stdout]     |
[INFO] [stdout] 315 |     move_list: &mut Vec<ExtMove>,
[INFO] [stdout]     |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_move_list`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/board/movegen.rs:316:5
[INFO] [stdout]     |
[INFO] [stdout] 316 |     target: Bitboard,
[INFO] [stdout]     |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[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:463:5
[INFO] [stdout]     |
[INFO] [stdout] 463 |     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:76:1
[INFO] [stdout]     |
[INFO] [stdout] 76  | 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:136:1
[INFO] [stdout]     |
[INFO] [stdout] 136 | / pub fn make_promotions<T: GenTypeInfo, D: DirectionType, const Enemy: bool>(
[INFO] [stdout] 137 | |     move_list: &mut MoveList,
[INFO] [stdout] 138 | |     to: Square,
[INFO] [stdout] 139 | | ) -> 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:116:1
[INFO] [stdout]     |
[INFO] [stdout] 116 | 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:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | / pub fn generate_pawn_moves<T: GenTypeInfo, C: ColorInfo>(
[INFO] [stdout] 157 | |     pos: &pos::Position,
[INFO] [stdout] 158 | |     move_list: &mut MoveList,
[INFO] [stdout] 159 | |     target: Bitboard,
[INFO] [stdout] 160 | | ) {
[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:116:1
[INFO] [stdout]     |
[INFO] [stdout] 116 | struct MoveList {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ExtMove` is more private than the item `generate`
[INFO] [stdout]    --> src/board/movegen.rs:306:1
[INFO] [stdout]     |
[INFO] [stdout] 306 | / pub fn generate<C: ColorInfo, T: GenTypeInfo, const Checks: bool>(
[INFO] [stdout] 307 | |     pos: &pos::Position,
[INFO] [stdout] 308 | |     move_list: &mut Vec<ExtMove>,
[INFO] [stdout] 309 | |     target: Bitboard,
[INFO] [stdout] 310 | | ) {
[INFO] [stdout]     | |_^ function `generate` is reachable at visibility `pub(in crate::board)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ExtMove` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/board/movegen.rs:23:1
[INFO] [stdout]     |
[INFO] [stdout] 23  | struct ExtMove {
[INFO] [stdout]     | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ExtMove` is more private than the item `generate_all`
[INFO] [stdout]    --> src/board/movegen.rs:313:1
[INFO] [stdout]     |
[INFO] [stdout] 313 | / pub fn generate_all<C: ColorInfo, T: GenTypeInfo>(
[INFO] [stdout] 314 | |     pos: &pos::Position,
[INFO] [stdout] 315 | |     move_list: &mut Vec<ExtMove>,
[INFO] [stdout] 316 | |     target: Bitboard,
[INFO] [stdout] 317 | | ) {
[INFO] [stdout]     | |_^ function `generate_all` is reachable at visibility `pub(in crate::board)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ExtMove` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/board/movegen.rs:23:1
[INFO] [stdout]     |
[INFO] [stdout] 23  | struct ExtMove {
[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]   = note: `#[warn(dead_code)]` on by default
[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 `PIECEVALE` is never used
[INFO] [stdout]   --> src/types.rs:30:7
[INFO] [stdout]    |
[INFO] [stdout] 30 | 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:52:11
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub const SQNB: usize = Square::SquareNb as usize - 1; //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:53:11
[INFO] [stdout]    |
[INFO] [stdout] 53 | 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:54:11
[INFO] [stdout]    |
[INFO] [stdout] 54 | 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:55:11
[INFO] [stdout]    |
[INFO] [stdout] 55 | 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:56:11
[INFO] [stdout]    |
[INFO] [stdout] 56 | 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:57:11
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub const FNB: usize = 8;
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RNB` is never used
[INFO] [stdout]   --> src/types.rs:58:11
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub const RNB: usize = 8;
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SQA1` is never used
[INFO] [stdout]   --> src/types.rs:60:11
[INFO] [stdout]    |
[INFO] [stdout] 60 | 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:61:11
[INFO] [stdout]    |
[INFO] [stdout] 61 | 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:63:11
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub const PawnValue: Value = 208;
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KnightValue` is never used
[INFO] [stdout]   --> src/types.rs:64:11
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub const KnightValue: Value = 781;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BishopValue` is never used
[INFO] [stdout]   --> src/types.rs:65:11
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub const BishopValue: Value = 825;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RookValue` is never used
[INFO] [stdout]   --> src/types.rs:66:11
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub const RookValue: Value = 1276;
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QueenValue` is never used
[INFO] [stdout]   --> src/types.rs:67:11
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub const QueenValue: Value = 2538;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PIECEVALUE` is never used
[INFO] [stdout]   --> src/types.rs:69:11
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub const PIECEVALUE: [Value; PNB] = [
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Bound` is never used
[INFO] [stdout]   --> src/types.rs:98:10
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub enum Bound {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]    --> src/types.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub enum Piece {
[INFO] [stdout]     |          ----- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 110 |     WPawn,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 111 |     WKnight,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 112 |     WBishop,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 113 |     WRook,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 114 |     WQueen,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 115 |     WKing,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 116 |     BPawn = 9,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 117 |     BKnight = 10,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 118 |     BBishop = 11,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 119 |     BRook = 12,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 120 |     BQueen = 13,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 121 |     BKing = 14,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 122 |     PieceNb = 16,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Piece` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `type_of`, `color`, and `new_from_n` are never used
[INFO] [stdout]    --> src/types.rs:126:18
[INFO] [stdout]     |
[INFO] [stdout] 125 | impl Piece {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] 126 |     pub const fn type_of(&self) -> PieceType {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub const fn color(&self) -> Color {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     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:528:10
[INFO] [stdout]     |
[INFO] [stdout] 528 | pub enum PieceType {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MoveType` is never used
[INFO] [stdout]    --> src/types.rs:542:10
[INFO] [stdout]     |
[INFO] [stdout] 542 | pub enum MoveType {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mate_in` is never used
[INFO] [stdout]    --> src/types.rs:706:14
[INFO] [stdout]     |
[INFO] [stdout] 706 | 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:709:14
[INFO] [stdout]     |
[INFO] [stdout] 709 | 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:713:14
[INFO] [stdout]     |
[INFO] [stdout] 713 | 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:722:14
[INFO] [stdout]     |
[INFO] [stdout] 722 | 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:730:14
[INFO] [stdout]     |
[INFO] [stdout] 730 | 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:742:14
[INFO] [stdout]     |
[INFO] [stdout] 742 | 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:754:14
[INFO] [stdout]     |
[INFO] [stdout] 754 | 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:768:14
[INFO] [stdout]     |
[INFO] [stdout] 768 | 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:776:14
[INFO] [stdout]     |
[INFO] [stdout] 776 | 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:789:14
[INFO] [stdout]     |
[INFO] [stdout] 789 | 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:801:12
[INFO] [stdout]     |
[INFO] [stdout] 801 | pub struct Move {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/types.rs:806:18
[INFO] [stdout]     |
[INFO] [stdout] 805 | impl Move {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] 806 |     pub const fn new(data: u16) -> Self {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 810 |     pub const fn new_from_to_sq(from: Square, to: Square) -> Self {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 814 |     pub const fn from_to(&self) -> u16 {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 818 |     pub fn set_from_move(&mut self, m: Move) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 822 |     pub const fn from_sq(&self) -> Square {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 831 |     pub const fn to_sq(&self) -> Square {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 840 |     pub const fn type_of(&self) -> MoveType {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 850 |     pub fn set_move_to_variant(&mut self, movetype: MoveType) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 861 |     pub const fn promotion_type(&self) -> PieceType {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 872 |     pub fn set_promotion_type(&mut self, pt: PieceType) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 883 |     pub const fn raw(&self) -> u16 {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 887 |     pub const fn is_nonzero(&self) -> bool {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 891 |     pub const fn null() -> Self {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 895 |     pub const fn none() -> Self {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 899 |     pub const fn is_ok(&self) -> bool {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 903 |     pub fn make(move_type: MoveType, from: Square, to: Square, pt: PieceType) {
[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] 
[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:52:7
[INFO] [stdout]    |
[INFO] [stdout] 52 | const pieces: [Piece; 12] = [
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `H1` is never used
[INFO] [stdout]   --> src/board/position.rs:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | 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:71:4
[INFO] [stdout]    |
[INFO] [stdout] 71 | 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:76:8
[INFO] [stdout]    |
[INFO] [stdout] 76 | 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:98:12
[INFO] [stdout]    |
[INFO] [stdout] 97 | impl StateInfo {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 98 |     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:109:8
[INFO] [stdout]     |
[INFO] [stdout] 109 | 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:114:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | impl StateStack {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 114 |     fn new() -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     fn push(&mut self, newst: StateInfo) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     fn pop(&mut self) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Position` is never constructed
[INFO] [stdout]    --> src/board/position.rs:129:12
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub struct Position {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/board/position.rs:148:8
[INFO] [stdout]     |
[INFO] [stdout] 143 | impl Position {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 148 |     fn default() -> Self {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     fn st(&self) -> &StateInfo {
[INFO] [stdout]     |        ^^
[INFO] [stdout] ...
[INFO] [stdout] 169 |     fn st_mut<'a>(&mut self) -> &mut StateInfo {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     fn set_castling_right(&mut self, c: Color, rfrom: Square) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 |     fn set_check_info(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 234 |     fn update_sliders_blockers(&mut self, c: Color) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 260 |     fn set_state(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 274 |     fn attackers_to(&self, s: Square, occupied: Bitboard) -> Bitboard {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 288 |     fn legal(self, m: Move) -> bool {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 339 |     pub fn all_pieces(&self) -> Bitboard {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 343 |     fn pseudo_legal(&self, m: Move, state_stack: &StateStack) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 404 |     fn gives_check(&self, m: Move) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 463 |     pub fn do_move(&mut self, m: Move, new_state: &mut StateInfo, gives_check: bool) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 644 |     pub fn undo_move(&mut self, mv: Move) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 678 |     fn do_castling(
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 708 |     fn undo_castling(
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 739 |     pub fn square(&self, c: Color, pt: PieceType) -> Square {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 747 |     fn side_to_move(&self) -> Color {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 752 |     fn piece_on(&self, s: Square) -> Piece {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 757 |     fn empty(&self, s: Square) -> bool {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 762 |     fn moved_piece(&self, m: Move) -> Piece {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 767 |     pub fn pieces_by_piecetype(&self, pt: PieceType) -> Bitboard {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 772 |     pub fn pieces_by_color(&self, color: Color) -> Bitboard {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 777 |     pub fn ep_square(&self) -> Square {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 782 |     fn can_castle(&self, cr: CastlingRights) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 787 |     pub fn checkers(&self) -> Bitboard {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 792 |     pub fn blockers_for_king(&self, c: Color) -> Bitboard {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 797 |     fn pinners(&self, c: Color) -> Bitboard {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 802 |     fn check_squares(&self, pt: PieceType) -> Bitboard {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 807 |     fn pawn_key(&self) -> Key {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 812 |     fn material_key(&self) -> Key {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 817 |     fn non_pawn_material(&self, c: Color) -> Value {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 822 |     fn game_ply(&self) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 827 |     fn rule50_count(&self) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 832 |     fn captured_piece(&self) -> Piece {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 836 |     fn put_piece(&mut self, pc: Piece, s: Square) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 846 |     fn remove_piece(&mut self, s: Square) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 856 |     fn move_piece(&mut self, f: Square, t: Square) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 866 |     pub fn init() {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 927 |     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:1024:8
[INFO] [stdout]      |
[INFO] [stdout] 1024 |     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:1050:8
[INFO] [stdout]      |
[INFO] [stdout] 1050 |     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:1082:8
[INFO] [stdout]      |
[INFO] [stdout] 1082 |     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:1151:8
[INFO] [stdout]      |
[INFO] [stdout] 1151 |     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:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | 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:46:8
[INFO] [stdout]    |
[INFO] [stdout] 46 | 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:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn get_zobrist_psq() -> &'static [[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:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn get_zobrist_castling() -> &'static [Key; CRNB] {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_zorist_nopawns` is never used
[INFO] [stdout]   --> src/board/zobrist.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | 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:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub fn get_zobrist_enpassant() -> &'static [Key; FNB] {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_MOVES` is never used
[INFO] [stdout]   --> src/board/movegen.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | 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:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | struct ExtMove {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `White` is never constructed
[INFO] [stdout]   --> src/board/movegen.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct White;
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Black` is never constructed
[INFO] [stdout]   --> src/board/movegen.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Black;
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ColorInfo` is never used
[INFO] [stdout]   --> src/board/movegen.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub trait ColorInfo {
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Captures` is never constructed
[INFO] [stdout]   --> src/board/movegen.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct Captures;
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Quiets` is never constructed
[INFO] [stdout]   --> src/board/movegen.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct Quiets;
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `QuietChecks` is never constructed
[INFO] [stdout]   --> src/board/movegen.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct QuietChecks;
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Evasions` is never constructed
[INFO] [stdout]   --> src/board/movegen.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Evasions;
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NonEvasions` is never constructed
[INFO] [stdout]   --> src/board/movegen.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct NonEvasions;
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Legal` is never constructed
[INFO] [stdout]   --> src/board/movegen.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct Legal;
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `GenTypeInfo` is never used
[INFO] [stdout]   --> src/board/movegen.rs:50:11
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub trait GenTypeInfo {
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `North` is never constructed
[INFO] [stdout]   --> src/board/movegen.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct North;
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `South` is never constructed
[INFO] [stdout]   --> src/board/movegen.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct South;
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `East` is never constructed
[INFO] [stdout]   --> src/board/movegen.rs:74:12
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub struct East;
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `West` is never constructed
[INFO] [stdout]   --> src/board/movegen.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub struct West;
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `North_East` is never constructed
[INFO] [stdout]   --> src/board/movegen.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub struct North_East;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `South_East` is never constructed
[INFO] [stdout]   --> src/board/movegen.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct South_East;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `South_West` is never constructed
[INFO] [stdout]   --> src/board/movegen.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub struct South_West;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `North_West` is never constructed
[INFO] [stdout]   --> src/board/movegen.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub struct North_West;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `DirectionType` is never used
[INFO] [stdout]   --> src/board/movegen.rs:81:11
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub trait DirectionType {
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_from_move` is never used
[INFO] [stdout]    --> src/board/movegen.rs:111:12
[INFO] [stdout]     |
[INFO] [stdout] 110 | impl ExtMove {
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] 111 |     pub fn new_from_move(m: Move) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MoveList` is never constructed
[INFO] [stdout]    --> src/board/movegen.rs:116:8
[INFO] [stdout]     |
[INFO] [stdout] 116 | struct MoveList {
[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:121:12
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl MoveList {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 121 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn push_move(&mut self, mv: Move) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn push_move_ext_move(&mut self, mv: ExtMove) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_promotions` is never used
[INFO] [stdout]    --> src/board/movegen.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub fn make_promotions<T: GenTypeInfo, D: DirectionType, 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:156:8
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub fn generate_pawn_moves<T: GenTypeInfo, C: ColorInfo>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate` is never used
[INFO] [stdout]    --> src/board/movegen.rs:306:8
[INFO] [stdout]     |
[INFO] [stdout] 306 | pub fn generate<C: ColorInfo, T: GenTypeInfo, const Checks: bool>(
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_all` is never used
[INFO] [stdout]    --> src/board/movegen.rs:313:8
[INFO] [stdout]     |
[INFO] [stdout] 313 | pub fn generate_all<C: ColorInfo, T: GenTypeInfo>(
[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: constant `PawnValue` should have an upper case name
[INFO] [stdout]   --> src/types.rs:63:11
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub const PawnValue: Value = 208;
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 63 - pub const PawnValue: Value = 208;
[INFO] [stdout] 63 + 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:64:11
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub const KnightValue: Value = 781;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 64 - pub const KnightValue: Value = 781;
[INFO] [stdout] 64 + 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:65:11
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub const BishopValue: Value = 825;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 65 - pub const BishopValue: Value = 825;
[INFO] [stdout] 65 + 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:66:11
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub const RookValue: Value = 1276;
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 66 - pub const RookValue: Value = 1276;
[INFO] [stdout] 66 + 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:67:11
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub const QueenValue: Value = 2538;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 67 - pub const QueenValue: Value = 2538;
[INFO] [stdout] 67 + pub const QUEEN_VALUE: Value = 2538;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `pieces` should have an upper case name
[INFO] [stdout]   --> src/board/position.rs:52:7
[INFO] [stdout]    |
[INFO] [stdout] 52 | const pieces: [Piece; 12] = [
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 52 - const pieces: [Piece; 12] = [
[INFO] [stdout] 52 + 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:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn H1(h: Key) -> i32 {
[INFO] [stdout]    |    ^^ help: convert the identifier to snake case: `h1`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `H2` should have a snake case name
[INFO] [stdout]   --> src/board/position.rs:71:4
[INFO] [stdout]    |
[INFO] [stdout] 71 | 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:136:64
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub fn make_promotions<T: GenTypeInfo, D: DirectionType, const Enemy: bool>(
[INFO] [stdout]     |                                                                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 136 - pub fn make_promotions<T: GenTypeInfo, D: DirectionType, const Enemy: bool>(
[INFO] [stdout] 136 + pub fn make_promotions<T: GenTypeInfo, D: DirectionType, 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:164:9
[INFO] [stdout]     |
[INFO] [stdout] 164 |     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:169:9
[INFO] [stdout]     |
[INFO] [stdout] 169 |     let TRank3BB = if us == Color::White {
[INFO] [stdout]     |         ^^^^^^^^ help: convert the identifier to snake case: `trank3_bb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: const parameter `Checks` should have an upper case name
[INFO] [stdout]    --> src/board/movegen.rs:306:53
[INFO] [stdout]     |
[INFO] [stdout] 306 | pub fn generate<C: ColorInfo, T: GenTypeInfo, const Checks: bool>(
[INFO] [stdout]     |                                                     ^^^^^^ help: convert the identifier to upper case: `CHECKS`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 25s
[INFO] running `Command { std: "docker" "inspect" "4f885855a781a4d38b7f426491ba578250e4cc3551da335f75096da58c8f52e7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4f885855a781a4d38b7f426491ba578250e4cc3551da335f75096da58c8f52e7", kill_on_drop: false }`
[INFO] [stdout] 4f885855a781a4d38b7f426491ba578250e4cc3551da335f75096da58c8f52e7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a06292e0d0e06ede7908685828363d6bbf774ad4d8eb16e927609bf308241c73
[INFO] running `Command { std: "docker" "start" "-a" "a06292e0d0e06ede7908685828363d6bbf774ad4d8eb16e927609bf308241c73", kill_on_drop: false }`
[INFO] [stderr]    Compiling 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)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::all_pieces`
[INFO] [stdout]  --> src/board/movegen.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | 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:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::board::bitboard::get_pawn_attacks_bb;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::bitboard::pop_lsb`
[INFO] [stdout]  --> src/board/movegen.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use super::bitboard::pop_lsb;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `North_East` should have an upper camel case name
[INFO] [stdout]   --> src/board/movegen.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub struct North_East;
[INFO] [stdout]    |            ^^^^^^^^^^ help: convert the identifier to upper camel case: `NorthEast`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `South_East` should have an upper camel case name
[INFO] [stdout]   --> src/board/movegen.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct South_East;
[INFO] [stdout]    |            ^^^^^^^^^^ help: convert the identifier to upper camel case: `SouthEast`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `South_West` should have an upper camel case name
[INFO] [stdout]   --> src/board/movegen.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub struct South_West;
[INFO] [stdout]    |            ^^^^^^^^^^ help: convert the identifier to upper camel case: `SouthWest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `North_West` should have an upper camel case name
[INFO] [stdout]   --> src/board/movegen.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub struct North_West;
[INFO] [stdout]    |            ^^^^^^^^^^ help: convert the identifier to upper camel case: `NorthWest`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused attribute
[INFO] [stdout]    --> src/board/position.rs:746:5
[INFO] [stdout]     |
[INFO] [stdout] 746 |     #[inline]
[INFO] [stdout]     |     ^^^^^^^^^ help: remove this attribute
[INFO] [stdout]     |
[INFO] [stdout] note: attribute also specified here
[INFO] [stdout]    --> src/board/position.rs:742:5
[INFO] [stdout]     |
[INFO] [stdout] 742 |     #[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)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `move_type`
[INFO] [stdout]    --> src/types.rs:903:17
[INFO] [stdout]     |
[INFO] [stdout] 903 |     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]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `from`
[INFO] [stdout]    --> src/types.rs:903:38
[INFO] [stdout]     |
[INFO] [stdout] 903 |     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:903:52
[INFO] [stdout]     |
[INFO] [stdout] 903 |     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:903:64
[INFO] [stdout]     |
[INFO] [stdout] 903 |     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: value assigned to `size` is never read
[INFO] [stdout]    --> src/board/bitboard.rs:320:13
[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)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `kto` is never read
[INFO] [stdout]    --> src/board/position.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 201 |         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:297:17
[INFO] [stdout]     |
[INFO] [stdout] 297 |             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] 
[INFO] [stdout] warning: unused variable: `occupied`
[INFO] [stdout]    --> src/board/position.rs:299:17
[INFO] [stdout]     |
[INFO] [stdout] 299 |             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:343:37
[INFO] [stdout]     |
[INFO] [stdout] 343 |     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:739:26
[INFO] [stdout]     |
[INFO] [stdout] 739 |     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:868:21
[INFO] [stdout]     |
[INFO] [stdout] 868 |         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:873:21
[INFO] [stdout]     |
[INFO] [stdout] 873 |         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:878:21
[INFO] [stdout]     |
[INFO] [stdout] 878 |         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:883:21
[INFO] [stdout]     |
[INFO] [stdout] 883 |         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:888:21
[INFO] [stdout]     |
[INFO] [stdout] 888 |         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:1024:79
[INFO] [stdout]      |
[INFO] [stdout] 1024 |     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:1053:9
[INFO] [stdout]      |
[INFO] [stdout] 1053 |         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:1082:77
[INFO] [stdout]      |
[INFO] [stdout] 1082 |     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: value assigned to `side` is never read
[INFO] [stdout]   --> src/board/zobrist.rs:16:13
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let mut side = 0;
[INFO] [stdout]    |             ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `nopawns` is never read
[INFO] [stdout]   --> src/board/zobrist.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let mut nopawns = 0;
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d`
[INFO] [stdout]    --> src/board/movegen.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 |     let d: Direction = D::DIR;
[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:146:9
[INFO] [stdout]     |
[INFO] [stdout] 146 |         cur += 1;
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `move_list`
[INFO] [stdout]    --> src/board/movegen.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 |     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:138:5
[INFO] [stdout]     |
[INFO] [stdout] 138 |     to: Square,
[INFO] [stdout]     |     ^^ help: if this is intentional, prefix it with an underscore: `_to`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `b1` is never read
[INFO] [stdout]    --> src/board/movegen.rs:299:17
[INFO] [stdout]     |
[INFO] [stdout] 299 |                 b1 = pawns_not_on_7th & bb::get_pawn_attacks_bb(them, 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: `pos`
[INFO] [stdout]    --> src/board/movegen.rs:307:5
[INFO] [stdout]     |
[INFO] [stdout] 307 |     pos: &pos::Position,
[INFO] [stdout]     |     ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `move_list`
[INFO] [stdout]    --> src/board/movegen.rs:308:5
[INFO] [stdout]     |
[INFO] [stdout] 308 |     move_list: &mut Vec<ExtMove>,
[INFO] [stdout]     |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_move_list`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/board/movegen.rs:309:5
[INFO] [stdout]     |
[INFO] [stdout] 309 |     target: Bitboard,
[INFO] [stdout]     |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]    --> src/board/movegen.rs:314:5
[INFO] [stdout]     |
[INFO] [stdout] 314 |     pos: &pos::Position,
[INFO] [stdout]     |     ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `move_list`
[INFO] [stdout]    --> src/board/movegen.rs:315:5
[INFO] [stdout]     |
[INFO] [stdout] 315 |     move_list: &mut Vec<ExtMove>,
[INFO] [stdout]     |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_move_list`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/board/movegen.rs:316:5
[INFO] [stdout]     |
[INFO] [stdout] 316 |     target: Bitboard,
[INFO] [stdout]     |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[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:463:5
[INFO] [stdout]     |
[INFO] [stdout] 463 |     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:76:1
[INFO] [stdout]     |
[INFO] [stdout] 76  | 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:136:1
[INFO] [stdout]     |
[INFO] [stdout] 136 | / pub fn make_promotions<T: GenTypeInfo, D: DirectionType, const Enemy: bool>(
[INFO] [stdout] 137 | |     move_list: &mut MoveList,
[INFO] [stdout] 138 | |     to: Square,
[INFO] [stdout] 139 | | ) -> 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:116:1
[INFO] [stdout]     |
[INFO] [stdout] 116 | 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:156:1
[INFO] [stdout]     |
[INFO] [stdout] 156 | / pub fn generate_pawn_moves<T: GenTypeInfo, C: ColorInfo>(
[INFO] [stdout] 157 | |     pos: &pos::Position,
[INFO] [stdout] 158 | |     move_list: &mut MoveList,
[INFO] [stdout] 159 | |     target: Bitboard,
[INFO] [stdout] 160 | | ) {
[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:116:1
[INFO] [stdout]     |
[INFO] [stdout] 116 | struct MoveList {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ExtMove` is more private than the item `generate`
[INFO] [stdout]    --> src/board/movegen.rs:306:1
[INFO] [stdout]     |
[INFO] [stdout] 306 | / pub fn generate<C: ColorInfo, T: GenTypeInfo, const Checks: bool>(
[INFO] [stdout] 307 | |     pos: &pos::Position,
[INFO] [stdout] 308 | |     move_list: &mut Vec<ExtMove>,
[INFO] [stdout] 309 | |     target: Bitboard,
[INFO] [stdout] 310 | | ) {
[INFO] [stdout]     | |_^ function `generate` is reachable at visibility `pub(in crate::board)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ExtMove` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/board/movegen.rs:23:1
[INFO] [stdout]     |
[INFO] [stdout] 23  | struct ExtMove {
[INFO] [stdout]     | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ExtMove` is more private than the item `generate_all`
[INFO] [stdout]    --> src/board/movegen.rs:313:1
[INFO] [stdout]     |
[INFO] [stdout] 313 | / pub fn generate_all<C: ColorInfo, T: GenTypeInfo>(
[INFO] [stdout] 314 | |     pos: &pos::Position,
[INFO] [stdout] 315 | |     move_list: &mut Vec<ExtMove>,
[INFO] [stdout] 316 | |     target: Bitboard,
[INFO] [stdout] 317 | | ) {
[INFO] [stdout]     | |_^ function `generate_all` is reachable at visibility `pub(in crate::board)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ExtMove` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/board/movegen.rs:23:1
[INFO] [stdout]     |
[INFO] [stdout] 23  | struct ExtMove {
[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]   = note: `#[warn(dead_code)]` on by default
[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 `PIECEVALE` is never used
[INFO] [stdout]   --> src/types.rs:30:7
[INFO] [stdout]    |
[INFO] [stdout] 30 | 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:58:11
[INFO] [stdout]    |
[INFO] [stdout] 58 | 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:164:18
[INFO] [stdout]     |
[INFO] [stdout] 125 | impl Piece {
[INFO] [stdout]     | ---------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 164 |     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:789:14
[INFO] [stdout]     |
[INFO] [stdout] 789 | 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:814:18
[INFO] [stdout]     |
[INFO] [stdout] 805 | impl Move {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 814 |     pub const fn from_to(&self) -> u16 {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 818 |     pub fn set_from_move(&mut self, m: Move) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 887 |     pub const fn is_nonzero(&self) -> bool {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 903 |     pub fn make(move_type: MoveType, from: Square, to: Square, pt: PieceType) {
[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] 
[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:114:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | impl StateStack {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] 114 |     fn new() -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     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:135:5
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub struct Position {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 135 |     castling_rook_square: [Square; CRNB],
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 136 |     castling_path: [Bitboard; CRNB],
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/board/position.rs:173:8
[INFO] [stdout]     |
[INFO] [stdout] 143 | impl Position {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 173 |     fn set_castling_right(&mut self, c: Color, rfrom: Square) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 260 |     fn set_state(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 288 |     fn legal(self, m: Move) -> bool {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 339 |     pub fn all_pieces(&self) -> Bitboard {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 343 |     fn pseudo_legal(&self, m: Move, state_stack: &StateStack) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 404 |     fn gives_check(&self, m: Move) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 747 |     fn side_to_move(&self) -> Color {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 762 |     fn moved_piece(&self, m: Move) -> Piece {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 777 |     pub fn ep_square(&self) -> Square {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 782 |     fn can_castle(&self, cr: CastlingRights) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 787 |     pub fn checkers(&self) -> Bitboard {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 792 |     pub fn blockers_for_king(&self, c: Color) -> Bitboard {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 797 |     fn pinners(&self, c: Color) -> Bitboard {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 802 |     fn check_squares(&self, pt: PieceType) -> Bitboard {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 807 |     fn pawn_key(&self) -> Key {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 812 |     fn material_key(&self) -> Key {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 817 |     fn non_pawn_material(&self, c: Color) -> Value {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 822 |     fn game_ply(&self) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 827 |     fn rule50_count(&self) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 832 |     fn captured_piece(&self) -> Piece {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 927 |     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:1151:8
[INFO] [stdout]      |
[INFO] [stdout] 1151 |     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:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | 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:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | 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:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | struct ExtMove {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `White` is never constructed
[INFO] [stdout]   --> src/board/movegen.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct White;
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Black` is never constructed
[INFO] [stdout]   --> src/board/movegen.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Black;
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ColorInfo` is never used
[INFO] [stdout]   --> src/board/movegen.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub trait ColorInfo {
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Captures` is never constructed
[INFO] [stdout]   --> src/board/movegen.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct Captures;
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Quiets` is never constructed
[INFO] [stdout]   --> src/board/movegen.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct Quiets;
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `QuietChecks` is never constructed
[INFO] [stdout]   --> src/board/movegen.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct QuietChecks;
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Evasions` is never constructed
[INFO] [stdout]   --> src/board/movegen.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Evasions;
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NonEvasions` is never constructed
[INFO] [stdout]   --> src/board/movegen.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct NonEvasions;
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Legal` is never constructed
[INFO] [stdout]   --> src/board/movegen.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct Legal;
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `GenTypeInfo` is never used
[INFO] [stdout]   --> src/board/movegen.rs:50:11
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub trait GenTypeInfo {
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `North` is never constructed
[INFO] [stdout]   --> src/board/movegen.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct North;
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `South` is never constructed
[INFO] [stdout]   --> src/board/movegen.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct South;
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `East` is never constructed
[INFO] [stdout]   --> src/board/movegen.rs:74:12
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub struct East;
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `West` is never constructed
[INFO] [stdout]   --> src/board/movegen.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub struct West;
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `North_East` is never constructed
[INFO] [stdout]   --> src/board/movegen.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub struct North_East;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `South_East` is never constructed
[INFO] [stdout]   --> src/board/movegen.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct South_East;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `South_West` is never constructed
[INFO] [stdout]   --> src/board/movegen.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub struct South_West;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `North_West` is never constructed
[INFO] [stdout]   --> src/board/movegen.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub struct North_West;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `DirectionType` is never used
[INFO] [stdout]   --> src/board/movegen.rs:81:11
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub trait DirectionType {
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_from_move` is never used
[INFO] [stdout]    --> src/board/movegen.rs:111:12
[INFO] [stdout]     |
[INFO] [stdout] 110 | impl ExtMove {
[INFO] [stdout]     | ------------ associated function in this implementation
[INFO] [stdout] 111 |     pub fn new_from_move(m: Move) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MoveList` is never constructed
[INFO] [stdout]    --> src/board/movegen.rs:116:8
[INFO] [stdout]     |
[INFO] [stdout] 116 | struct MoveList {
[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:121:12
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl MoveList {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 121 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn push_move(&mut self, mv: Move) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn push_move_ext_move(&mut self, mv: ExtMove) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_promotions` is never used
[INFO] [stdout]    --> src/board/movegen.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub fn make_promotions<T: GenTypeInfo, D: DirectionType, 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:156:8
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub fn generate_pawn_moves<T: GenTypeInfo, C: ColorInfo>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate` is never used
[INFO] [stdout]    --> src/board/movegen.rs:306:8
[INFO] [stdout]     |
[INFO] [stdout] 306 | pub fn generate<C: ColorInfo, T: GenTypeInfo, const Checks: bool>(
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_all` is never used
[INFO] [stdout]    --> src/board/movegen.rs:313:8
[INFO] [stdout]     |
[INFO] [stdout] 313 | pub fn generate_all<C: ColorInfo, T: GenTypeInfo>(
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PawnValue` should have an upper case name
[INFO] [stdout]   --> src/types.rs:63:11
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub const PawnValue: Value = 208;
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 63 - pub const PawnValue: Value = 208;
[INFO] [stdout] 63 + 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:64:11
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub const KnightValue: Value = 781;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 64 - pub const KnightValue: Value = 781;
[INFO] [stdout] 64 + 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:65:11
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub const BishopValue: Value = 825;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 65 - pub const BishopValue: Value = 825;
[INFO] [stdout] 65 + 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:66:11
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub const RookValue: Value = 1276;
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 66 - pub const RookValue: Value = 1276;
[INFO] [stdout] 66 + 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:67:11
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub const QueenValue: Value = 2538;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 67 - pub const QueenValue: Value = 2538;
[INFO] [stdout] 67 + pub const QUEEN_VALUE: Value = 2538;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `pieces` should have an upper case name
[INFO] [stdout]   --> src/board/position.rs:52:7
[INFO] [stdout]    |
[INFO] [stdout] 52 | const pieces: [Piece; 12] = [
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 52 - const pieces: [Piece; 12] = [
[INFO] [stdout] 52 + 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:67:4
[INFO] [stdout]    |
[INFO] [stdout] 67 | fn H1(h: Key) -> i32 {
[INFO] [stdout]    |    ^^ help: convert the identifier to snake case: `h1`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `H2` should have a snake case name
[INFO] [stdout]   --> src/board/position.rs:71:4
[INFO] [stdout]    |
[INFO] [stdout] 71 | 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:136:64
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub fn make_promotions<T: GenTypeInfo, D: DirectionType, const Enemy: bool>(
[INFO] [stdout]     |                                                                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 136 - pub fn make_promotions<T: GenTypeInfo, D: DirectionType, const Enemy: bool>(
[INFO] [stdout] 136 + pub fn make_promotions<T: GenTypeInfo, D: DirectionType, 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:164:9
[INFO] [stdout]     |
[INFO] [stdout] 164 |     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:169:9
[INFO] [stdout]     |
[INFO] [stdout] 169 |     let TRank3BB = if us == Color::White {
[INFO] [stdout]     |         ^^^^^^^^ help: convert the identifier to snake case: `trank3_bb`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: const parameter `Checks` should have an upper case name
[INFO] [stdout]    --> src/board/movegen.rs:306:53
[INFO] [stdout]     |
[INFO] [stdout] 306 | pub fn generate<C: ColorInfo, T: GenTypeInfo, const Checks: bool>(
[INFO] [stdout]     |                                                     ^^^^^^ help: convert the identifier to upper case: `CHECKS`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.86s
[INFO] running `Command { std: "docker" "inspect" "a06292e0d0e06ede7908685828363d6bbf774ad4d8eb16e927609bf308241c73", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a06292e0d0e06ede7908685828363d6bbf774ad4d8eb16e927609bf308241c73", kill_on_drop: false }`
[INFO] [stdout] a06292e0d0e06ede7908685828363d6bbf774ad4d8eb16e927609bf308241c73
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 9a3f1f52a8649ffe3eca5d48446dceb2b9ee967e9d68a0e0d44753a420115d7e
[INFO] running `Command { std: "docker" "start" "-a" "9a3f1f52a8649ffe3eca5d48446dceb2b9ee967e9d68a0e0d44753a420115d7e", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `std::arch::x86_64::_pext_u64`
[INFO] [stderr]  --> src/board/bitboard.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::arch::x86_64::_pext_u64;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::all_pieces`
[INFO] [stderr]  --> src/board/movegen.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::all_pieces;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::board::bitboard::get_pawn_attacks_bb`
[INFO] [stderr]  --> src/board/movegen.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::board::bitboard::get_pawn_attacks_bb;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::bitboard::pop_lsb`
[INFO] [stderr]  --> src/board/movegen.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use super::bitboard::pop_lsb;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `North_East` should have an upper camel case name
[INFO] [stderr]   --> src/board/movegen.rs:76:12
[INFO] [stderr]    |
[INFO] [stderr] 76 | pub struct North_East;
[INFO] [stderr]    |            ^^^^^^^^^^ help: convert the identifier to upper camel case: `NorthEast`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type `South_East` should have an upper camel case name
[INFO] [stderr]   --> src/board/movegen.rs:77:12
[INFO] [stderr]    |
[INFO] [stderr] 77 | pub struct South_East;
[INFO] [stderr]    |            ^^^^^^^^^^ help: convert the identifier to upper camel case: `SouthEast`
[INFO] [stderr] 
[INFO] [stderr] warning: type `South_West` should have an upper camel case name
[INFO] [stderr]   --> src/board/movegen.rs:78:12
[INFO] [stderr]    |
[INFO] [stderr] 78 | pub struct South_West;
[INFO] [stderr]    |            ^^^^^^^^^^ help: convert the identifier to upper camel case: `SouthWest`
[INFO] [stderr] 
[INFO] [stderr] warning: type `North_West` should have an upper camel case name
[INFO] [stderr]   --> src/board/movegen.rs:79:12
[INFO] [stderr]    |
[INFO] [stderr] 79 | pub struct North_West;
[INFO] [stderr]    |            ^^^^^^^^^^ help: convert the identifier to upper camel case: `NorthWest`
[INFO] [stderr] 
[INFO] [stderr] warning: unused attribute
[INFO] [stderr]    --> src/board/position.rs:746:5
[INFO] [stderr]     |
[INFO] [stderr] 746 |     #[inline]
[INFO] [stderr]     |     ^^^^^^^^^ help: remove this attribute
[INFO] [stderr]     |
[INFO] [stderr] note: attribute also specified here
[INFO] [stderr]    --> src/board/position.rs:742:5
[INFO] [stderr]     |
[INFO] [stderr] 742 |     #[inline(always)]
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: `#[warn(unused_attributes)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `move_type`
[INFO] [stderr]    --> src/types.rs:903:17
[INFO] [stderr]     |
[INFO] [stderr] 903 |     pub fn make(move_type: MoveType, from: Square, to: Square, pt: PieceType) {
[INFO] [stderr]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_move_type`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `from`
[INFO] [stderr]    --> src/types.rs:903:38
[INFO] [stderr]     |
[INFO] [stderr] 903 |     pub fn make(move_type: MoveType, from: Square, to: Square, pt: PieceType) {
[INFO] [stderr]     |                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_from`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `to`
[INFO] [stderr]    --> src/types.rs:903:52
[INFO] [stderr]     |
[INFO] [stderr] 903 |     pub fn make(move_type: MoveType, from: Square, to: Square, pt: PieceType) {
[INFO] [stderr]     |                                                    ^^ help: if this is intentional, prefix it with an underscore: `_to`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pt`
[INFO] [stderr]    --> src/types.rs:903:64
[INFO] [stderr]     |
[INFO] [stderr] 903 |     pub fn make(move_type: MoveType, from: Square, to: Square, pt: PieceType) {
[INFO] [stderr]     |                                                                ^^ help: if this is intentional, prefix it with an underscore: `_pt`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `size` is never read
[INFO] [stderr]    --> src/board/bitboard.rs:320:13
[INFO] [stderr]     |
[INFO] [stderr] 320 |     let mut size: usize = 0;
[INFO] [stderr]     |             ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `kto` is never read
[INFO] [stderr]    --> src/board/position.rs:201:9
[INFO] [stderr]     |
[INFO] [stderr] 201 |         kto = kto.relative_square(c);
[INFO] [stderr]     |         ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ksq`
[INFO] [stderr]    --> src/board/position.rs:297:17
[INFO] [stderr]     |
[INFO] [stderr] 297 |             let ksq: Square = self.square(us, PieceType::King);
[INFO] [stderr]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_ksq`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `occupied`
[INFO] [stderr]    --> src/board/position.rs:299:17
[INFO] [stderr]     |
[INFO] [stderr] 299 |             let occupied: Bitboard = (all_pieces!(self) ^ from ^ capsq) | to;
[INFO] [stderr]     |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_occupied`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `state_stack`
[INFO] [stderr]    --> src/board/position.rs:343:37
[INFO] [stderr]     |
[INFO] [stderr] 343 |     fn pseudo_legal(&self, m: Move, state_stack: &StateStack) -> bool {
[INFO] [stderr]     |                                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_state_stack`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `c`
[INFO] [stderr]    --> src/board/position.rs:739:26
[INFO] [stderr]     |
[INFO] [stderr] 739 |     pub fn square(&self, c: Color, pt: PieceType) -> Square {
[INFO] [stderr]     |                          ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `psq`
[INFO] [stderr]    --> src/board/position.rs:868:21
[INFO] [stderr]     |
[INFO] [stderr] 868 |         if let Some(psq) = zobrist::PSQ.get() {
[INFO] [stderr]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_psq`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `psq`
[INFO] [stderr]    --> src/board/position.rs:873:21
[INFO] [stderr]     |
[INFO] [stderr] 873 |         if let Some(psq) = zobrist::ENPASSANT.get() {
[INFO] [stderr]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_psq`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `psq`
[INFO] [stderr]    --> src/board/position.rs:878:21
[INFO] [stderr]     |
[INFO] [stderr] 878 |         if let Some(psq) = zobrist::CASTLING.get() {
[INFO] [stderr]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_psq`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `psq`
[INFO] [stderr]    --> src/board/position.rs:883:21
[INFO] [stderr]     |
[INFO] [stderr] 883 |         if let Some(psq) = zobrist::SIDE.get() {
[INFO] [stderr]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_psq`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `psq`
[INFO] [stderr]    --> src/board/position.rs:888:21
[INFO] [stderr]     |
[INFO] [stderr] 888 |         if let Some(psq) = zobrist::NOPAWNS.get() {
[INFO] [stderr]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_psq`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `st`
[INFO] [stderr]     --> src/board/position.rs:1024:79
[INFO] [stderr]      |
[INFO] [stderr] 1024 |     fn test_enpassant_do_undo(position: &mut Position, newst: &mut StateInfo, st: &mut StateStack) {
[INFO] [stderr]      |                                                                               ^^ help: if this is intentional, prefix it with an underscore: `_st`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `st`
[INFO] [stderr]     --> src/board/position.rs:1053:9
[INFO] [stderr]      |
[INFO] [stderr] 1053 |         st: &mut StateStack,
[INFO] [stderr]      |         ^^ help: if this is intentional, prefix it with an underscore: `_st`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `st`
[INFO] [stderr]     --> src/board/position.rs:1082:77
[INFO] [stderr]      |
[INFO] [stderr] 1082 |     fn test_promotion_moves(position: &mut Position, newst: &mut StateInfo, st: &mut StateStack) {
[INFO] [stderr]      |                                                                             ^^ help: if this is intentional, prefix it with an underscore: `_st`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `side` is never read
[INFO] [stderr]   --> src/board/zobrist.rs:16:13
[INFO] [stderr]    |
[INFO] [stderr] 16 |     let mut side = 0;
[INFO] [stderr]    |             ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `nopawns` is never read
[INFO] [stderr]   --> src/board/zobrist.rs:17:13
[INFO] [stderr]    |
[INFO] [stderr] 17 |     let mut nopawns = 0;
[INFO] [stderr]    |             ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `d`
[INFO] [stderr]    --> src/board/movegen.rs:141:9
[INFO] [stderr]     |
[INFO] [stderr] 141 |     let d: Direction = D::DIR;
[INFO] [stderr]     |         ^ help: if this is intentional, prefix it with an underscore: `_d`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `cur` is never read
[INFO] [stderr]    --> src/board/movegen.rs:146:9
[INFO] [stderr]     |
[INFO] [stderr] 146 |         cur += 1;
[INFO] [stderr]     |         ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `move_list`
[INFO] [stderr]    --> src/board/movegen.rs:137:5
[INFO] [stderr]     |
[INFO] [stderr] 137 |     move_list: &mut MoveList,
[INFO] [stderr]     |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_move_list`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `to`
[INFO] [stderr]    --> src/board/movegen.rs:138:5
[INFO] [stderr]     |
[INFO] [stderr] 138 |     to: Square,
[INFO] [stderr]     |     ^^ help: if this is intentional, prefix it with an underscore: `_to`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `b1` is never read
[INFO] [stderr]    --> src/board/movegen.rs:299:17
[INFO] [stderr]     |
[INFO] [stderr] 299 |                 b1 = pawns_not_on_7th & bb::get_pawn_attacks_bb(them, pos.ep_square());
[INFO] [stderr]     |                 ^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pos`
[INFO] [stderr]    --> src/board/movegen.rs:307:5
[INFO] [stderr]     |
[INFO] [stderr] 307 |     pos: &pos::Position,
[INFO] [stderr]     |     ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `move_list`
[INFO] [stderr]    --> src/board/movegen.rs:308:5
[INFO] [stderr]     |
[INFO] [stderr] 308 |     move_list: &mut Vec<ExtMove>,
[INFO] [stderr]     |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_move_list`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `target`
[INFO] [stderr]    --> src/board/movegen.rs:309:5
[INFO] [stderr]     |
[INFO] [stderr] 309 |     target: Bitboard,
[INFO] [stderr]     |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pos`
[INFO] [stderr]    --> src/board/movegen.rs:314:5
[INFO] [stderr]     |
[INFO] [stderr] 314 |     pos: &pos::Position,
[INFO] [stderr]     |     ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `move_list`
[INFO] [stderr]    --> src/board/movegen.rs:315:5
[INFO] [stderr]     |
[INFO] [stderr] 315 |     move_list: &mut Vec<ExtMove>,
[INFO] [stderr]     |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_move_list`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `target`
[INFO] [stderr]    --> src/board/movegen.rs:316:5
[INFO] [stderr]     |
[INFO] [stderr] 316 |     target: Bitboard,
[INFO] [stderr]     |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stderr] 
[INFO] [stderr] warning: type `Magic` is more private than the item `ROOK_MAGICS`
[INFO] [stderr]    --> src/board/bitboard.rs:43:1
[INFO] [stderr]     |
[INFO] [stderr] 43  | pub static ROOK_MAGICS: OnceLock<[Magic; SQNB]> = OnceLock::new();
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ static `ROOK_MAGICS` is reachable at visibility `pub(in crate::board)`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `Magic` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/board/bitboard.rs:241:1
[INFO] [stderr]     |
[INFO] [stderr] 241 | struct Magic {
[INFO] [stderr]     | ^^^^^^^^^^^^
[INFO] [stderr]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type `Magic` is more private than the item `BISHOP_MAGICS`
[INFO] [stderr]    --> src/board/bitboard.rs:44:1
[INFO] [stderr]     |
[INFO] [stderr] 44  | pub static BISHOP_MAGICS: OnceLock<[Magic; SQNB]> = OnceLock::new();
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ static `BISHOP_MAGICS` is reachable at visibility `pub(in crate::board)`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `Magic` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/board/bitboard.rs:241:1
[INFO] [stderr]     |
[INFO] [stderr] 241 | struct Magic {
[INFO] [stderr]     | ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `position::StateInfo` is more private than the item `position::Position::do_move`
[INFO] [stderr]    --> src/board/position.rs:463:5
[INFO] [stderr]     |
[INFO] [stderr] 463 |     pub fn do_move(&mut self, m: Move, new_state: &mut StateInfo, gives_check: bool) {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `position::Position::do_move` is reachable at visibility `pub(in crate::board)`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `position::StateInfo` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/board/position.rs:76:1
[INFO] [stderr]     |
[INFO] [stderr] 76  | struct StateInfo {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `MoveList` is more private than the item `make_promotions`
[INFO] [stderr]    --> src/board/movegen.rs:136:1
[INFO] [stderr]     |
[INFO] [stderr] 136 | / pub fn make_promotions<T: GenTypeInfo, D: DirectionType, const Enemy: bool>(
[INFO] [stderr] 137 | |     move_list: &mut MoveList,
[INFO] [stderr] 138 | |     to: Square,
[INFO] [stderr] 139 | | ) -> usize {
[INFO] [stderr]     | |__________^ function `make_promotions` is reachable at visibility `pub(in crate::board)`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `MoveList` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/board/movegen.rs:116:1
[INFO] [stderr]     |
[INFO] [stderr] 116 | struct MoveList {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `MoveList` is more private than the item `generate_pawn_moves`
[INFO] [stderr]    --> src/board/movegen.rs:156:1
[INFO] [stderr]     |
[INFO] [stderr] 156 | / pub fn generate_pawn_moves<T: GenTypeInfo, C: ColorInfo>(
[INFO] [stderr] 157 | |     pos: &pos::Position,
[INFO] [stderr] 158 | |     move_list: &mut MoveList,
[INFO] [stderr] 159 | |     target: Bitboard,
[INFO] [stderr] 160 | | ) {
[INFO] [stderr]     | |_^ function `generate_pawn_moves` is reachable at visibility `pub(in crate::board)`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `MoveList` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/board/movegen.rs:116:1
[INFO] [stderr]     |
[INFO] [stderr] 116 | struct MoveList {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `ExtMove` is more private than the item `generate`
[INFO] [stderr]    --> src/board/movegen.rs:306:1
[INFO] [stderr]     |
[INFO] [stderr] 306 | / pub fn generate<C: ColorInfo, T: GenTypeInfo, const Checks: bool>(
[INFO] [stderr] 307 | |     pos: &pos::Position,
[INFO] [stderr] 308 | |     move_list: &mut Vec<ExtMove>,
[INFO] [stderr] 309 | |     target: Bitboard,
[INFO] [stderr] 310 | | ) {
[INFO] [stderr]     | |_^ function `generate` is reachable at visibility `pub(in crate::board)`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `ExtMove` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/board/movegen.rs:23:1
[INFO] [stderr]     |
[INFO] [stderr] 23  | struct ExtMove {
[INFO] [stderr]     | ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `ExtMove` is more private than the item `generate_all`
[INFO] [stderr]    --> src/board/movegen.rs:313:1
[INFO] [stderr]     |
[INFO] [stderr] 313 | / pub fn generate_all<C: ColorInfo, T: GenTypeInfo>(
[INFO] [stderr] 314 | |     pos: &pos::Position,
[INFO] [stderr] 315 | |     move_list: &mut Vec<ExtMove>,
[INFO] [stderr] 316 | |     target: Bitboard,
[INFO] [stderr] 317 | | ) {
[INFO] [stderr]     | |_^ function `generate_all` is reachable at visibility `pub(in crate::board)`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `ExtMove` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/board/movegen.rs:23:1
[INFO] [stderr]     |
[INFO] [stderr] 23  | struct ExtMove {
[INFO] [stderr]     | ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `Depth` is never used
[INFO] [stderr]  --> src/types.rs:8:10
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub type Depth = i32;
[INFO] [stderr]   |          ^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `MAX_MOVES` is never used
[INFO] [stderr]   --> src/types.rs:10:7
[INFO] [stderr]    |
[INFO] [stderr] 10 | const MAX_MOVES: i32 = 256;
[INFO] [stderr]    |       ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `VALUE_DRAW` is never used
[INFO] [stderr]   --> src/types.rs:14:7
[INFO] [stderr]    |
[INFO] [stderr] 14 | const VALUE_DRAW: Value = 0;
[INFO] [stderr]    |       ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `VALUE_NONE` is never used
[INFO] [stderr]   --> src/types.rs:15:7
[INFO] [stderr]    |
[INFO] [stderr] 15 | const VALUE_NONE: Value = 32002;
[INFO] [stderr]    |       ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `VALUE_INFINITE` is never used
[INFO] [stderr]   --> src/types.rs:16:7
[INFO] [stderr]    |
[INFO] [stderr] 16 | const VALUE_INFINITE: Value = 32001;
[INFO] [stderr]    |       ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `VALUE_MATE_IN_MAX_PLY` is never used
[INFO] [stderr]   --> src/types.rs:18:7
[INFO] [stderr]    |
[INFO] [stderr] 18 | const VALUE_MATE_IN_MAX_PLY: Value = VALUE_MATE - MAX_PLY;
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `VALUE_MATED_IN_MAX_PLY` is never used
[INFO] [stderr]   --> src/types.rs:19:7
[INFO] [stderr]    |
[INFO] [stderr] 19 | const VALUE_MATED_IN_MAX_PLY: Value = -VALUE_MATE_IN_MAX_PLY;
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `VALUE_TB` is never used
[INFO] [stderr]   --> src/types.rs:20:7
[INFO] [stderr]    |
[INFO] [stderr] 20 | const VALUE_TB: Value = VALUE_MATE_IN_MAX_PLY - 1;
[INFO] [stderr]    |       ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `VALUE_TB_WIN_IN_MAX_PLY` is never used
[INFO] [stderr]   --> src/types.rs:21:7
[INFO] [stderr]    |
[INFO] [stderr] 21 | const VALUE_TB_WIN_IN_MAX_PLY: Value = VALUE_TB - MAX_PLY;
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `VALUE_TB_LOSS_IN_MAX_PLY` is never used
[INFO] [stderr]   --> src/types.rs:22:7
[INFO] [stderr]    |
[INFO] [stderr] 22 | const VALUE_TB_LOSS_IN_MAX_PLY: Value = -VALUE_TB_WIN_IN_MAX_PLY;
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PAWNVALUE` is never used
[INFO] [stderr]   --> src/types.rs:24:7
[INFO] [stderr]    |
[INFO] [stderr] 24 | const PAWNVALUE: Value = 208;
[INFO] [stderr]    |       ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `KNIGHTVALUE` is never used
[INFO] [stderr]   --> src/types.rs:25:7
[INFO] [stderr]    |
[INFO] [stderr] 25 | const KNIGHTVALUE: Value = 781;
[INFO] [stderr]    |       ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BISHOPVALUE` is never used
[INFO] [stderr]   --> src/types.rs:26:7
[INFO] [stderr]    |
[INFO] [stderr] 26 | const BISHOPVALUE: Value = 825;
[INFO] [stderr]    |       ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `ROOKVALUE` is never used
[INFO] [stderr]   --> src/types.rs:27:7
[INFO] [stderr]    |
[INFO] [stderr] 27 | const ROOKVALUE: Value = 1276;
[INFO] [stderr]    |       ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `QUEENVALUE` is never used
[INFO] [stderr]   --> src/types.rs:28:7
[INFO] [stderr]    |
[INFO] [stderr] 28 | const QUEENVALUE: Value = 2538;
[INFO] [stderr]    |       ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PIECEVALE` is never used
[INFO] [stderr]   --> src/types.rs:30:7
[INFO] [stderr]    |
[INFO] [stderr] 30 | const PIECEVALE: [Value; Piece::PieceNb as usize] = [
[INFO] [stderr]    |       ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `RNB` is never used
[INFO] [stderr]   --> src/types.rs:58:11
[INFO] [stderr]    |
[INFO] [stderr] 58 | pub const RNB: usize = 8;
[INFO] [stderr]    |           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new_from_n` is never used
[INFO] [stderr]    --> src/types.rs:164:18
[INFO] [stderr]     |
[INFO] [stderr] 125 | impl Piece {
[INFO] [stderr]     | ---------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 164 |     pub const fn new_from_n(i: usize) -> Self {
[INFO] [stderr]     |                  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `relative_rank_of_square` is never used
[INFO] [stderr]    --> src/types.rs:789:14
[INFO] [stderr]     |
[INFO] [stderr] 789 | pub const fn relative_rank_of_square(c: Color, s: Square) -> Rank {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `from_to`, `set_from_move`, `is_nonzero`, and `make` are never used
[INFO] [stderr]    --> src/types.rs:814:18
[INFO] [stderr]     |
[INFO] [stderr] 805 | impl Move {
[INFO] [stderr]     | --------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 814 |     pub const fn from_to(&self) -> u16 {
[INFO] [stderr]     |                  ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 818 |     pub fn set_from_move(&mut self, m: Move) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 887 |     pub const fn is_nonzero(&self) -> bool {
[INFO] [stderr]     |                  ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 903 |     pub fn make(move_type: MoveType, from: Square, to: Square, pt: PieceType) {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `FILEBBB` is never used
[INFO] [stderr]   --> src/board/bitboard.rs:12:11
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub const FILEBBB: Bitboard = FILEABB << 1;
[INFO] [stderr]    |           ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `FILECBB` is never used
[INFO] [stderr]   --> src/board/bitboard.rs:13:11
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub const FILECBB: Bitboard = FILEABB << 2;
[INFO] [stderr]    |           ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `FILEDBB` is never used
[INFO] [stderr]   --> src/board/bitboard.rs:14:11
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub const FILEDBB: Bitboard = FILEABB << 3;
[INFO] [stderr]    |           ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `FILEEBB` is never used
[INFO] [stderr]   --> src/board/bitboard.rs:15:11
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub const FILEEBB: Bitboard = FILEABB << 4;
[INFO] [stderr]    |           ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `FILEFBB` is never used
[INFO] [stderr]   --> src/board/bitboard.rs:16:11
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub const FILEFBB: Bitboard = FILEABB << 5;
[INFO] [stderr]    |           ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `FILEGBB` is never used
[INFO] [stderr]   --> src/board/bitboard.rs:17:11
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub const FILEGBB: Bitboard = FILEABB << 6;
[INFO] [stderr]    |           ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `RANK2BB` is never used
[INFO] [stderr]   --> src/board/bitboard.rs:21:11
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub const RANK2BB: Bitboard = RANK1BB << (8 * 1);
[INFO] [stderr]    |           ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `RANK3BB` is never used
[INFO] [stderr]   --> src/board/bitboard.rs:22:11
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub const RANK3BB: Bitboard = RANK1BB << (8 * 2);
[INFO] [stderr]    |           ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `RANK4BB` is never used
[INFO] [stderr]   --> src/board/bitboard.rs:23:11
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub const RANK4BB: Bitboard = RANK1BB << (8 * 2);
[INFO] [stderr]    |           ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `RANK5BB` is never used
[INFO] [stderr]   --> src/board/bitboard.rs:24:11
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub const RANK5BB: Bitboard = RANK1BB << (8 * 4);
[INFO] [stderr]    |           ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `RANK6BB` is never used
[INFO] [stderr]   --> src/board/bitboard.rs:25:11
[INFO] [stderr]    |
[INFO] [stderr] 25 | pub const RANK6BB: Bitboard = RANK1BB << (8 * 5);
[INFO] [stderr]    |           ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `RANK7BB` is never used
[INFO] [stderr]   --> src/board/bitboard.rs:26:11
[INFO] [stderr]    |
[INFO] [stderr] 26 | pub const RANK7BB: Bitboard = RANK1BB << (8 * 6);
[INFO] [stderr]    |           ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `shift_twice` is never used
[INFO] [stderr]   --> src/board/bitboard.rs:72:10
[INFO] [stderr]    |
[INFO] [stderr] 72 | const fn shift_twice(b: Bitboard, d: Direction) -> Bitboard {
[INFO] [stderr]    |          ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `alligned` is never used
[INFO] [stderr]    --> src/board/bitboard.rs:104:8
[INFO] [stderr]     |
[INFO] [stderr] 104 | pub fn alligned(s1: Square, s2: Square, s3: Square) -> bool {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `rank_bb` is never used
[INFO] [stderr]    --> src/board/bitboard.rs:162:10
[INFO] [stderr]     |
[INFO] [stderr] 162 | const fn rank_bb(r: Rank) -> Bitboard {
[INFO] [stderr]     |          ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `file_bb` is never used
[INFO] [stderr]    --> src/board/bitboard.rs:174:10
[INFO] [stderr]     |
[INFO] [stderr] 174 | const fn file_bb(f: File) -> Bitboard {
[INFO] [stderr]     |          ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `least_significant_square_bb` is never used
[INFO] [stderr]    --> src/board/bitboard.rs:187:4
[INFO] [stderr]     |
[INFO] [stderr] 187 | fn least_significant_square_bb(bb: Bitboard) -> Bitboard {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `MAX_PLY` is never used
[INFO] [stderr]   --> src/board/position.rs:19:7
[INFO] [stderr]    |
[INFO] [stderr] 19 | const MAX_PLY: usize = 246; // Maximum search depth
[INFO] [stderr]    |       ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `CUCKOO` is never used
[INFO] [stderr]   --> src/board/position.rs:21:12
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub static CUCKOO: OnceLock<[Key; 8192]> = OnceLock::new();
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `CUCKOO_MOVE` is never used
[INFO] [stderr]   --> src/board/position.rs:22:12
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub static CUCKOO_MOVE: OnceLock<[Key; 8192]> = OnceLock::new();
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `pop` are never used
[INFO] [stderr]    --> src/board/position.rs:114:8
[INFO] [stderr]     |
[INFO] [stderr] 113 | impl StateStack {
[INFO] [stderr]     | --------------- associated items in this implementation
[INFO] [stderr] 114 |     fn new() -> Self {
[INFO] [stderr]     |        ^^^
[INFO] [stderr] ...
[INFO] [stderr] 124 |     fn pop(&mut self) {
[INFO] [stderr]     |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `castling_rook_square` and `castling_path` are never read
[INFO] [stderr]    --> src/board/position.rs:135:5
[INFO] [stderr]     |
[INFO] [stderr] 129 | pub struct Position {
[INFO] [stderr]     |            -------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 135 |     castling_rook_square: [Square; CRNB],
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 136 |     castling_path: [Bitboard; CRNB],
[INFO] [stderr]     |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]    --> src/board/position.rs:173:8
[INFO] [stderr]     |
[INFO] [stderr] 143 | impl Position {
[INFO] [stderr]     | ------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 173 |     fn set_castling_right(&mut self, c: Color, rfrom: Square) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 260 |     fn set_state(&mut self) {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 288 |     fn legal(self, m: Move) -> bool {
[INFO] [stderr]     |        ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 339 |     pub fn all_pieces(&self) -> Bitboard {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 343 |     fn pseudo_legal(&self, m: Move, state_stack: &StateStack) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 404 |     fn gives_check(&self, m: Move) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 747 |     fn side_to_move(&self) -> Color {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 762 |     fn moved_piece(&self, m: Move) -> Piece {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 777 |     pub fn ep_square(&self) -> Square {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 782 |     fn can_castle(&self, cr: CastlingRights) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 787 |     pub fn checkers(&self) -> Bitboard {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 792 |     pub fn blockers_for_king(&self, c: Color) -> Bitboard {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 797 |     fn pinners(&self, c: Color) -> Bitboard {
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 802 |     fn check_squares(&self, pt: PieceType) -> Bitboard {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 807 |     fn pawn_key(&self) -> Key {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 812 |     fn material_key(&self) -> Key {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 817 |     fn non_pawn_material(&self, c: Color) -> Value {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 822 |     fn game_ply(&self) -> i32 {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 827 |     fn rule50_count(&self) -> i32 {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 832 |     fn captured_piece(&self) -> Piece {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 927 |     fn pieces_by_type(&self, pt: PieceType) -> Bitboard {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_update_sliders_blockers` is never used
[INFO] [stderr]     --> src/board/position.rs:1151:8
[INFO] [stderr]      |
[INFO] [stderr] 1151 |     fn test_update_sliders_blockers() {
[INFO] [stderr]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_zorist_nopawns` is never used
[INFO] [stderr]   --> src/board/zobrist.rs:56:8
[INFO] [stderr]    |
[INFO] [stderr] 56 | pub fn get_zorist_nopawns() -> Key {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `MAX_MOVES` is never used
[INFO] [stderr]   --> src/board/movegen.rs:11:7
[INFO] [stderr]    |
[INFO] [stderr] 11 | const MAX_MOVES: usize = 256;
[INFO] [stderr]    |       ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ExtMove` is never constructed
[INFO] [stderr]   --> src/board/movegen.rs:23:8
[INFO] [stderr]    |
[INFO] [stderr] 23 | struct ExtMove {
[INFO] [stderr]    |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `White` is never constructed
[INFO] [stderr]   --> src/board/movegen.rs:29:12
[INFO] [stderr]    |
[INFO] [stderr] 29 | pub struct White;
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Black` is never constructed
[INFO] [stderr]   --> src/board/movegen.rs:30:12
[INFO] [stderr]    |
[INFO] [stderr] 30 | pub struct Black;
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `ColorInfo` is never used
[INFO] [stderr]   --> src/board/movegen.rs:31:11
[INFO] [stderr]    |
[INFO] [stderr] 31 | pub trait ColorInfo {
[INFO] [stderr]    |           ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Captures` is never constructed
[INFO] [stderr]   --> src/board/movegen.rs:43:12
[INFO] [stderr]    |
[INFO] [stderr] 43 | pub struct Captures;
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Quiets` is never constructed
[INFO] [stderr]   --> src/board/movegen.rs:44:12
[INFO] [stderr]    |
[INFO] [stderr] 44 | pub struct Quiets;
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `QuietChecks` is never constructed
[INFO] [stderr]   --> src/board/movegen.rs:45:12
[INFO] [stderr]    |
[INFO] [stderr] 45 | pub struct QuietChecks;
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Evasions` is never constructed
[INFO] [stderr]   --> src/board/movegen.rs:46:12
[INFO] [stderr]    |
[INFO] [stderr] 46 | pub struct Evasions;
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `NonEvasions` is never constructed
[INFO] [stderr]   --> src/board/movegen.rs:47:12
[INFO] [stderr]    |
[INFO] [stderr] 47 | pub struct NonEvasions;
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Legal` is never constructed
[INFO] [stderr]   --> src/board/movegen.rs:48:12
[INFO] [stderr]    |
[INFO] [stderr] 48 | pub struct Legal;
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `GenTypeInfo` is never used
[INFO] [stderr]   --> src/board/movegen.rs:50:11
[INFO] [stderr]    |
[INFO] [stderr] 50 | pub trait GenTypeInfo {
[INFO] [stderr]    |           ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `North` is never constructed
[INFO] [stderr]   --> src/board/movegen.rs:72:12
[INFO] [stderr]    |
[INFO] [stderr] 72 | pub struct North;
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `South` is never constructed
[INFO] [stderr]   --> src/board/movegen.rs:73:12
[INFO] [stderr]    |
[INFO] [stderr] 73 | pub struct South;
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `East` is never constructed
[INFO] [stderr]   --> src/board/movegen.rs:74:12
[INFO] [stderr]    |
[INFO] [stderr] 74 | pub struct East;
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `West` is never constructed
[INFO] [stderr]   --> src/board/movegen.rs:75:12
[INFO] [stderr]    |
[INFO] [stderr] 75 | pub struct West;
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `North_East` is never constructed
[INFO] [stderr]   --> src/board/movegen.rs:76:12
[INFO] [stderr]    |
[INFO] [stderr] 76 | pub struct North_East;
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `South_East` is never constructed
[INFO] [stderr]   --> src/board/movegen.rs:77:12
[INFO] [stderr]    |
[INFO] [stderr] 77 | pub struct South_East;
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `South_West` is never constructed
[INFO] [stderr]   --> src/board/movegen.rs:78:12
[INFO] [stderr]    |
[INFO] [stderr] 78 | pub struct South_West;
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `North_West` is never constructed
[INFO] [stderr]   --> src/board/movegen.rs:79:12
[INFO] [stderr]    |
[INFO] [stderr] 79 | pub struct North_West;
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `DirectionType` is never used
[INFO] [stderr]   --> src/board/movegen.rs:81:11
[INFO] [stderr]    |
[INFO] [stderr] 81 | pub trait DirectionType {
[INFO] [stderr]    |           ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new_from_move` is never used
[INFO] [stderr]    --> src/board/movegen.rs:111:12
[INFO] [stderr]     |
[INFO] [stderr] 110 | impl ExtMove {
[INFO] [stderr]     | ------------ associated function in this implementation
[INFO] [stderr] 111 |     pub fn new_from_move(m: Move) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `MoveList` is never constructed
[INFO] [stderr]    --> src/board/movegen.rs:116:8
[INFO] [stderr]     |
[INFO] [stderr] 116 | struct MoveList {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `push_move`, and `push_move_ext_move` are never used
[INFO] [stderr]    --> src/board/movegen.rs:121:12
[INFO] [stderr]     |
[INFO] [stderr] 120 | impl MoveList {
[INFO] [stderr]     | ------------- associated items in this implementation
[INFO] [stderr] 121 |     pub fn new() -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 127 |     pub fn push_move(&mut self, mv: Move) {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 131 |     pub fn push_move_ext_move(&mut self, mv: ExtMove) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `make_promotions` is never used
[INFO] [stderr]    --> src/board/movegen.rs:136:8
[INFO] [stderr]     |
[INFO] [stderr] 136 | pub fn make_promotions<T: GenTypeInfo, D: DirectionType, const Enemy: bool>(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `generate_pawn_moves` is never used
[INFO] [stderr]    --> src/board/movegen.rs:156:8
[INFO] [stderr]     |
[INFO] [stderr] 156 | pub fn generate_pawn_moves<T: GenTypeInfo, C: ColorInfo>(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `generate` is never used
[INFO] [stderr]    --> src/board/movegen.rs:306:8
[INFO] [stderr]     |
[INFO] [stderr] 306 | pub fn generate<C: ColorInfo, T: GenTypeInfo, const Checks: bool>(
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `generate_all` is never used
[INFO] [stderr]    --> src/board/movegen.rs:313:8
[INFO] [stderr]     |
[INFO] [stderr] 313 | pub fn generate_all<C: ColorInfo, T: GenTypeInfo>(
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PawnValue` should have an upper case name
[INFO] [stderr]   --> src/types.rs:63:11
[INFO] [stderr]    |
[INFO] [stderr] 63 | pub const PawnValue: Value = 208;
[INFO] [stderr]    |           ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stderr] help: convert the identifier to upper case
[INFO] [stderr]    |
[INFO] [stderr] 63 - pub const PawnValue: Value = 208;
[INFO] [stderr] 63 + pub const PAWN_VALUE: Value = 208;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: constant `KnightValue` should have an upper case name
[INFO] [stderr]   --> src/types.rs:64:11
[INFO] [stderr]    |
[INFO] [stderr] 64 | pub const KnightValue: Value = 781;
[INFO] [stderr]    |           ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: convert the identifier to upper case
[INFO] [stderr]    |
[INFO] [stderr] 64 - pub const KnightValue: Value = 781;
[INFO] [stderr] 64 + pub const KNIGHT_VALUE: Value = 781;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BishopValue` should have an upper case name
[INFO] [stderr]   --> src/types.rs:65:11
[INFO] [stderr]    |
[INFO] [stderr] 65 | pub const BishopValue: Value = 825;
[INFO] [stderr]    |           ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: convert the identifier to upper case
[INFO] [stderr]    |
[INFO] [stderr] 65 - pub const BishopValue: Value = 825;
[INFO] [stderr] 65 + pub const BISHOP_VALUE: Value = 825;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: constant `RookValue` should have an upper case name
[INFO] [stderr]   --> src/types.rs:66:11
[INFO] [stderr]    |
[INFO] [stderr] 66 | pub const RookValue: Value = 1276;
[INFO] [stderr]    |           ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: convert the identifier to upper case
[INFO] [stderr]    |
[INFO] [stderr] 66 - pub const RookValue: Value = 1276;
[INFO] [stderr] 66 + pub const ROOK_VALUE: Value = 1276;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: constant `QueenValue` should have an upper case name
[INFO] [stderr]   --> src/types.rs:67:11
[INFO] [stderr]    |
[INFO] [stderr] 67 | pub const QueenValue: Value = 2538;
[INFO] [stderr]    |           ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: convert the identifier to upper case
[INFO] [stderr]    |
[INFO] [stderr] 67 - pub const QueenValue: Value = 2538;
[INFO] [stderr] 67 + pub const QUEEN_VALUE: Value = 2538;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: constant `pieces` should have an upper case name
[INFO] [stderr]   --> src/board/position.rs:52:7
[INFO] [stderr]    |
[INFO] [stderr] 52 | const pieces: [Piece; 12] = [
[INFO] [stderr]    |       ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: convert the identifier to upper case
[INFO] [stderr]    |
[INFO] [stderr] 52 - const pieces: [Piece; 12] = [
[INFO] [stderr] 52 + const PIECES: [Piece; 12] = [
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: function `H1` should have a snake case name
[INFO] [stderr]   --> src/board/position.rs:67:4
[INFO] [stderr]    |
[INFO] [stderr] 67 | fn H1(h: Key) -> i32 {
[INFO] [stderr]    |    ^^ help: convert the identifier to snake case: `h1`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `H2` should have a snake case name
[INFO] [stderr]   --> src/board/position.rs:71:4
[INFO] [stderr]    |
[INFO] [stderr] 71 | fn H2(h: Key) -> i32 {
[INFO] [stderr]    |    ^^ help: convert the identifier to snake case: `h2`
[INFO] [stderr] 
[INFO] [stderr] warning: const parameter `Enemy` should have an upper case name
[INFO] [stderr]    --> src/board/movegen.rs:136:64
[INFO] [stderr]     |
[INFO] [stderr] 136 | pub fn make_promotions<T: GenTypeInfo, D: DirectionType, const Enemy: bool>(
[INFO] [stderr]     |                                                                ^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: convert the identifier to upper case
[INFO] [stderr]     |
[INFO] [stderr] 136 - pub fn make_promotions<T: GenTypeInfo, D: DirectionType, const Enemy: bool>(
[INFO] [stderr] 136 + pub fn make_promotions<T: GenTypeInfo, D: DirectionType, const ENEMY: bool>(
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: variable `TRank7BB` should have a snake case name
[INFO] [stderr]    --> src/board/movegen.rs:164:9
[INFO] [stderr]     |
[INFO] [stderr] 164 |     let TRank7BB = if us == Color::White {
[INFO] [stderr]     |         ^^^^^^^^ help: convert the identifier to snake case: `trank7_bb`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `TRank3BB` should have a snake case name
[INFO] [stderr]    --> src/board/movegen.rs:169:9
[INFO] [stderr]     |
[INFO] [stderr] 169 |     let TRank3BB = if us == Color::White {
[INFO] [stderr]     |         ^^^^^^^^ help: convert the identifier to snake case: `trank3_bb`
[INFO] [stderr] 
[INFO] [stderr] warning: const parameter `Checks` should have an upper case name
[INFO] [stderr]    --> src/board/movegen.rs:306:53
[INFO] [stderr]     |
[INFO] [stderr] 306 | pub fn generate<C: ColorInfo, T: GenTypeInfo, const Checks: bool>(
[INFO] [stderr]     |                                                     ^^^^^^ help: convert the identifier to upper case: `CHECKS`
[INFO] [stderr] 
[INFO] [stderr] warning: `rusty_screbby` (bin "rusty_screbby" test) generated 132 warnings (run `cargo fix --bin "rusty_screbby" --tests` to apply 13 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.15s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rusty_screbby-b88685df7f140c27)
[INFO] [stdout] 
[INFO] [stdout] running 62 tests
[INFO] [stdout] test board::bitboard::test::count_bishop_attacks ... ok
[INFO] [stdout] test board::position::test::test_pieces_by_piece_types_macro ... ok
[INFO] [stdout] test types::tests::test_bitboard_operations ... ok
[INFO] [stdout] test types::tests::test_bound_values ... ok
[INFO] [stdout] test types::tests::test_castling_rights_bitand_color ... ok
[INFO] [stdout] test types::tests::test_castling_rights_values ... ok
[INFO] [stdout] test types::tests::test_color_not ... ok
[INFO] [stdout] test types::tests::test_color_bitand_castling_rights ... ok
[INFO] [stdout] test types::tests::test_direction_sub_direction ... ok
[INFO] [stdout] test types::tests::test_direction_values ... ok
[INFO] [stdout] test types::tests::test_is_file_valid ... ok
[INFO] [stdout] test types::tests::test_file_values ... ok
[INFO] [stdout] test types::tests::test_is_rank_valid ... ok
[INFO] [stdout] test types::tests::test_make_black_piece ... ok
[INFO] [stdout] test types::tests::test_is_valid_move_type ... ok
[INFO] [stdout] test types::tests::test_make_piece ... ok
[INFO] [stdout] test types::tests::test_mated_in ... ok
[INFO] [stdout] test types::tests::test_move_promotion_type ... ok
[INFO] [stdout] test types::tests::test_move_creation ... ok
[INFO] [stdout] test board::position::test::test_position_display ... ok
[INFO] [stdout] test types::tests::test_direction_add_direction ... ok
[INFO] [stdout] test types::tests::test_move_type_values ... ok
[INFO] [stdout] test types::tests::test_make_square ... ok
[INFO] [stdout] test types::tests::test_piece_color ... ok
[INFO] [stdout] test types::tests::test_make_white_piece ... ok
[INFO] [stdout] test types::tests::test_mate_in ... ok
[INFO] [stdout] test types::tests::test_make_key ... ok
[INFO] [stdout] test types::tests::test_pawn_push ... ok
[INFO] [stdout] test types::tests::test_move_is_ok ... ok
[INFO] [stdout] test board::bitboard::test::test_more_than_one ... ok
[INFO] [stdout] test types::tests::test_piece_not ... ok
[INFO] [stdout] test types::tests::test_piece_values ... ok
[INFO] [stdout] test types::tests::test_piece_type_of ... ok
[INFO] [stdout] test types::tests::test_piece_type_values ... ok
[INFO] [stdout] test types::tests::test_square_bb ... ok
[INFO] [stdout] test types::tests::test_rank_values ... ok
[INFO] [stdout] test types::tests::test_square_add_assign_direction_overflow ... ok
[INFO] [stdout] test types::tests::test_square_add_assign_direction ... ok
[INFO] [stdout] test types::tests::test_square_flip_file ... ok
[INFO] [stdout] test types::tests::test_square_file_bb ... ok
[INFO] [stdout] test types::tests::test_square_file_distance_from ... ok
[INFO] [stdout] test types::tests::test_square_file_of ... ok
[INFO] [stdout] test types::tests::test_square_sub_assign_direction ... ok
[INFO] [stdout] test types::tests::test_square_rank_bb ... ok
[INFO] [stdout] test types::tests::test_square_sub_assign_direction_underflow ... ok
[INFO] [stdout] test types::tests::test_square_sub_direction ... ok
[INFO] [stdout] test types::tests::test_square_rank_distance_from ... ok
[INFO] [stdout] test types::tests::test_square_sub_direction_underflow ... ok
[INFO] [stdout] test types::tests::test_square_values ... ok
[INFO] [stdout] test types::tests::test_square_relative_rank ... ok
[INFO] [stdout] test types::tests::test_square_new_from_n ... ok
[INFO] [stdout] test types::tests::test_square_is_square_valid ... ok
[INFO] [stdout] test types::tests::test_square_rank_of ... ok
[INFO] [stdout] test types::tests::test_square_add_direction ... ok
[INFO] [stdout] test types::tests::test_move_type ... FAILED
[INFO] [stdout] test board::position::test::test_set_check_info ... FAILED
[INFO] [stdout] test types::tests::test_square_add_direction_overflow ... ok
[INFO] [stdout] test types::tests::test_square_flip_rank ... ok
[INFO] [stdout] test board::bitboard::test::test_bishop_magics ... ok
[INFO] [stdout] test board::position::test::test_do_move ... FAILED
[INFO] [stdout] test board::position::test::test_macros ... ok
[INFO] [stdout] test board::bitboard::test::test_rook_magics ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- types::tests::test_move_type stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'types::tests::test_move_type' panicked at src/types.rs:1000:9:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: Castling
[INFO] [stdout]  right: Promotion
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x64e0e25a4dc2 - std::backtrace_rs::backtrace::libunwind::trace::h73a647620bf1c49d
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x64e0e25a4dc2 - std::backtrace_rs::backtrace::trace_unsynchronized::hd4d513ed96cb3cb1
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x64e0e25a4dc2 - std::sys::backtrace::_print_fmt::h61bb95f7476aafa5
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x64e0e25a4dc2 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::ha2e7e3a01df69042
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x64e0e25c9ee3 - core::fmt::rt::Argument::fmt::hf14163372f0f9a76
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x64e0e25c9ee3 - core::fmt::write::h7cb8f63788cd01d2
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/fmt/mod.rs:1465:25
[INFO] [stdout]    6:     0x64e0e25a1d53 - std::io::default_write_fmt::h9ed739ccee8a150c
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x64e0e25a1d53 - std::io::Write::write_fmt::h1c0a32da913b32f1
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x64e0e25a4c12 - std::sys::backtrace::BacktraceLock::print::h3ec4d7883eb25e61
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x64e0e25a632c - std::panicking::default_hook::{{closure}}::h29548987efd832cb
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:300:27
[INFO] [stdout]   10:     0x64e0e25a6182 - std::panicking::default_hook::ha25170a15c643514
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:324:9
[INFO] [stdout]   11:     0x64e0e256e2a4 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h562adeecbf43c420
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1985:9
[INFO] [stdout]   12:     0x64e0e256e2a4 - test::test_main_with_exit_callback::{{closure}}::h97dd2a879d27e0e4
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x64e0e25a6d0b - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h7e85cbdbda26fdb7
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1985:9
[INFO] [stdout]   14:     0x64e0e25a6d0b - std::panicking::rust_panic_with_hook::h0d81afcd829aa24b
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:841:13
[INFO] [stdout]   15:     0x64e0e25a6ada - std::panicking::begin_panic_handler::{{closure}}::hc84a33f1202346cf
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:706:13
[INFO] [stdout]   16:     0x64e0e25a52b9 - std::sys::backtrace::__rust_end_short_backtrace::h373067a14f6c59aa
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:168:18
[INFO] [stdout]   17:     0x64e0e25a676d - __rustc[beb0385846a06d21]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:697:5
[INFO] [stdout]   18:     0x64e0e25c8a00 - core::panicking::panic_fmt::ha33fa2ae772efba9
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/panicking.rs:75:14
[INFO] [stdout]   19:     0x64e0e25c8cc8 - core::panicking::assert_failed_inner::h6a89cd271393c011
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/panicking.rs:448:17
[INFO] [stdout]   20:     0x64e0e252fe98 - core::panicking::assert_failed::hd6861edad30b8938
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/panicking.rs:403:5
[INFO] [stdout]   21:     0x64e0e252fee4 - rusty_screbby::types::tests::test_move_type::h854ea393ffa394b4
[INFO] [stdout]                                at /opt/rustwide/workdir/src/types.rs:1000:9
[INFO] [stdout]   22:     0x64e0e2532e46 - rusty_screbby::types::tests::test_move_type::{{closure}}::h6002ed1190ee0e2f
[INFO] [stdout]                                at /opt/rustwide/workdir/src/types.rs:998:24
[INFO] [stdout]   23:     0x64e0e2532e46 - core::ops::function::FnOnce::call_once::h8bed641c6c0d2744
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x64e0e25739db - core::ops::function::FnOnce::call_once::hf84b9c3d864a6959
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x64e0e25739db - test::__rust_begin_short_backtrace::h5724e31441c16fcb
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:648:18
[INFO] [stdout]   26:     0x64e0e2572c1e - test::run_test_in_process::{{closure}}::hbc28c9aa91793d7d
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:671:74
[INFO] [stdout]   27:     0x64e0e2572c1e - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hc17b0e238c0f8f3e
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   28:     0x64e0e2572c1e - std::panicking::catch_unwind::do_call::hcdbce0d6dd6c83ce
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:589:40
[INFO] [stdout]   29:     0x64e0e2572c1e - std::panicking::catch_unwind::h9477967ceea044e8
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:552:19
[INFO] [stdout]   30:     0x64e0e2572c1e - std::panic::catch_unwind::h616a2e249da12e16
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x64e0e2572c1e - test::run_test_in_process::h2758deb0f2e54430
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:671:27
[INFO] [stdout]   32:     0x64e0e2572c1e - test::run_test::{{closure}}::habe5cd2564b18aaa
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:592:43
[INFO] [stdout]   33:     0x64e0e25367c4 - test::run_test::{{closure}}::h9a0a6928f1a15421
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:622:41
[INFO] [stdout]   34:     0x64e0e25367c4 - std::sys::backtrace::__rust_begin_short_backtrace::hd68b5332434a22ca
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:152:18
[INFO] [stdout]   35:     0x64e0e253a16a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h264ddcc3098eacae
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/thread/mod.rs:559:17
[INFO] [stdout]   36:     0x64e0e253a16a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9fa39489749d6f3c
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   37:     0x64e0e253a16a - std::panicking::catch_unwind::do_call::hb9a1944b9f85100f
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:589:40
[INFO] [stdout]   38:     0x64e0e253a16a - std::panicking::catch_unwind::h0c6f100786c0dad8
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:552:19
[INFO] [stdout]   39:     0x64e0e253a16a - std::panic::catch_unwind::hf6084e2723385823
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x64e0e253a16a - std::thread::Builder::spawn_unchecked_::{{closure}}::hf0af58ce658143ad
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/thread/mod.rs:557:30
[INFO] [stdout]   41:     0x64e0e253a16a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h88a14f9b2e79f9de
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x64e0e25a9c67 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf31256ba38644b65
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1971:9
[INFO] [stdout]   43:     0x64e0e25a9c67 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h100ad77f3448041b
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1971:9
[INFO] [stdout]   44:     0x64e0e25a9c67 - std::sys::pal::unix::thread::Thread::new::thread_start::h1a22ded422ce395b
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/pal/unix/thread.rs:97:17
[INFO] [stdout]   45:     0x7f0918b10aa4 - <unknown>
[INFO] [stdout]   46:     0x7f0918b9da34 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- board::position::test::test_set_check_info stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'board::position::test::test_set_check_info' panicked at src/board/position.rs:1148:9:
[INFO] [stdout] not yet implemented
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x64e0e25a4dc2 - std::backtrace_rs::backtrace::libunwind::trace::h73a647620bf1c49d
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x64e0e25a4dc2 - std::backtrace_rs::backtrace::trace_unsynchronized::hd4d513ed96cb3cb1
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x64e0e25a4dc2 - std::sys::backtrace::_print_fmt::h61bb95f7476aafa5
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x64e0e25a4dc2 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::ha2e7e3a01df69042
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x64e0e25c9ee3 - core::fmt::rt::Argument::fmt::hf14163372f0f9a76
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x64e0e25c9ee3 - core::fmt::write::h7cb8f63788cd01d2
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/fmt/mod.rs:1465:25
[INFO] [stdout]    6:     0x64e0e25a1d53 - std::io::default_write_fmt::h9ed739ccee8a150c
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x64e0e25a1d53 - std::io::Write::write_fmt::h1c0a32da913b32f1
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x64e0e25a4c12 - std::sys::backtrace::BacktraceLock::print::h3ec4d7883eb25e61
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x64e0e25a632c - std::panicking::default_hook::{{closure}}::h29548987efd832cb
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:300:27
[INFO] [stdout]   10:     0x64e0e25a6182 - std::panicking::default_hook::ha25170a15c643514
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:324:9
[INFO] [stdout]   11:     0x64e0e256e2a4 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h562adeecbf43c420
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1985:9
[INFO] [stdout]   12:     0x64e0e256e2a4 - test::test_main_with_exit_callback::{{closure}}::h97dd2a879d27e0e4
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x64e0e25a6d0b - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h7e85cbdbda26fdb7
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1985:9
[INFO] [stdout]   14:     0x64e0e25a6d0b - std::panicking::rust_panic_with_hook::h0d81afcd829aa24b
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:841:13
[INFO] [stdout]   15:     0x64e0e25a6aa6 - std::panicking::begin_panic_handler::{{closure}}::hc84a33f1202346cf
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:699:13
[INFO] [stdout]   16:     0x64e0e25a52b9 - std::sys::backtrace::__rust_end_short_backtrace::h373067a14f6c59aa
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:168:18
[INFO] [stdout]   17:     0x64e0e25a676d - __rustc[beb0385846a06d21]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:697:5
[INFO] [stdout]   18:     0x64e0e25c8a00 - core::panicking::panic_fmt::ha33fa2ae772efba9
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/panicking.rs:75:14
[INFO] [stdout]   19:     0x64e0e25c8a6c - core::panicking::panic::hd2a569f4f37f7e10
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/panicking.rs:145:5
[INFO] [stdout]   20:     0x64e0e2530dca - rusty_screbby::board::position::test::test_set_check_info::h1299e022e113ebc4
[INFO] [stdout]                                at /opt/rustwide/workdir/src/board/position.rs:1148:9
[INFO] [stdout]   21:     0x64e0e2533cc6 - rusty_screbby::board::position::test::test_set_check_info::{{closure}}::hba28a078f6fb6dba
[INFO] [stdout]                                at /opt/rustwide/workdir/src/board/position.rs:1147:29
[INFO] [stdout]   22:     0x64e0e2533cc6 - core::ops::function::FnOnce::call_once::hb8d7af699190053d
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x64e0e25739db - core::ops::function::FnOnce::call_once::hf84b9c3d864a6959
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x64e0e25739db - test::__rust_begin_short_backtrace::h5724e31441c16fcb
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:648:18
[INFO] [stdout]   25:     0x64e0e2572c1e - test::run_test_in_process::{{closure}}::hbc28c9aa91793d7d
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:671:74
[INFO] [stdout]   26:     0x64e0e2572c1e - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hc17b0e238c0f8f3e
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   27:     0x64e0e2572c1e - std::panicking::catch_unwind::do_call::hcdbce0d6dd6c83ce
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:589:40
[INFO] [stdout]   28:     0x64e0e2572c1e - std::panicking::catch_unwind::h9477967ceea044e8
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:552:19
[INFO] [stdout]   29:     0x64e0e2572c1e - std::panic::catch_unwind::h616a2e249da12e16
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x64e0e2572c1e - test::run_test_in_process::h2758deb0f2e54430
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:671:27
[INFO] [stdout]   31:     0x64e0e2572c1e - test::run_test::{{closure}}::habe5cd2564b18aaa
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:592:43
[INFO] [stdout]   32:     0x64e0e25367c4 - test::run_test::{{closure}}::h9a0a6928f1a15421
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:622:41
[INFO] [stdout]   33:     0x64e0e25367c4 - std::sys::backtrace::__rust_begin_short_backtrace::hd68b5332434a22ca
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:152:18
[INFO] [stdout]   34:     0x64e0e253a16a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h264ddcc3098eacae
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/thread/mod.rs:559:17
[INFO] [stdout]   35:     0x64e0e253a16a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9fa39489749d6f3c
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   36:     0x64e0e253a16a - std::panicking::catch_unwind::do_call::hb9a1944b9f85100f
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:589:40
[INFO] [stdout]   37:     0x64e0e253a16a - std::panicking::catch_unwind::h0c6f100786c0dad8
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:552:19
[INFO] [stdout]   38:     0x64e0e253a16a - std::panic::catch_unwind::hf6084e2723385823
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x64e0e253a16a - std::thread::Builder::spawn_unchecked_::{{closure}}::hf0af58ce658143ad
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/thread/mod.rs:557:30
[INFO] [stdout]   40:     0x64e0e253a16a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h88a14f9b2e79f9de
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x64e0e25a9c67 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf31256ba38644b65
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1971:9
[INFO] [stdout]   42:     0x64e0e25a9c67 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h100ad77f3448041b
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1971:9
[INFO] [stdout]   43:     0x64e0e25a9c67 - std::sys::pal::unix::thread::Thread::new::thread_start::h1a22ded422ce395b
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/pal/unix/thread.rs:97:17
[INFO] [stdout]   44:     0x7f0918b10aa4 - <unknown>
[INFO] [stdout]   45:     0x7f0918b9da34 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- board::position::test::test_do_move stdout ----
[INFO] [stdout] 
[INFO] [stdout]  +---+---+---+---+---+---+---+---+
[INFO] [stdout]  | r | n | b | q | k | b | n | r | 8
[INFO] [stdout]  +---+---+---+---+---+---+---+---+
[INFO] [stdout]  | p | p | p | p | p | p | p | p | 7
[INFO] [stdout]  +---+---+---+---+---+---+---+---+
[INFO] [stdout]  |   |   |   |   |   |   |   |   | 6
[INFO] [stdout]  +---+---+---+---+---+---+---+---+
[INFO] [stdout]  |   |   |   |   |   |   |   |   | 5
[INFO] [stdout]  +---+---+---+---+---+---+---+---+
[INFO] [stdout]  |   |   |   |   |   |   |   |   | 4
[INFO] [stdout]  +---+---+---+---+---+---+---+---+
[INFO] [stdout]  |   |   |   |   |   |   |   |   | 3
[INFO] [stdout]  +---+---+---+---+---+---+---+---+
[INFO] [stdout]  | P | P | P | P | P | P | P | P | 2
[INFO] [stdout]  +---+---+---+---+---+---+---+---+
[INFO] [stdout]  | R | N | B | Q | K | B | N | R | 1
[INFO] [stdout]  +---+---+---+---+---+---+---+---+
[INFO] [stdout]    a   b   c   d   e   f   g   h
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] thread 'board::position::test::test_do_move' panicked at src/board/position.rs:166:40:
[INFO] [stdout] index out of bounds: the len is 0 but the index is 0
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x64e0e25a4dc2 - std::backtrace_rs::backtrace::libunwind::trace::h73a647620bf1c49d
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x64e0e25a4dc2 - std::backtrace_rs::backtrace::trace_unsynchronized::hd4d513ed96cb3cb1
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x64e0e25a4dc2 - std::sys::backtrace::_print_fmt::h61bb95f7476aafa5
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x64e0e25a4dc2 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::ha2e7e3a01df69042
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x64e0e25c9ee3 - core::fmt::rt::Argument::fmt::hf14163372f0f9a76
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x64e0e25c9ee3 - core::fmt::write::h7cb8f63788cd01d2
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/fmt/mod.rs:1465:25
[INFO] [stdout]    6:     0x64e0e25a1d53 - std::io::default_write_fmt::h9ed739ccee8a150c
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x64e0e25a1d53 - std::io::Write::write_fmt::h1c0a32da913b32f1
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x64e0e25a4c12 - std::sys::backtrace::BacktraceLock::print::h3ec4d7883eb25e61
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x64e0e25a632c - std::panicking::default_hook::{{closure}}::h29548987efd832cb
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:300:27
[INFO] [stdout]   10:     0x64e0e25a6182 - std::panicking::default_hook::ha25170a15c643514
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:324:9
[INFO] [stdout]   11:     0x64e0e256e2a4 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h562adeecbf43c420
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1985:9
[INFO] [stdout]   12:     0x64e0e256e2a4 - test::test_main_with_exit_callback::{{closure}}::h97dd2a879d27e0e4
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x64e0e25a6d0b - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h7e85cbdbda26fdb7
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1985:9
[INFO] [stdout]   14:     0x64e0e25a6d0b - std::panicking::rust_panic_with_hook::h0d81afcd829aa24b
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:841:13
[INFO] [stdout]   15:     0x64e0e25a6ada - std::panicking::begin_panic_handler::{{closure}}::hc84a33f1202346cf
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:706:13
[INFO] [stdout]   16:     0x64e0e25a52b9 - std::sys::backtrace::__rust_end_short_backtrace::h373067a14f6c59aa
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:168:18
[INFO] [stdout]   17:     0x64e0e25a676d - __rustc[beb0385846a06d21]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:697:5
[INFO] [stdout]   18:     0x64e0e25c8a00 - core::panicking::panic_fmt::ha33fa2ae772efba9
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/panicking.rs:75:14
[INFO] [stdout]   19:     0x64e0e25c8bc2 - core::panicking::panic_bounds_check::hae8b7dcf0e85b3a1
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/panicking.rs:280:5
[INFO] [stdout]   20:     0x64e0e252d202 - <usize as core::slice::index::SliceIndex<[T]>>::index::h11a638f78bac9d8d
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/slice/index.rs:269:10
[INFO] [stdout]   21:     0x64e0e252d202 - core::slice::index::<impl core::ops::index::Index<I> for [T]>::index::h69f8d982af221682
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/slice/index.rs:17:15
[INFO] [stdout]   22:     0x64e0e252d202 - <alloc::vec::Vec<T,A> as core::ops::index::Index<I>>::index::hea842bdbac155854
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/vec/mod.rs:3463:9
[INFO] [stdout]   23:     0x64e0e252d202 - rusty_screbby::board::position::Position::st::h7e3df8a4a79ae997
[INFO] [stdout]                                at /opt/rustwide/workdir/src/board/position.rs:166:40
[INFO] [stdout]   24:     0x64e0e252d202 - rusty_screbby::board::position::Position::do_move::hb927744420543aad
[INFO] [stdout]                                at /opt/rustwide/workdir/src/board/position.rs:471:46
[INFO] [stdout]   25:     0x64e0e253049f - rusty_screbby::board::position::test::test_normal_move_do_undo::h8cd33cbb040e6ea6
[INFO] [stdout]                                at /opt/rustwide/workdir/src/board/position.rs:1062:18
[INFO] [stdout]   26:     0x64e0e253049f - rusty_screbby::board::position::test::test_do_move::ha13a085a7fb08687
[INFO] [stdout]                                at /opt/rustwide/workdir/src/board/position.rs:1019:9
[INFO] [stdout]   27:     0x64e0e2534c09 - rusty_screbby::board::position::test::test_do_move::{{closure}}::hf7179157a8e80f71
[INFO] [stdout]                                at /opt/rustwide/workdir/src/board/position.rs:974:22
[INFO] [stdout]   28:     0x64e0e2534c09 - core::ops::function::FnOnce::call_once::hddf5184994506ecc
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   29:     0x64e0e25739db - core::ops::function::FnOnce::call_once::hf84b9c3d864a6959
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   30:     0x64e0e25739db - test::__rust_begin_short_backtrace::h5724e31441c16fcb
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:648:18
[INFO] [stdout]   31:     0x64e0e2572c1e - test::run_test_in_process::{{closure}}::hbc28c9aa91793d7d
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:671:74
[INFO] [stdout]   32:     0x64e0e2572c1e - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hc17b0e238c0f8f3e
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   33:     0x64e0e2572c1e - std::panicking::catch_unwind::do_call::hcdbce0d6dd6c83ce
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:589:40
[INFO] [stdout]   34:     0x64e0e2572c1e - std::panicking::catch_unwind::h9477967ceea044e8
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:552:19
[INFO] [stdout]   35:     0x64e0e2572c1e - std::panic::catch_unwind::h616a2e249da12e16
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panic.rs:359:14
[INFO] [stdout]   36:     0x64e0e2572c1e - test::run_test_in_process::h2758deb0f2e54430
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:671:27
[INFO] [stdout]   37:     0x64e0e2572c1e - test::run_test::{{closure}}::habe5cd2564b18aaa
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:592:43
[INFO] [stdout]   38:     0x64e0e25367c4 - test::run_test::{{closure}}::h9a0a6928f1a15421
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/test/src/lib.rs:622:41
[INFO] [stdout]   39:     0x64e0e25367c4 - std::sys::backtrace::__rust_begin_short_backtrace::hd68b5332434a22ca
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/backtrace.rs:152:18
[INFO] [stdout]   40:     0x64e0e253a16a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h264ddcc3098eacae
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/thread/mod.rs:559:17
[INFO] [stdout]   41:     0x64e0e253a16a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9fa39489749d6f3c
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   42:     0x64e0e253a16a - std::panicking::catch_unwind::do_call::hb9a1944b9f85100f
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:589:40
[INFO] [stdout]   43:     0x64e0e253a16a - std::panicking::catch_unwind::h0c6f100786c0dad8
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panicking.rs:552:19
[INFO] [stdout]   44:     0x64e0e253a16a - std::panic::catch_unwind::hf6084e2723385823
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/panic.rs:359:14
[INFO] [stdout]   45:     0x64e0e253a16a - std::thread::Builder::spawn_unchecked_::{{closure}}::hf0af58ce658143ad
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/thread/mod.rs:557:30
[INFO] [stdout]   46:     0x64e0e253a16a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h88a14f9b2e79f9de
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   47:     0x64e0e25a9c67 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf31256ba38644b65
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1971:9
[INFO] [stdout]   48:     0x64e0e25a9c67 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h100ad77f3448041b
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/alloc/src/boxed.rs:1971:9
[INFO] [stdout]   49:     0x64e0e25a9c67 - std::sys::pal::unix::thread::Thread::new::thread_start::h1a22ded422ce395b
[INFO] [stdout]                                at /rustc/733b47ea4b1b86216f14ef56e49440c33933f230/library/std/src/sys/pal/unix/thread.rs:97:17
[INFO] [stdout]   50:     0x7f0918b10aa4 - <unknown>
[INFO] [stdout]   51:     0x7f0918b9da34 - clone
[INFO] [stdout]   52:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     board::position::test::test_do_move
[INFO] [stdout]     board::position::test::test_set_check_info
[INFO] [stdout]     types::tests::test_move_type
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 59 passed; 3 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.18s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin rusty_screbby`
[INFO] running `Command { std: "docker" "inspect" "9a3f1f52a8649ffe3eca5d48446dceb2b9ee967e9d68a0e0d44753a420115d7e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9a3f1f52a8649ffe3eca5d48446dceb2b9ee967e9d68a0e0d44753a420115d7e", kill_on_drop: false }`
[INFO] [stdout] 9a3f1f52a8649ffe3eca5d48446dceb2b9ee967e9d68a0e0d44753a420115d7e
