[INFO] cloning repository https://github.com/fangs124/chessbb
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/fangs124/chessbb" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffangs124%2Fchessbb", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffangs124%2Fchessbb'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ed8049510ec32fa3ac2ba9fbc5a330859659ce0c
[INFO] testing fangs124/chessbb against beta-2025-09-21 for beta-1.91-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffangs124%2Fchessbb" "/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/fangs124/chessbb
[INFO] finished tweaking git repo https://github.com/fangs124/chessbb
[INFO] tweaked toml for git repo https://github.com/fangs124/chessbb written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/fangs124/chessbb on toolchain beta-2025-09-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/fangs124/chessbb 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" "+beta-2025-09-21" "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" "+beta-2025-09-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] bd38d055b20bc5cbf5ac57557fd237fdd75d9867af9a191b40fdb7b13c1bb45d
[INFO] running `Command { std: "docker" "start" "-a" "bd38d055b20bc5cbf5ac57557fd237fdd75d9867af9a191b40fdb7b13c1bb45d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bd38d055b20bc5cbf5ac57557fd237fdd75d9867af9a191b40fdb7b13c1bb45d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bd38d055b20bc5cbf5ac57557fd237fdd75d9867af9a191b40fdb7b13c1bb45d", kill_on_drop: false }`
[INFO] [stdout] bd38d055b20bc5cbf5ac57557fd237fdd75d9867af9a191b40fdb7b13c1bb45d
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2025-09-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8da6d5929302a6760aeba32a5524a77391351aff4dca803483b845fa110e2817
[INFO] running `Command { std: "docker" "start" "-a" "8da6d5929302a6760aeba32a5524a77391351aff4dca803483b845fa110e2817", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling bytemuck_derive v1.10.1
[INFO] [stderr]    Compiling bytemuck v1.23.2
[INFO] [stderr]    Compiling atomic v0.6.1
[INFO] [stderr]    Compiling chessbb v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::ops::BitAnd`
[INFO] [stdout]  --> src/movegen.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::BitAnd;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ops::Neg`
[INFO] [stdout]  --> src/search.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     ops::Neg,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TranspositionTable`
[INFO] [stdout]  --> src/search.rs:9:112
[INFO] [stdout]   |
[INFO] [stdout] 9 |     ChessBoard, ChessBoardSnapshot, ChessMove, GameResult, GameState, NodeType, PieceType, PositionData, Side, TranspositionTable,
[INFO] [stdout]   |                                                                                                                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rc::Rc`
[INFO] [stdout]  --> src/transposition.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     rc::Rc,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/lib.rs:546:39
[INFO] [stdout]     |
[INFO] [stdout] 546 |                     check_bitboard |= (chessboard.piece_bbs[07] & get_queen_attack(king_pos, blockers));
[INFO] [stdout]     |                                       ^                                                               ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 546 -                     check_bitboard |= (chessboard.piece_bbs[07] & get_queen_attack(king_pos, blockers));
[INFO] [stdout] 546 +                     check_bitboard |= chessboard.piece_bbs[07] & get_queen_attack(king_pos, blockers);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/lib.rs:548:39
[INFO] [stdout]     |
[INFO] [stdout] 548 |                     check_bitboard |= (chessboard.piece_bbs[08] & get_knight_attack(king_pos));
[INFO] [stdout]     |                                       ^                                                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 548 -                     check_bitboard |= (chessboard.piece_bbs[08] & get_knight_attack(king_pos));
[INFO] [stdout] 548 +                     check_bitboard |= chessboard.piece_bbs[08] & get_knight_attack(king_pos);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/lib.rs:550:39
[INFO] [stdout]     |
[INFO] [stdout] 550 |                     check_bitboard |= (chessboard.piece_bbs[09] & get_bishop_attack(king_pos, blockers));
[INFO] [stdout]     |                                       ^                                                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 550 -                     check_bitboard |= (chessboard.piece_bbs[09] & get_bishop_attack(king_pos, blockers));
[INFO] [stdout] 550 +                     check_bitboard |= chessboard.piece_bbs[09] & get_bishop_attack(king_pos, blockers);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/lib.rs:552:39
[INFO] [stdout]     |
[INFO] [stdout] 552 |                     check_bitboard |= (chessboard.piece_bbs[10] & get_rook_attack(king_pos, blockers));
[INFO] [stdout]     |                                       ^                                                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 552 -                     check_bitboard |= (chessboard.piece_bbs[10] & get_rook_attack(king_pos, blockers));
[INFO] [stdout] 552 +                     check_bitboard |= chessboard.piece_bbs[10] & get_rook_attack(king_pos, blockers);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/lib.rs:554:39
[INFO] [stdout]     |
[INFO] [stdout] 554 |                     check_bitboard |= (chessboard.piece_bbs[11] & get_w_pawn_attack(king_pos));
[INFO] [stdout]     |                                       ^                                                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 554 -                     check_bitboard |= (chessboard.piece_bbs[11] & get_w_pawn_attack(king_pos));
[INFO] [stdout] 554 +                     check_bitboard |= chessboard.piece_bbs[11] & get_w_pawn_attack(king_pos);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/lib.rs:563:39
[INFO] [stdout]     |
[INFO] [stdout] 563 |                     check_bitboard |= (chessboard.piece_bbs[01] & get_queen_attack(king_pos, blockers));
[INFO] [stdout]     |                                       ^                                                               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 563 -                     check_bitboard |= (chessboard.piece_bbs[01] & get_queen_attack(king_pos, blockers));
[INFO] [stdout] 563 +                     check_bitboard |= chessboard.piece_bbs[01] & get_queen_attack(king_pos, blockers);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/lib.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |                     check_bitboard |= (chessboard.piece_bbs[02] & get_knight_attack(king_pos));
[INFO] [stdout]     |                                       ^                                                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 565 -                     check_bitboard |= (chessboard.piece_bbs[02] & get_knight_attack(king_pos));
[INFO] [stdout] 565 +                     check_bitboard |= chessboard.piece_bbs[02] & get_knight_attack(king_pos);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/lib.rs:567:39
[INFO] [stdout]     |
[INFO] [stdout] 567 |                     check_bitboard |= (chessboard.piece_bbs[03] & get_bishop_attack(king_pos, blockers));
[INFO] [stdout]     |                                       ^                                                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 567 -                     check_bitboard |= (chessboard.piece_bbs[03] & get_bishop_attack(king_pos, blockers));
[INFO] [stdout] 567 +                     check_bitboard |= chessboard.piece_bbs[03] & get_bishop_attack(king_pos, blockers);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/lib.rs:569:39
[INFO] [stdout]     |
[INFO] [stdout] 569 |                     check_bitboard |= (chessboard.piece_bbs[04] & get_rook_attack(king_pos, blockers));
[INFO] [stdout]     |                                       ^                                                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 569 -                     check_bitboard |= (chessboard.piece_bbs[04] & get_rook_attack(king_pos, blockers));
[INFO] [stdout] 569 +                     check_bitboard |= chessboard.piece_bbs[04] & get_rook_attack(king_pos, blockers);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/lib.rs:571:39
[INFO] [stdout]     |
[INFO] [stdout] 571 |                     check_bitboard |= (chessboard.piece_bbs[05] & get_b_pawn_attack(king_pos));
[INFO] [stdout]     |                                       ^                                                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 571 -                     check_bitboard |= (chessboard.piece_bbs[05] & get_b_pawn_attack(king_pos));
[INFO] [stdout] 571 +                     check_bitboard |= chessboard.piece_bbs[05] & get_b_pawn_attack(king_pos);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enemy_king_index`
[INFO] [stdout]    --> src/movegen.rs:148:13
[INFO] [stdout]     |
[INFO] [stdout] 148 |         let enemy_king_index: usize = match self.side() {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 148 |         let _enemy_king_index: usize = match self.side() {
[INFO] [stdout]     |             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `DEFAULT_SIZE`
[INFO] [stdout]     |
[INFO] [stdout] 148 -         let enemy_king_index: usize = match self.side() {
[INFO] [stdout] 148 +         let transposition::DEFAULT_SIZE: usize = match self.side() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source_bb`
[INFO] [stdout]    --> src/movegen.rs:471:21
[INFO] [stdout]     |
[INFO] [stdout] 471 |                 let source_bb: BitBoard = sources.lsb_bitboard();
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 471 |                 let _source_bb: BitBoard = sources.lsb_bitboard();
[INFO] [stdout]     |                     +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `B_QUEEN_SIDE_CASTLE_MASK`
[INFO] [stdout]     |
[INFO] [stdout] 471 -                 let source_bb: BitBoard = sources.lsb_bitboard();
[INFO] [stdout] 471 +                 let bitboard::B_QUEEN_SIDE_CASTLE_MASK: BitBoard = sources.lsb_bitboard();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tt_chess_move`
[INFO] [stdout]    --> src/search.rs:157:17
[INFO] [stdout]     |
[INFO] [stdout] 157 |         let mut tt_chess_move: Option<ChessMove> = None;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tt_chess_move`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/search.rs:154:13
[INFO] [stdout]     |
[INFO] [stdout] 154 |         let mut moves = moves.unwrap_or_else(|| self.core.generate_moves(None));
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/search.rs:157:13
[INFO] [stdout]     |
[INFO] [stdout] 157 |         let mut tt_chess_move: Option<ChessMove> = None;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `piece_type`
[INFO] [stdout]    --> src/lib.rs:423:56
[INFO] [stdout]     |
[INFO] [stdout] 423 |         matches!(self.mailbox[square.to_usize()], Some(piece_type))
[INFO] [stdout]     |                                                        ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_piece_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `piece_type`
[INFO] [stdout]    --> src/lib.rs:422:36
[INFO] [stdout]     |
[INFO] [stdout] 422 |     pub const fn is_present(&self, piece_type: ChessPiece, square: Square) -> bool {
[INFO] [stdout]     |                                    ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_piece_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `chessmove::MoveType` is more private than the item `chessmove::ChessMove::new`
[INFO] [stdout]    --> src/chessmove/mod.rs:159:5
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub const fn new(s: Square, t: Square, m: MoveType) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `chessmove::ChessMove::new` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `chessmove::MoveType` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/chessmove/mod.rs:81:1
[INFO] [stdout]     |
[INFO] [stdout]  81 | pub(crate) enum MoveType {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `is_piece_pinned`, `count_checking_pieces`, and `INITIAL_ATTACKED_BB` are never used
[INFO] [stdout]    --> src/lib.rs:857:19
[INFO] [stdout]     |
[INFO] [stdout] 392 | impl ChessBoardCore {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 857 |     pub(crate) fn is_piece_pinned(&self, square: Square) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 863 |     pub(crate) const fn count_checking_pieces(&self) -> u32 {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 942 |     const INITIAL_ATTACKED_BB: BitBoard = BitBoard::new(0b00000000_00000000_11111111_00000000_00000000_00000000_00000000_00000000);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `ONES`, `get_bit`, `lsb_index`, and `bit_xor` are never used
[INFO] [stdout]    --> src/bitboard/mod.rs:100:22
[INFO] [stdout]     |
[INFO] [stdout]  93 | impl BitBoard {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub(crate) const ONES: BitBoard = BitBoard { data: u64::MAX };
[INFO] [stdout]     |                      ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub(crate) const fn get_bit(&self, i: usize) -> BitBoard {
[INFO] [stdout]     |                         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |     pub(crate) const fn lsb_index(&self) -> Option<usize> {
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 209 |     pub(crate) const fn bit_xor(&self, other: &BitBoard) -> BitBoard {
[INFO] [stdout]     |                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UNICODE_SYM` is never used
[INFO] [stdout]    --> src/bitboard/mod.rs:252:18
[INFO] [stdout]     |
[INFO] [stdout] 252 | pub(super) const UNICODE_SYM: [char; 12] = ['♚', '♛', '♞', '♝', '♜', '♟', '♔', '♕', '♘', '♗', '♖', '♙'];
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_same_diag` is never used
[INFO] [stdout]    --> src/bitboard/mod.rs:264:21
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub(crate) const fn is_same_diag(source: Square, target: Square) -> bool {
[INFO] [stdout]     |                     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SQUARE_SYM_REV` is never used
[INFO] [stdout]    --> src/bitboard/mod.rs:314:18
[INFO] [stdout]     |
[INFO] [stdout] 314 | pub(crate) const SQUARE_SYM_REV: [&str; 64] = [
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_CHAR` is never used
[INFO] [stdout]    --> src/bitboard/mod.rs:325:18
[INFO] [stdout]     |
[INFO] [stdout] 325 | pub(crate) const RANK_CHAR: [char; 64] = [
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_CHAR` is never used
[INFO] [stdout]    --> src/bitboard/mod.rs:336:18
[INFO] [stdout]     |
[INFO] [stdout] 336 | pub(crate) const FILE_CHAR: [char; 64] = [
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_pawn_attack` is never used
[INFO] [stdout]   --> src/bitboard/attack.rs:28:14
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub const fn get_pawn_attack(square: Square, side: Side) -> BitBoard {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `naive_bishop_attack` is never used
[INFO] [stdout]    --> src/bitboard/attack/init.rs:130:21
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub(super) const fn naive_bishop_attack(i: usize, blockers: BitBoard) -> BitBoard {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `naive_rook_attack` is never used
[INFO] [stdout]    --> src/bitboard/attack/init.rs:193:21
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub(super) const fn naive_rook_attack(i: usize, blockers: BitBoard) -> BitBoard {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_occ_bb` is never used
[INFO] [stdout]   --> src/bitboard/attack/magic.rs:77:10
[INFO] [stdout]    |
[INFO] [stdout] 77 | const fn compute_occ_bb(index: usize, mask_bitcount: usize, attack_mask: BitBoard) -> BitBoard {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bishop_attack_mbb` is never used
[INFO] [stdout]    --> src/bitboard/attack/magic.rs:167:10
[INFO] [stdout]     |
[INFO] [stdout] 167 | const fn bishop_attack_mbb() -> [[BitBoard; SIZE_BISHOP]; 64] {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rook_attack_mbb` is never used
[INFO] [stdout]    --> src/bitboard/attack/magic.rs:194:10
[INFO] [stdout]     |
[INFO] [stdout] 194 | const fn rook_attack_mbb() -> [[BitBoard; SIZE_ROOK]; 64] {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_source` and `set_target` are never used
[INFO] [stdout]    --> src/chessmove/mod.rs:140:25
[INFO] [stdout]     |
[INFO] [stdout]  94 | impl ChessMove {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub(crate) const fn set_source(&mut self, index: usize) {
[INFO] [stdout]     |                         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub(crate) const fn set_target(&mut self, index: usize) {
[INFO] [stdout]     |                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `mvv_lva_score` is never used
[INFO] [stdout]   --> src/movegen.rs:18:19
[INFO] [stdout]    |
[INFO] [stdout]  6 | impl ChessBoardCore {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub(crate) fn mvv_lva_score(&self, chess_move: &ChessMove) -> i16 {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SQUARE_SYM` is never used
[INFO] [stdout]    --> src/square/mod.rs:141:18
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub(crate) const SQUARE_SYM: [&str; 64] = [
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SQUARES_RAW` is never used
[INFO] [stdout]    --> src/square/mod.rs:152:7
[INFO] [stdout]     |
[INFO] [stdout] 152 | const SQUARES_RAW: [u8; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SQUARES_RAW_USIZE` is never used
[INFO] [stdout]    --> src/square/mod.rs:163:7
[INFO] [stdout]     |
[INFO] [stdout] 163 | const SQUARES_RAW_USIZE: [usize; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `compute_castle_hash` are never used
[INFO] [stdout]    --> src/zobrist/mod.rs:74:25
[INFO] [stdout]     |
[INFO] [stdout]  70 | impl ZobristHash {
[INFO] [stdout]     | ---------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  74 |     pub(super) const fn new(value: u64) -> ZobristHash {
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub(super) const fn compute_castle_hash(chessboard: &ChessBoardCore) -> ZobristHash {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `const_default` is never used
[INFO] [stdout]   --> src/transposition.rs:82:14
[INFO] [stdout]    |
[INFO] [stdout] 75 | impl PositionData {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 82 |     const fn const_default() -> Self {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `look_up` is never used
[INFO] [stdout]    --> src/transposition.rs:203:19
[INFO] [stdout]     |
[INFO] [stdout] 176 | impl TranspositionTable {
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 203 |     pub(crate) fn look_up(&self, hash: &ZobristHash) -> PositionData {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `const_default` are never used
[INFO] [stdout]    --> src/transposition.rs:258:8
[INFO] [stdout]     |
[INFO] [stdout] 256 | impl AtomicPositionData {
[INFO] [stdout]     | ----------------------- associated functions in this implementation
[INFO] [stdout] 257 |     #[inline(always)]
[INFO] [stdout] 258 |     fn new(key: ZobristHash, depth: u16, eval: i16, ty: NodeType, best: Option<ChessMove>) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 288 |     const fn const_default() -> Self {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::error`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use core::error;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_fen`
[INFO] [stdout]   --> src/main.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let start_fen = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1";
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_fen`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `old_main` is never used
[INFO] [stdout]   --> src/main.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn old_main() {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [optimized + debuginfo] target(s) in 20.07s
[INFO] running `Command { std: "docker" "inspect" "8da6d5929302a6760aeba32a5524a77391351aff4dca803483b845fa110e2817", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8da6d5929302a6760aeba32a5524a77391351aff4dca803483b845fa110e2817", kill_on_drop: false }`
[INFO] [stdout] 8da6d5929302a6760aeba32a5524a77391351aff4dca803483b845fa110e2817
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2025-09-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9260af9a5ff7bc2faa84758a3ac9dee79c571f8eac68abbfd1f47631c6078b85
[INFO] running `Command { std: "docker" "start" "-a" "9260af9a5ff7bc2faa84758a3ac9dee79c571f8eac68abbfd1f47631c6078b85", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `std::ops::BitAnd`
[INFO] [stdout]  --> src/movegen.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::BitAnd;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ops::Neg`
[INFO] [stdout]  --> src/search.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     ops::Neg,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TranspositionTable`
[INFO] [stdout]  --> src/search.rs:9:112
[INFO] [stdout]   |
[INFO] [stdout] 9 |     ChessBoard, ChessBoardSnapshot, ChessMove, GameResult, GameState, NodeType, PieceType, PositionData, Side, TranspositionTable,
[INFO] [stdout]   |                                                                                                                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rc::Rc`
[INFO] [stdout]  --> src/transposition.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     rc::Rc,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/lib.rs:546:39
[INFO] [stdout]     |
[INFO] [stdout] 546 |                     check_bitboard |= (chessboard.piece_bbs[07] & get_queen_attack(king_pos, blockers));
[INFO] [stdout]     |                                       ^                                                               ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 546 -                     check_bitboard |= (chessboard.piece_bbs[07] & get_queen_attack(king_pos, blockers));
[INFO] [stdout] 546 +                     check_bitboard |= chessboard.piece_bbs[07] & get_queen_attack(king_pos, blockers);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/lib.rs:548:39
[INFO] [stdout]     |
[INFO] [stdout] 548 |                     check_bitboard |= (chessboard.piece_bbs[08] & get_knight_attack(king_pos));
[INFO] [stdout]     |                                       ^                                                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 548 -                     check_bitboard |= (chessboard.piece_bbs[08] & get_knight_attack(king_pos));
[INFO] [stdout] 548 +                     check_bitboard |= chessboard.piece_bbs[08] & get_knight_attack(king_pos);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/lib.rs:550:39
[INFO] [stdout]     |
[INFO] [stdout] 550 |                     check_bitboard |= (chessboard.piece_bbs[09] & get_bishop_attack(king_pos, blockers));
[INFO] [stdout]     |                                       ^                                                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 550 -                     check_bitboard |= (chessboard.piece_bbs[09] & get_bishop_attack(king_pos, blockers));
[INFO] [stdout] 550 +                     check_bitboard |= chessboard.piece_bbs[09] & get_bishop_attack(king_pos, blockers);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/lib.rs:552:39
[INFO] [stdout]     |
[INFO] [stdout] 552 |                     check_bitboard |= (chessboard.piece_bbs[10] & get_rook_attack(king_pos, blockers));
[INFO] [stdout]     |                                       ^                                                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 552 -                     check_bitboard |= (chessboard.piece_bbs[10] & get_rook_attack(king_pos, blockers));
[INFO] [stdout] 552 +                     check_bitboard |= chessboard.piece_bbs[10] & get_rook_attack(king_pos, blockers);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/lib.rs:554:39
[INFO] [stdout]     |
[INFO] [stdout] 554 |                     check_bitboard |= (chessboard.piece_bbs[11] & get_w_pawn_attack(king_pos));
[INFO] [stdout]     |                                       ^                                                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 554 -                     check_bitboard |= (chessboard.piece_bbs[11] & get_w_pawn_attack(king_pos));
[INFO] [stdout] 554 +                     check_bitboard |= chessboard.piece_bbs[11] & get_w_pawn_attack(king_pos);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/lib.rs:563:39
[INFO] [stdout]     |
[INFO] [stdout] 563 |                     check_bitboard |= (chessboard.piece_bbs[01] & get_queen_attack(king_pos, blockers));
[INFO] [stdout]     |                                       ^                                                               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 563 -                     check_bitboard |= (chessboard.piece_bbs[01] & get_queen_attack(king_pos, blockers));
[INFO] [stdout] 563 +                     check_bitboard |= chessboard.piece_bbs[01] & get_queen_attack(king_pos, blockers);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/lib.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |                     check_bitboard |= (chessboard.piece_bbs[02] & get_knight_attack(king_pos));
[INFO] [stdout]     |                                       ^                                                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 565 -                     check_bitboard |= (chessboard.piece_bbs[02] & get_knight_attack(king_pos));
[INFO] [stdout] 565 +                     check_bitboard |= chessboard.piece_bbs[02] & get_knight_attack(king_pos);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/lib.rs:567:39
[INFO] [stdout]     |
[INFO] [stdout] 567 |                     check_bitboard |= (chessboard.piece_bbs[03] & get_bishop_attack(king_pos, blockers));
[INFO] [stdout]     |                                       ^                                                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 567 -                     check_bitboard |= (chessboard.piece_bbs[03] & get_bishop_attack(king_pos, blockers));
[INFO] [stdout] 567 +                     check_bitboard |= chessboard.piece_bbs[03] & get_bishop_attack(king_pos, blockers);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/lib.rs:569:39
[INFO] [stdout]     |
[INFO] [stdout] 569 |                     check_bitboard |= (chessboard.piece_bbs[04] & get_rook_attack(king_pos, blockers));
[INFO] [stdout]     |                                       ^                                                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 569 -                     check_bitboard |= (chessboard.piece_bbs[04] & get_rook_attack(king_pos, blockers));
[INFO] [stdout] 569 +                     check_bitboard |= chessboard.piece_bbs[04] & get_rook_attack(king_pos, blockers);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/lib.rs:571:39
[INFO] [stdout]     |
[INFO] [stdout] 571 |                     check_bitboard |= (chessboard.piece_bbs[05] & get_b_pawn_attack(king_pos));
[INFO] [stdout]     |                                       ^                                                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 571 -                     check_bitboard |= (chessboard.piece_bbs[05] & get_b_pawn_attack(king_pos));
[INFO] [stdout] 571 +                     check_bitboard |= chessboard.piece_bbs[05] & get_b_pawn_attack(king_pos);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enemy_king_index`
[INFO] [stdout]    --> src/movegen.rs:148:13
[INFO] [stdout]     |
[INFO] [stdout] 148 |         let enemy_king_index: usize = match self.side() {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 148 |         let _enemy_king_index: usize = match self.side() {
[INFO] [stdout]     |             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `DEFAULT_SIZE`
[INFO] [stdout]     |
[INFO] [stdout] 148 -         let enemy_king_index: usize = match self.side() {
[INFO] [stdout] 148 +         let transposition::DEFAULT_SIZE: usize = match self.side() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source_bb`
[INFO] [stdout]    --> src/movegen.rs:471:21
[INFO] [stdout]     |
[INFO] [stdout] 471 |                 let source_bb: BitBoard = sources.lsb_bitboard();
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 471 |                 let _source_bb: BitBoard = sources.lsb_bitboard();
[INFO] [stdout]     |                     +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `B_QUEEN_SIDE_CASTLE_MASK`
[INFO] [stdout]     |
[INFO] [stdout] 471 -                 let source_bb: BitBoard = sources.lsb_bitboard();
[INFO] [stdout] 471 +                 let bitboard::B_QUEEN_SIDE_CASTLE_MASK: BitBoard = sources.lsb_bitboard();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tt_chess_move`
[INFO] [stdout]    --> src/search.rs:157:17
[INFO] [stdout]     |
[INFO] [stdout] 157 |         let mut tt_chess_move: Option<ChessMove> = None;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tt_chess_move`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/search.rs:154:13
[INFO] [stdout]     |
[INFO] [stdout] 154 |         let mut moves = moves.unwrap_or_else(|| self.core.generate_moves(None));
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/search.rs:157:13
[INFO] [stdout]     |
[INFO] [stdout] 157 |         let mut tt_chess_move: Option<ChessMove> = None;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `piece_type`
[INFO] [stdout]    --> src/lib.rs:423:56
[INFO] [stdout]     |
[INFO] [stdout] 423 |         matches!(self.mailbox[square.to_usize()], Some(piece_type))
[INFO] [stdout]     |                                                        ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_piece_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `piece_type`
[INFO] [stdout]    --> src/lib.rs:422:36
[INFO] [stdout]     |
[INFO] [stdout] 422 |     pub const fn is_present(&self, piece_type: ChessPiece, square: Square) -> bool {
[INFO] [stdout]     |                                    ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_piece_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling chessbb v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: type `chessmove::MoveType` is more private than the item `chessmove::ChessMove::new`
[INFO] [stdout]    --> src/chessmove/mod.rs:159:5
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub const fn new(s: Square, t: Square, m: MoveType) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `chessmove::ChessMove::new` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `chessmove::MoveType` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/chessmove/mod.rs:81:1
[INFO] [stdout]     |
[INFO] [stdout]  81 | pub(crate) enum MoveType {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `is_piece_pinned`, `count_checking_pieces`, and `INITIAL_ATTACKED_BB` are never used
[INFO] [stdout]    --> src/lib.rs:857:19
[INFO] [stdout]     |
[INFO] [stdout] 392 | impl ChessBoardCore {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 857 |     pub(crate) fn is_piece_pinned(&self, square: Square) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 863 |     pub(crate) const fn count_checking_pieces(&self) -> u32 {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 942 |     const INITIAL_ATTACKED_BB: BitBoard = BitBoard::new(0b00000000_00000000_11111111_00000000_00000000_00000000_00000000_00000000);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `ONES`, `get_bit`, `lsb_index`, and `bit_xor` are never used
[INFO] [stdout]    --> src/bitboard/mod.rs:100:22
[INFO] [stdout]     |
[INFO] [stdout]  93 | impl BitBoard {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub(crate) const ONES: BitBoard = BitBoard { data: u64::MAX };
[INFO] [stdout]     |                      ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub(crate) const fn get_bit(&self, i: usize) -> BitBoard {
[INFO] [stdout]     |                         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |     pub(crate) const fn lsb_index(&self) -> Option<usize> {
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 209 |     pub(crate) const fn bit_xor(&self, other: &BitBoard) -> BitBoard {
[INFO] [stdout]     |                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UNICODE_SYM` is never used
[INFO] [stdout]    --> src/bitboard/mod.rs:252:18
[INFO] [stdout]     |
[INFO] [stdout] 252 | pub(super) const UNICODE_SYM: [char; 12] = ['♚', '♛', '♞', '♝', '♜', '♟', '♔', '♕', '♘', '♗', '♖', '♙'];
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_same_diag` is never used
[INFO] [stdout]    --> src/bitboard/mod.rs:264:21
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub(crate) const fn is_same_diag(source: Square, target: Square) -> bool {
[INFO] [stdout]     |                     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SQUARE_SYM_REV` is never used
[INFO] [stdout]    --> src/bitboard/mod.rs:314:18
[INFO] [stdout]     |
[INFO] [stdout] 314 | pub(crate) const SQUARE_SYM_REV: [&str; 64] = [
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_CHAR` is never used
[INFO] [stdout]    --> src/bitboard/mod.rs:325:18
[INFO] [stdout]     |
[INFO] [stdout] 325 | pub(crate) const RANK_CHAR: [char; 64] = [
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_CHAR` is never used
[INFO] [stdout]    --> src/bitboard/mod.rs:336:18
[INFO] [stdout]     |
[INFO] [stdout] 336 | pub(crate) const FILE_CHAR: [char; 64] = [
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_pawn_attack` is never used
[INFO] [stdout]   --> src/bitboard/attack.rs:28:14
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub const fn get_pawn_attack(square: Square, side: Side) -> BitBoard {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `naive_bishop_attack` is never used
[INFO] [stdout]    --> src/bitboard/attack/init.rs:130:21
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub(super) const fn naive_bishop_attack(i: usize, blockers: BitBoard) -> BitBoard {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `naive_rook_attack` is never used
[INFO] [stdout]    --> src/bitboard/attack/init.rs:193:21
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub(super) const fn naive_rook_attack(i: usize, blockers: BitBoard) -> BitBoard {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_occ_bb` is never used
[INFO] [stdout]   --> src/bitboard/attack/magic.rs:77:10
[INFO] [stdout]    |
[INFO] [stdout] 77 | const fn compute_occ_bb(index: usize, mask_bitcount: usize, attack_mask: BitBoard) -> BitBoard {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bishop_attack_mbb` is never used
[INFO] [stdout]    --> src/bitboard/attack/magic.rs:167:10
[INFO] [stdout]     |
[INFO] [stdout] 167 | const fn bishop_attack_mbb() -> [[BitBoard; SIZE_BISHOP]; 64] {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rook_attack_mbb` is never used
[INFO] [stdout]    --> src/bitboard/attack/magic.rs:194:10
[INFO] [stdout]     |
[INFO] [stdout] 194 | const fn rook_attack_mbb() -> [[BitBoard; SIZE_ROOK]; 64] {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_source` and `set_target` are never used
[INFO] [stdout]    --> src/chessmove/mod.rs:140:25
[INFO] [stdout]     |
[INFO] [stdout]  94 | impl ChessMove {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub(crate) const fn set_source(&mut self, index: usize) {
[INFO] [stdout]     |                         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub(crate) const fn set_target(&mut self, index: usize) {
[INFO] [stdout]     |                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `mvv_lva_score` is never used
[INFO] [stdout]   --> src/movegen.rs:18:19
[INFO] [stdout]    |
[INFO] [stdout]  6 | impl ChessBoardCore {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub(crate) fn mvv_lva_score(&self, chess_move: &ChessMove) -> i16 {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SQUARE_SYM` is never used
[INFO] [stdout]    --> src/square/mod.rs:141:18
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub(crate) const SQUARE_SYM: [&str; 64] = [
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SQUARES_RAW` is never used
[INFO] [stdout]    --> src/square/mod.rs:152:7
[INFO] [stdout]     |
[INFO] [stdout] 152 | const SQUARES_RAW: [u8; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SQUARES_RAW_USIZE` is never used
[INFO] [stdout]    --> src/square/mod.rs:163:7
[INFO] [stdout]     |
[INFO] [stdout] 163 | const SQUARES_RAW_USIZE: [usize; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `compute_castle_hash` are never used
[INFO] [stdout]    --> src/zobrist/mod.rs:74:25
[INFO] [stdout]     |
[INFO] [stdout]  70 | impl ZobristHash {
[INFO] [stdout]     | ---------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  74 |     pub(super) const fn new(value: u64) -> ZobristHash {
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub(super) const fn compute_castle_hash(chessboard: &ChessBoardCore) -> ZobristHash {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `const_default` is never used
[INFO] [stdout]   --> src/transposition.rs:82:14
[INFO] [stdout]    |
[INFO] [stdout] 75 | impl PositionData {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 82 |     const fn const_default() -> Self {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `look_up` is never used
[INFO] [stdout]    --> src/transposition.rs:203:19
[INFO] [stdout]     |
[INFO] [stdout] 176 | impl TranspositionTable {
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 203 |     pub(crate) fn look_up(&self, hash: &ZobristHash) -> PositionData {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `const_default` are never used
[INFO] [stdout]    --> src/transposition.rs:258:8
[INFO] [stdout]     |
[INFO] [stdout] 256 | impl AtomicPositionData {
[INFO] [stdout]     | ----------------------- associated functions in this implementation
[INFO] [stdout] 257 |     #[inline(always)]
[INFO] [stdout] 258 |     fn new(key: ZobristHash, depth: u16, eval: i16, ty: NodeType, best: Option<ChessMove>) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 288 |     const fn const_default() -> Self {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::error`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use core::error;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_fen`
[INFO] [stdout]   --> src/main.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let start_fen = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1";
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_fen`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `perft_result`
[INFO] [stdout]    --> src/main.rs:285:21
[INFO] [stdout]     |
[INFO] [stdout] 285 |             let mut perft_result: Vec<(usize, usize)> = Vec::new();
[INFO] [stdout]     |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_perft_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:285:17
[INFO] [stdout]     |
[INFO] [stdout] 285 |             let mut perft_result: Vec<(usize, usize)> = Vec::new();
[INFO] [stdout]     |                 ----^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `old_main` is never used
[INFO] [stdout]   --> src/main.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn old_main() {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::BitAnd`
[INFO] [stdout]  --> src/movegen.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::BitAnd;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ops::Neg`
[INFO] [stdout]  --> src/search.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     ops::Neg,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TranspositionTable`
[INFO] [stdout]  --> src/search.rs:9:112
[INFO] [stdout]   |
[INFO] [stdout] 9 |     ChessBoard, ChessBoardSnapshot, ChessMove, GameResult, GameState, NodeType, PieceType, PositionData, Side, TranspositionTable,
[INFO] [stdout]   |                                                                                                                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rc::Rc`
[INFO] [stdout]  --> src/transposition.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 |     rc::Rc,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/lib.rs:546:39
[INFO] [stdout]     |
[INFO] [stdout] 546 |                     check_bitboard |= (chessboard.piece_bbs[07] & get_queen_attack(king_pos, blockers));
[INFO] [stdout]     |                                       ^                                                               ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 546 -                     check_bitboard |= (chessboard.piece_bbs[07] & get_queen_attack(king_pos, blockers));
[INFO] [stdout] 546 +                     check_bitboard |= chessboard.piece_bbs[07] & get_queen_attack(king_pos, blockers);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/lib.rs:548:39
[INFO] [stdout]     |
[INFO] [stdout] 548 |                     check_bitboard |= (chessboard.piece_bbs[08] & get_knight_attack(king_pos));
[INFO] [stdout]     |                                       ^                                                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 548 -                     check_bitboard |= (chessboard.piece_bbs[08] & get_knight_attack(king_pos));
[INFO] [stdout] 548 +                     check_bitboard |= chessboard.piece_bbs[08] & get_knight_attack(king_pos);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/lib.rs:550:39
[INFO] [stdout]     |
[INFO] [stdout] 550 |                     check_bitboard |= (chessboard.piece_bbs[09] & get_bishop_attack(king_pos, blockers));
[INFO] [stdout]     |                                       ^                                                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 550 -                     check_bitboard |= (chessboard.piece_bbs[09] & get_bishop_attack(king_pos, blockers));
[INFO] [stdout] 550 +                     check_bitboard |= chessboard.piece_bbs[09] & get_bishop_attack(king_pos, blockers);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/lib.rs:552:39
[INFO] [stdout]     |
[INFO] [stdout] 552 |                     check_bitboard |= (chessboard.piece_bbs[10] & get_rook_attack(king_pos, blockers));
[INFO] [stdout]     |                                       ^                                                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 552 -                     check_bitboard |= (chessboard.piece_bbs[10] & get_rook_attack(king_pos, blockers));
[INFO] [stdout] 552 +                     check_bitboard |= chessboard.piece_bbs[10] & get_rook_attack(king_pos, blockers);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/lib.rs:554:39
[INFO] [stdout]     |
[INFO] [stdout] 554 |                     check_bitboard |= (chessboard.piece_bbs[11] & get_w_pawn_attack(king_pos));
[INFO] [stdout]     |                                       ^                                                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 554 -                     check_bitboard |= (chessboard.piece_bbs[11] & get_w_pawn_attack(king_pos));
[INFO] [stdout] 554 +                     check_bitboard |= chessboard.piece_bbs[11] & get_w_pawn_attack(king_pos);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/lib.rs:563:39
[INFO] [stdout]     |
[INFO] [stdout] 563 |                     check_bitboard |= (chessboard.piece_bbs[01] & get_queen_attack(king_pos, blockers));
[INFO] [stdout]     |                                       ^                                                               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 563 -                     check_bitboard |= (chessboard.piece_bbs[01] & get_queen_attack(king_pos, blockers));
[INFO] [stdout] 563 +                     check_bitboard |= chessboard.piece_bbs[01] & get_queen_attack(king_pos, blockers);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/lib.rs:565:39
[INFO] [stdout]     |
[INFO] [stdout] 565 |                     check_bitboard |= (chessboard.piece_bbs[02] & get_knight_attack(king_pos));
[INFO] [stdout]     |                                       ^                                                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 565 -                     check_bitboard |= (chessboard.piece_bbs[02] & get_knight_attack(king_pos));
[INFO] [stdout] 565 +                     check_bitboard |= chessboard.piece_bbs[02] & get_knight_attack(king_pos);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/lib.rs:567:39
[INFO] [stdout]     |
[INFO] [stdout] 567 |                     check_bitboard |= (chessboard.piece_bbs[03] & get_bishop_attack(king_pos, blockers));
[INFO] [stdout]     |                                       ^                                                                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 567 -                     check_bitboard |= (chessboard.piece_bbs[03] & get_bishop_attack(king_pos, blockers));
[INFO] [stdout] 567 +                     check_bitboard |= chessboard.piece_bbs[03] & get_bishop_attack(king_pos, blockers);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/lib.rs:569:39
[INFO] [stdout]     |
[INFO] [stdout] 569 |                     check_bitboard |= (chessboard.piece_bbs[04] & get_rook_attack(king_pos, blockers));
[INFO] [stdout]     |                                       ^                                                              ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 569 -                     check_bitboard |= (chessboard.piece_bbs[04] & get_rook_attack(king_pos, blockers));
[INFO] [stdout] 569 +                     check_bitboard |= chessboard.piece_bbs[04] & get_rook_attack(king_pos, blockers);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/lib.rs:571:39
[INFO] [stdout]     |
[INFO] [stdout] 571 |                     check_bitboard |= (chessboard.piece_bbs[05] & get_b_pawn_attack(king_pos));
[INFO] [stdout]     |                                       ^                                                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 571 -                     check_bitboard |= (chessboard.piece_bbs[05] & get_b_pawn_attack(king_pos));
[INFO] [stdout] 571 +                     check_bitboard |= chessboard.piece_bbs[05] & get_b_pawn_attack(king_pos);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enemy_king_index`
[INFO] [stdout]    --> src/movegen.rs:148:13
[INFO] [stdout]     |
[INFO] [stdout] 148 |         let enemy_king_index: usize = match self.side() {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 148 |         let _enemy_king_index: usize = match self.side() {
[INFO] [stdout]     |             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `DEFAULT_SIZE`
[INFO] [stdout]     |
[INFO] [stdout] 148 -         let enemy_king_index: usize = match self.side() {
[INFO] [stdout] 148 +         let transposition::DEFAULT_SIZE: usize = match self.side() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source_bb`
[INFO] [stdout]    --> src/movegen.rs:471:21
[INFO] [stdout]     |
[INFO] [stdout] 471 |                 let source_bb: BitBoard = sources.lsb_bitboard();
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 471 |                 let _source_bb: BitBoard = sources.lsb_bitboard();
[INFO] [stdout]     |                     +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `B_QUEEN_SIDE_CASTLE_MASK`
[INFO] [stdout]     |
[INFO] [stdout] 471 -                 let source_bb: BitBoard = sources.lsb_bitboard();
[INFO] [stdout] 471 +                 let bitboard::B_QUEEN_SIDE_CASTLE_MASK: BitBoard = sources.lsb_bitboard();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tt_chess_move`
[INFO] [stdout]    --> src/search.rs:157:17
[INFO] [stdout]     |
[INFO] [stdout] 157 |         let mut tt_chess_move: Option<ChessMove> = None;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tt_chess_move`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/search.rs:154:13
[INFO] [stdout]     |
[INFO] [stdout] 154 |         let mut moves = moves.unwrap_or_else(|| self.core.generate_moves(None));
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/search.rs:157:13
[INFO] [stdout]     |
[INFO] [stdout] 157 |         let mut tt_chess_move: Option<ChessMove> = None;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `piece_type`
[INFO] [stdout]    --> src/lib.rs:423:56
[INFO] [stdout]     |
[INFO] [stdout] 423 |         matches!(self.mailbox[square.to_usize()], Some(piece_type))
[INFO] [stdout]     |                                                        ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_piece_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `piece_type`
[INFO] [stdout]    --> src/lib.rs:422:36
[INFO] [stdout]     |
[INFO] [stdout] 422 |     pub const fn is_present(&self, piece_type: ChessPiece, square: Square) -> bool {
[INFO] [stdout]     |                                    ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_piece_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `chessmove::MoveType` is more private than the item `chessmove::ChessMove::new`
[INFO] [stdout]    --> src/chessmove/mod.rs:159:5
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub const fn new(s: Square, t: Square, m: MoveType) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `chessmove::ChessMove::new` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `chessmove::MoveType` is only usable at visibility `pub(crate)`
[INFO] [stdout]    --> src/chessmove/mod.rs:81:1
[INFO] [stdout]     |
[INFO] [stdout]  81 | pub(crate) enum MoveType {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `is_piece_pinned`, `count_checking_pieces`, and `INITIAL_ATTACKED_BB` are never used
[INFO] [stdout]    --> src/lib.rs:857:19
[INFO] [stdout]     |
[INFO] [stdout] 392 | impl ChessBoardCore {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 857 |     pub(crate) fn is_piece_pinned(&self, square: Square) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 863 |     pub(crate) const fn count_checking_pieces(&self) -> u32 {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 942 |     const INITIAL_ATTACKED_BB: BitBoard = BitBoard::new(0b00000000_00000000_11111111_00000000_00000000_00000000_00000000_00000000);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `ONES`, `get_bit`, `lsb_index`, and `bit_xor` are never used
[INFO] [stdout]    --> src/bitboard/mod.rs:100:22
[INFO] [stdout]     |
[INFO] [stdout]  93 | impl BitBoard {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub(crate) const ONES: BitBoard = BitBoard { data: u64::MAX };
[INFO] [stdout]     |                      ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub(crate) const fn get_bit(&self, i: usize) -> BitBoard {
[INFO] [stdout]     |                         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |     pub(crate) const fn lsb_index(&self) -> Option<usize> {
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 209 |     pub(crate) const fn bit_xor(&self, other: &BitBoard) -> BitBoard {
[INFO] [stdout]     |                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UNICODE_SYM` is never used
[INFO] [stdout]    --> src/bitboard/mod.rs:252:18
[INFO] [stdout]     |
[INFO] [stdout] 252 | pub(super) const UNICODE_SYM: [char; 12] = ['♚', '♛', '♞', '♝', '♜', '♟', '♔', '♕', '♘', '♗', '♖', '♙'];
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_same_diag` is never used
[INFO] [stdout]    --> src/bitboard/mod.rs:264:21
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub(crate) const fn is_same_diag(source: Square, target: Square) -> bool {
[INFO] [stdout]     |                     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SQUARE_SYM_REV` is never used
[INFO] [stdout]    --> src/bitboard/mod.rs:314:18
[INFO] [stdout]     |
[INFO] [stdout] 314 | pub(crate) const SQUARE_SYM_REV: [&str; 64] = [
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_CHAR` is never used
[INFO] [stdout]    --> src/bitboard/mod.rs:325:18
[INFO] [stdout]     |
[INFO] [stdout] 325 | pub(crate) const RANK_CHAR: [char; 64] = [
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_CHAR` is never used
[INFO] [stdout]    --> src/bitboard/mod.rs:336:18
[INFO] [stdout]     |
[INFO] [stdout] 336 | pub(crate) const FILE_CHAR: [char; 64] = [
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_pawn_attack` is never used
[INFO] [stdout]   --> src/bitboard/attack.rs:28:14
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub const fn get_pawn_attack(square: Square, side: Side) -> BitBoard {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `naive_bishop_attack` is never used
[INFO] [stdout]    --> src/bitboard/attack/init.rs:130:21
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub(super) const fn naive_bishop_attack(i: usize, blockers: BitBoard) -> BitBoard {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `naive_rook_attack` is never used
[INFO] [stdout]    --> src/bitboard/attack/init.rs:193:21
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub(super) const fn naive_rook_attack(i: usize, blockers: BitBoard) -> BitBoard {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_occ_bb` is never used
[INFO] [stdout]   --> src/bitboard/attack/magic.rs:77:10
[INFO] [stdout]    |
[INFO] [stdout] 77 | const fn compute_occ_bb(index: usize, mask_bitcount: usize, attack_mask: BitBoard) -> BitBoard {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bishop_attack_mbb` is never used
[INFO] [stdout]    --> src/bitboard/attack/magic.rs:167:10
[INFO] [stdout]     |
[INFO] [stdout] 167 | const fn bishop_attack_mbb() -> [[BitBoard; SIZE_BISHOP]; 64] {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rook_attack_mbb` is never used
[INFO] [stdout]    --> src/bitboard/attack/magic.rs:194:10
[INFO] [stdout]     |
[INFO] [stdout] 194 | const fn rook_attack_mbb() -> [[BitBoard; SIZE_ROOK]; 64] {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_source` and `set_target` are never used
[INFO] [stdout]    --> src/chessmove/mod.rs:140:25
[INFO] [stdout]     |
[INFO] [stdout]  94 | impl ChessMove {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub(crate) const fn set_source(&mut self, index: usize) {
[INFO] [stdout]     |                         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub(crate) const fn set_target(&mut self, index: usize) {
[INFO] [stdout]     |                         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `mvv_lva_score` is never used
[INFO] [stdout]   --> src/movegen.rs:18:19
[INFO] [stdout]    |
[INFO] [stdout]  6 | impl ChessBoardCore {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub(crate) fn mvv_lva_score(&self, chess_move: &ChessMove) -> i16 {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SQUARE_SYM` is never used
[INFO] [stdout]    --> src/square/mod.rs:141:18
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub(crate) const SQUARE_SYM: [&str; 64] = [
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SQUARES_RAW` is never used
[INFO] [stdout]    --> src/square/mod.rs:152:7
[INFO] [stdout]     |
[INFO] [stdout] 152 | const SQUARES_RAW: [u8; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SQUARES_RAW_USIZE` is never used
[INFO] [stdout]    --> src/square/mod.rs:163:7
[INFO] [stdout]     |
[INFO] [stdout] 163 | const SQUARES_RAW_USIZE: [usize; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `compute_castle_hash` are never used
[INFO] [stdout]    --> src/zobrist/mod.rs:74:25
[INFO] [stdout]     |
[INFO] [stdout]  70 | impl ZobristHash {
[INFO] [stdout]     | ---------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  74 |     pub(super) const fn new(value: u64) -> ZobristHash {
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub(super) const fn compute_castle_hash(chessboard: &ChessBoardCore) -> ZobristHash {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `const_default` is never used
[INFO] [stdout]   --> src/transposition.rs:82:14
[INFO] [stdout]    |
[INFO] [stdout] 75 | impl PositionData {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 82 |     const fn const_default() -> Self {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `look_up` is never used
[INFO] [stdout]    --> src/transposition.rs:203:19
[INFO] [stdout]     |
[INFO] [stdout] 176 | impl TranspositionTable {
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 203 |     pub(crate) fn look_up(&self, hash: &ZobristHash) -> PositionData {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `const_default` are never used
[INFO] [stdout]    --> src/transposition.rs:258:8
[INFO] [stdout]     |
[INFO] [stdout] 256 | impl AtomicPositionData {
[INFO] [stdout]     | ----------------------- associated functions in this implementation
[INFO] [stdout] 257 |     #[inline(always)]
[INFO] [stdout] 258 |     fn new(key: ZobristHash, depth: u16, eval: i16, ty: NodeType, best: Option<ChessMove>) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 288 |     const fn const_default() -> Self {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [optimized + debuginfo] target(s) in 10.57s
[INFO] running `Command { std: "docker" "inspect" "9260af9a5ff7bc2faa84758a3ac9dee79c571f8eac68abbfd1f47631c6078b85", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9260af9a5ff7bc2faa84758a3ac9dee79c571f8eac68abbfd1f47631c6078b85", kill_on_drop: false }`
[INFO] [stdout] 9260af9a5ff7bc2faa84758a3ac9dee79c571f8eac68abbfd1f47631c6078b85
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2025-09-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] dfa3bb6245d606d0750144d7c36c0755f4751105b8ae63df85c1e11cd97de3be
[INFO] running `Command { std: "docker" "start" "-a" "dfa3bb6245d606d0750144d7c36c0755f4751105b8ae63df85c1e11cd97de3be", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `std::ops::BitAnd`
[INFO] [stderr]  --> src/movegen.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::ops::BitAnd;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ops::Neg`
[INFO] [stderr]  --> src/search.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 |     ops::Neg,
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `TranspositionTable`
[INFO] [stderr]  --> src/search.rs:9:112
[INFO] [stderr]   |
[INFO] [stderr] 9 |     ChessBoard, ChessBoardSnapshot, ChessMove, GameResult, GameState, NodeType, PieceType, PositionData, Side, TranspositionTable,
[INFO] [stderr]   |                                                                                                                ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rc::Rc`
[INFO] [stderr]  --> src/transposition.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 |     rc::Rc,
[INFO] [stderr]   |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/lib.rs:546:39
[INFO] [stderr]     |
[INFO] [stderr] 546 |                     check_bitboard |= (chessboard.piece_bbs[07] & get_queen_attack(king_pos, blockers));
[INFO] [stderr]     |                                       ^                                                               ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 546 -                     check_bitboard |= (chessboard.piece_bbs[07] & get_queen_attack(king_pos, blockers));
[INFO] [stderr] 546 +                     check_bitboard |= chessboard.piece_bbs[07] & get_queen_attack(king_pos, blockers);
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/lib.rs:548:39
[INFO] [stderr]     |
[INFO] [stderr] 548 |                     check_bitboard |= (chessboard.piece_bbs[08] & get_knight_attack(king_pos));
[INFO] [stderr]     |                                       ^                                                      ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 548 -                     check_bitboard |= (chessboard.piece_bbs[08] & get_knight_attack(king_pos));
[INFO] [stderr] 548 +                     check_bitboard |= chessboard.piece_bbs[08] & get_knight_attack(king_pos);
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/lib.rs:550:39
[INFO] [stderr]     |
[INFO] [stderr] 550 |                     check_bitboard |= (chessboard.piece_bbs[09] & get_bishop_attack(king_pos, blockers));
[INFO] [stderr]     |                                       ^                                                                ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 550 -                     check_bitboard |= (chessboard.piece_bbs[09] & get_bishop_attack(king_pos, blockers));
[INFO] [stderr] 550 +                     check_bitboard |= chessboard.piece_bbs[09] & get_bishop_attack(king_pos, blockers);
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/lib.rs:552:39
[INFO] [stderr]     |
[INFO] [stderr] 552 |                     check_bitboard |= (chessboard.piece_bbs[10] & get_rook_attack(king_pos, blockers));
[INFO] [stderr]     |                                       ^                                                              ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 552 -                     check_bitboard |= (chessboard.piece_bbs[10] & get_rook_attack(king_pos, blockers));
[INFO] [stderr] 552 +                     check_bitboard |= chessboard.piece_bbs[10] & get_rook_attack(king_pos, blockers);
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/lib.rs:554:39
[INFO] [stderr]     |
[INFO] [stderr] 554 |                     check_bitboard |= (chessboard.piece_bbs[11] & get_w_pawn_attack(king_pos));
[INFO] [stderr]     |                                       ^                                                      ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 554 -                     check_bitboard |= (chessboard.piece_bbs[11] & get_w_pawn_attack(king_pos));
[INFO] [stderr] 554 +                     check_bitboard |= chessboard.piece_bbs[11] & get_w_pawn_attack(king_pos);
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/lib.rs:563:39
[INFO] [stderr]     |
[INFO] [stderr] 563 |                     check_bitboard |= (chessboard.piece_bbs[01] & get_queen_attack(king_pos, blockers));
[INFO] [stderr]     |                                       ^                                                               ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 563 -                     check_bitboard |= (chessboard.piece_bbs[01] & get_queen_attack(king_pos, blockers));
[INFO] [stderr] 563 +                     check_bitboard |= chessboard.piece_bbs[01] & get_queen_attack(king_pos, blockers);
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/lib.rs:565:39
[INFO] [stderr]     |
[INFO] [stderr] 565 |                     check_bitboard |= (chessboard.piece_bbs[02] & get_knight_attack(king_pos));
[INFO] [stderr]     |                                       ^                                                      ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 565 -                     check_bitboard |= (chessboard.piece_bbs[02] & get_knight_attack(king_pos));
[INFO] [stderr] 565 +                     check_bitboard |= chessboard.piece_bbs[02] & get_knight_attack(king_pos);
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/lib.rs:567:39
[INFO] [stderr]     |
[INFO] [stderr] 567 |                     check_bitboard |= (chessboard.piece_bbs[03] & get_bishop_attack(king_pos, blockers));
[INFO] [stderr]     |                                       ^                                                                ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 567 -                     check_bitboard |= (chessboard.piece_bbs[03] & get_bishop_attack(king_pos, blockers));
[INFO] [stderr] 567 +                     check_bitboard |= chessboard.piece_bbs[03] & get_bishop_attack(king_pos, blockers);
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/lib.rs:569:39
[INFO] [stderr]     |
[INFO] [stderr] 569 |                     check_bitboard |= (chessboard.piece_bbs[04] & get_rook_attack(king_pos, blockers));
[INFO] [stderr]     |                                       ^                                                              ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 569 -                     check_bitboard |= (chessboard.piece_bbs[04] & get_rook_attack(king_pos, blockers));
[INFO] [stderr] 569 +                     check_bitboard |= chessboard.piece_bbs[04] & get_rook_attack(king_pos, blockers);
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/lib.rs:571:39
[INFO] [stderr]     |
[INFO] [stderr] 571 |                     check_bitboard |= (chessboard.piece_bbs[05] & get_b_pawn_attack(king_pos));
[INFO] [stderr]     |                                       ^                                                      ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 571 -                     check_bitboard |= (chessboard.piece_bbs[05] & get_b_pawn_attack(king_pos));
[INFO] [stderr] 571 +                     check_bitboard |= chessboard.piece_bbs[05] & get_b_pawn_attack(king_pos);
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `enemy_king_index`
[INFO] [stderr]    --> src/movegen.rs:148:13
[INFO] [stderr]     |
[INFO] [stderr] 148 |         let enemy_king_index: usize = match self.side() {
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]     |
[INFO] [stderr] 148 |         let _enemy_king_index: usize = match self.side() {
[INFO] [stderr]     |             +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `DEFAULT_SIZE`
[INFO] [stderr]     |
[INFO] [stderr] 148 -         let enemy_king_index: usize = match self.side() {
[INFO] [stderr] 148 +         let transposition::DEFAULT_SIZE: usize = match self.side() {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `source_bb`
[INFO] [stderr]    --> src/movegen.rs:471:21
[INFO] [stderr]     |
[INFO] [stderr] 471 |                 let source_bb: BitBoard = sources.lsb_bitboard();
[INFO] [stderr]     |                     ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]     |
[INFO] [stderr] 471 |                 let _source_bb: BitBoard = sources.lsb_bitboard();
[INFO] [stderr]     |                     +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `B_QUEEN_SIDE_CASTLE_MASK`
[INFO] [stderr]     |
[INFO] [stderr] 471 -                 let source_bb: BitBoard = sources.lsb_bitboard();
[INFO] [stderr] 471 +                 let bitboard::B_QUEEN_SIDE_CASTLE_MASK: BitBoard = sources.lsb_bitboard();
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `tt_chess_move`
[INFO] [stderr]    --> src/search.rs:157:17
[INFO] [stderr]     |
[INFO] [stderr] 157 |         let mut tt_chess_move: Option<ChessMove> = None;
[INFO] [stderr]     |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tt_chess_move`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/search.rs:154:13
[INFO] [stderr]     |
[INFO] [stderr] 154 |         let mut moves = moves.unwrap_or_else(|| self.core.generate_moves(None));
[INFO] [stderr]     |             ----^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/search.rs:157:13
[INFO] [stderr]     |
[INFO] [stderr] 157 |         let mut tt_chess_move: Option<ChessMove> = None;
[INFO] [stderr]     |             ----^^^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `piece_type`
[INFO] [stderr]    --> src/lib.rs:423:56
[INFO] [stderr]     |
[INFO] [stderr] 423 |         matches!(self.mailbox[square.to_usize()], Some(piece_type))
[INFO] [stderr]     |                                                        ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_piece_type`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `piece_type`
[INFO] [stderr]    --> src/lib.rs:422:36
[INFO] [stderr]     |
[INFO] [stderr] 422 |     pub const fn is_present(&self, piece_type: ChessPiece, square: Square) -> bool {
[INFO] [stderr]     |                                    ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_piece_type`
[INFO] [stderr] 
[INFO] [stderr] warning: type `chessmove::MoveType` is more private than the item `chessmove::ChessMove::new`
[INFO] [stderr]    --> src/chessmove/mod.rs:159:5
[INFO] [stderr]     |
[INFO] [stderr] 159 |     pub const fn new(s: Square, t: Square, m: MoveType) -> Self {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `chessmove::ChessMove::new` is reachable at visibility `pub`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `chessmove::MoveType` is only usable at visibility `pub(crate)`
[INFO] [stderr]    --> src/chessmove/mod.rs:81:1
[INFO] [stderr]     |
[INFO] [stderr]  81 | pub(crate) enum MoveType {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `is_piece_pinned`, `count_checking_pieces`, and `INITIAL_ATTACKED_BB` are never used
[INFO] [stderr]    --> src/lib.rs:857:19
[INFO] [stderr]     |
[INFO] [stderr] 392 | impl ChessBoardCore {
[INFO] [stderr]     | ------------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 857 |     pub(crate) fn is_piece_pinned(&self, square: Square) -> bool {
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 863 |     pub(crate) const fn count_checking_pieces(&self) -> u32 {
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 942 |     const INITIAL_ATTACKED_BB: BitBoard = BitBoard::new(0b00000000_00000000_11111111_00000000_00000000_00000000_00000000_00000000);
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `ONES`, `get_bit`, `lsb_index`, and `bit_xor` are never used
[INFO] [stderr]    --> src/bitboard/mod.rs:100:22
[INFO] [stderr]     |
[INFO] [stderr]  93 | impl BitBoard {
[INFO] [stderr]     | ------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 100 |     pub(crate) const ONES: BitBoard = BitBoard { data: u64::MAX };
[INFO] [stderr]     |                      ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 140 |     pub(crate) const fn get_bit(&self, i: usize) -> BitBoard {
[INFO] [stderr]     |                         ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 171 |     pub(crate) const fn lsb_index(&self) -> Option<usize> {
[INFO] [stderr]     |                         ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 209 |     pub(crate) const fn bit_xor(&self, other: &BitBoard) -> BitBoard {
[INFO] [stderr]     |                         ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `UNICODE_SYM` is never used
[INFO] [stderr]    --> src/bitboard/mod.rs:252:18
[INFO] [stderr]     |
[INFO] [stderr] 252 | pub(super) const UNICODE_SYM: [char; 12] = ['♚', '♛', '♞', '♝', '♜', '♟', '♔', '♕', '♘', '♗', '♖', '♙'];
[INFO] [stderr]     |                  ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_same_diag` is never used
[INFO] [stderr]    --> src/bitboard/mod.rs:264:21
[INFO] [stderr]     |
[INFO] [stderr] 264 | pub(crate) const fn is_same_diag(source: Square, target: Square) -> bool {
[INFO] [stderr]     |                     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SQUARE_SYM_REV` is never used
[INFO] [stderr]    --> src/bitboard/mod.rs:314:18
[INFO] [stderr]     |
[INFO] [stderr] 314 | pub(crate) const SQUARE_SYM_REV: [&str; 64] = [
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `RANK_CHAR` is never used
[INFO] [stderr]    --> src/bitboard/mod.rs:325:18
[INFO] [stderr]     |
[INFO] [stderr] 325 | pub(crate) const RANK_CHAR: [char; 64] = [
[INFO] [stderr]     |                  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `FILE_CHAR` is never used
[INFO] [stderr]    --> src/bitboard/mod.rs:336:18
[INFO] [stderr]     |
[INFO] [stderr] 336 | pub(crate) const FILE_CHAR: [char; 64] = [
[INFO] [stderr]     |                  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_pawn_attack` is never used
[INFO] [stderr]   --> src/bitboard/attack.rs:28:14
[INFO] [stderr]    |
[INFO] [stderr] 28 | pub const fn get_pawn_attack(square: Square, side: Side) -> BitBoard {
[INFO] [stderr]    |              ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `naive_bishop_attack` is never used
[INFO] [stderr]    --> src/bitboard/attack/init.rs:130:21
[INFO] [stderr]     |
[INFO] [stderr] 130 | pub(super) const fn naive_bishop_attack(i: usize, blockers: BitBoard) -> BitBoard {
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `naive_rook_attack` is never used
[INFO] [stderr]    --> src/bitboard/attack/init.rs:193:21
[INFO] [stderr]     |
[INFO] [stderr] 193 | pub(super) const fn naive_rook_attack(i: usize, blockers: BitBoard) -> BitBoard {
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `compute_occ_bb` is never used
[INFO] [stderr]   --> src/bitboard/attack/magic.rs:77:10
[INFO] [stderr]    |
[INFO] [stderr] 77 | const fn compute_occ_bb(index: usize, mask_bitcount: usize, attack_mask: BitBoard) -> BitBoard {
[INFO] [stderr]    |          ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `bishop_attack_mbb` is never used
[INFO] [stderr]    --> src/bitboard/attack/magic.rs:167:10
[INFO] [stderr]     |
[INFO] [stderr] 167 | const fn bishop_attack_mbb() -> [[BitBoard; SIZE_BISHOP]; 64] {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `rook_attack_mbb` is never used
[INFO] [stderr]    --> src/bitboard/attack/magic.rs:194:10
[INFO] [stderr]     |
[INFO] [stderr] 194 | const fn rook_attack_mbb() -> [[BitBoard; SIZE_ROOK]; 64] {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `set_source` and `set_target` are never used
[INFO] [stderr]    --> src/chessmove/mod.rs:140:25
[INFO] [stderr]     |
[INFO] [stderr]  94 | impl ChessMove {
[INFO] [stderr]     | -------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 140 |     pub(crate) const fn set_source(&mut self, index: usize) {
[INFO] [stderr]     |                         ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 145 |     pub(crate) const fn set_target(&mut self, index: usize) {
[INFO] [stderr]     |                         ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `mvv_lva_score` is never used
[INFO] [stderr]   --> src/movegen.rs:18:19
[INFO] [stderr]    |
[INFO] [stderr]  6 | impl ChessBoardCore {
[INFO] [stderr]    | ------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 18 |     pub(crate) fn mvv_lva_score(&self, chess_move: &ChessMove) -> i16 {
[INFO] [stderr]    |                   ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SQUARE_SYM` is never used
[INFO] [stderr]    --> src/square/mod.rs:141:18
[INFO] [stderr]     |
[INFO] [stderr] 141 | pub(crate) const SQUARE_SYM: [&str; 64] = [
[INFO] [stderr]     |                  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SQUARES_RAW` is never used
[INFO] [stderr]    --> src/square/mod.rs:152:7
[INFO] [stderr]     |
[INFO] [stderr] 152 | const SQUARES_RAW: [u8; 64] = [
[INFO] [stderr]     |       ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `SQUARES_RAW_USIZE` is never used
[INFO] [stderr]    --> src/square/mod.rs:163:7
[INFO] [stderr]     |
[INFO] [stderr] 163 | const SQUARES_RAW_USIZE: [usize; 64] = [
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `new` and `compute_castle_hash` are never used
[INFO] [stderr]    --> src/zobrist/mod.rs:74:25
[INFO] [stderr]     |
[INFO] [stderr]  70 | impl ZobristHash {
[INFO] [stderr]     | ---------------- associated functions in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  74 |     pub(super) const fn new(value: u64) -> ZobristHash {
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] ...
[INFO] [stderr] 180 |     pub(super) const fn compute_castle_hash(chessboard: &ChessBoardCore) -> ZobristHash {
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `const_default` is never used
[INFO] [stderr]   --> src/transposition.rs:82:14
[INFO] [stderr]    |
[INFO] [stderr] 75 | impl PositionData {
[INFO] [stderr]    | ----------------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 82 |     const fn const_default() -> Self {
[INFO] [stderr]    |              ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `look_up` is never used
[INFO] [stderr]    --> src/transposition.rs:203:19
[INFO] [stderr]     |
[INFO] [stderr] 176 | impl TranspositionTable {
[INFO] [stderr]     | ----------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 203 |     pub(crate) fn look_up(&self, hash: &ZobristHash) -> PositionData {
[INFO] [stderr]     |                   ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `new` and `const_default` are never used
[INFO] [stderr]    --> src/transposition.rs:258:8
[INFO] [stderr]     |
[INFO] [stderr] 256 | impl AtomicPositionData {
[INFO] [stderr]     | ----------------------- associated functions in this implementation
[INFO] [stderr] 257 |     #[inline(always)]
[INFO] [stderr] 258 |     fn new(key: ZobristHash, depth: u16, eval: i16, ty: NodeType, best: Option<ChessMove>) -> Self {
[INFO] [stderr]     |        ^^^
[INFO] [stderr] ...
[INFO] [stderr] 288 |     const fn const_default() -> Self {
[INFO] [stderr]     |              ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `chessbb` (lib) generated 44 warnings (run `cargo fix --lib -p chessbb` to apply 18 suggestions)
[INFO] [stderr] warning: unused import: `core::error`
[INFO] [stderr]  --> src/main.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use core::error;
[INFO] [stderr]   |     ^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `start_fen`
[INFO] [stderr]   --> src/main.rs:21:9
[INFO] [stderr]    |
[INFO] [stderr] 21 |     let start_fen = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1";
[INFO] [stderr]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_fen`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `perft_result`
[INFO] [stderr]    --> src/main.rs:285:21
[INFO] [stderr]     |
[INFO] [stderr] 285 |             let mut perft_result: Vec<(usize, usize)> = Vec::new();
[INFO] [stderr]     |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_perft_result`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/main.rs:285:17
[INFO] [stderr]     |
[INFO] [stderr] 285 |             let mut perft_result: Vec<(usize, usize)> = Vec::new();
[INFO] [stderr]     |                 ----^^^^^^^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `old_main` is never used
[INFO] [stderr]   --> src/main.rs:18:4
[INFO] [stderr]    |
[INFO] [stderr] 18 | fn old_main() {
[INFO] [stderr]    |    ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `chessbb` (bin "chessbb" test) generated 5 warnings (run `cargo fix --bin "chessbb" --tests` to apply 2 suggestions)
[INFO] [stderr] warning: `chessbb` (lib test) generated 44 warnings (44 duplicates)
[INFO] [stderr]     Finished `test` profile [optimized + debuginfo] target(s) in 0.04s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/chessbb-ca46db085ba65b63)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/chessbb-ad1ebea85ed649e9)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test tests::perft_test has been running for over 60 seconds
[ERROR] error running command: no output for 300 seconds
[INFO] running `Command { std: "docker" "inspect" "dfa3bb6245d606d0750144d7c36c0755f4751105b8ae63df85c1e11cd97de3be", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dfa3bb6245d606d0750144d7c36c0755f4751105b8ae63df85c1e11cd97de3be", kill_on_drop: false }`
[INFO] [stdout] dfa3bb6245d606d0750144d7c36c0755f4751105b8ae63df85c1e11cd97de3be
