[INFO] cloning repository https://github.com/dev0Guy/ChessGame
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dev0Guy/ChessGame" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdev0Guy%2FChessGame", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdev0Guy%2FChessGame'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f19ffbf8cda66dbda51b82d6cb84965a8ad806ae
[INFO] testing dev0Guy/ChessGame against nightly-2025-01-18+rustflags=-Zrandomize-layout for randomize-layout-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdev0Guy%2FChessGame" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/dev0Guy/ChessGame on toolchain nightly-2025-01-18
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2025-01-18" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/dev0Guy/ChessGame
[INFO] finished tweaking git repo https://github.com/dev0Guy/ChessGame
[INFO] tweaked toml for git repo https://github.com/dev0Guy/ChessGame written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/dev0Guy/ChessGame already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2025-01-18" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] be4dbce338a626ff43d5c0ed0e377ef8043e844c3d04bc4a0f7e9a2e71c0704e
[INFO] running `Command { std: "docker" "start" "-a" "be4dbce338a626ff43d5c0ed0e377ef8043e844c3d04bc4a0f7e9a2e71c0704e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "be4dbce338a626ff43d5c0ed0e377ef8043e844c3d04bc4a0f7e9a2e71c0704e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "be4dbce338a626ff43d5c0ed0e377ef8043e844c3d04bc4a0f7e9a2e71c0704e", kill_on_drop: false }`
[INFO] [stdout] be4dbce338a626ff43d5c0ed0e377ef8043e844c3d04bc4a0f7e9a2e71c0704e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Zrandomize-layout" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 30fa13e57053361e572e3203e18f76720806ef0bb5d047f90964bda80105f1b9
[INFO] running `Command { std: "docker" "start" "-a" "30fa13e57053361e572e3203e18f76720806ef0bb5d047f90964bda80105f1b9", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.169
[INFO] [stderr]    Compiling siphasher v1.0.1
[INFO] [stderr]    Compiling proc-macro2 v1.0.93
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling unicode-ident v1.0.14
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]    Compiling autocfg v1.4.0
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling rustix v0.38.43
[INFO] [stderr]    Compiling bitflags v2.7.0
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling signal-hook v0.3.17
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling phf_codegen v0.11.3
[INFO] [stderr]    Compiling syn v2.0.96
[INFO] [stderr]    Compiling terminfo v0.9.0
[INFO] [stderr]    Compiling rustversion v1.0.19
[INFO] [stderr]    Compiling log v0.4.25
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling smallvec v1.13.2
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling thiserror v2.0.11
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling phf v0.11.3
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling env_home v0.1.0
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling either v1.13.0
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling strum v0.26.3
[INFO] [stderr]    Compiling signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling mio v1.0.3
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling signal-hook-mio v0.2.4
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling which v7.0.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.11
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling clearscreen v4.0.1
[INFO] [stderr]    Compiling ChessGame v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `File` and `Rank`
[INFO] [stdout]  --> src/engine/board/board.rs:3:38
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::engine::board::location::{File, Location, Rank};
[INFO] [stdout]   |                                      ^^^^            ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `either::Either`
[INFO] [stdout]  --> src/engine/game/base.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use either::Either;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::engine::move_generator::king::KingMoveGen`
[INFO] [stdout]   --> src/engine/game/base.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::engine::move_generator::king::KingMoveGen;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::engine::board::board::Board`
[INFO] [stdout]  --> src/engine/game/threat.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::engine::board::board::Board;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::engine::board::pieces::Piece`
[INFO] [stdout]  --> src/engine/game/threat.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::engine::board::pieces::Piece;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::engine::game::threat::ThreadBoard`
[INFO] [stdout]  --> src/engine/move_generator/king.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::engine::game::threat::ThreadBoard;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bitset::BoardBitSet`
[INFO] [stdout]  --> src/game/mod.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub(crate) use bitset::BoardBitSet;
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `side`
[INFO] [stdout]   --> src/game/moves/common.rs:27:37
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn move_options(pos: &Position, side: Side) -> impl Iterator<Item = Position> + '_ {
[INFO] [stdout]    |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_side`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `side`
[INFO] [stdout]   --> src/game/moves/common.rs:36:37
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn move_options(pos: &Position, side: Side) -> impl Iterator<Item = Position> + '_{
[INFO] [stdout]    |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_side`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `side`
[INFO] [stdout]   --> src/game/moves/common.rs:45:37
[INFO] [stdout]    |
[INFO] [stdout] 45 |     fn move_options(pos: &Position, side: Side) -> impl Iterator<Item = Position> + '_ {
[INFO] [stdout]    |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_side`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `side`
[INFO] [stdout]   --> src/game/moves/common.rs:61:37
[INFO] [stdout]    |
[INFO] [stdout] 61 |     fn move_options(pos: &Position, side: Side) -> impl Iterator<Item = Position> + '_ {
[INFO] [stdout]    |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_side`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `side`
[INFO] [stdout]   --> src/game/moves/knight.rs:14:37
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn move_options(pos: &Position, side: Side) -> impl Iterator<Item = Position> + '_ {
[INFO] [stdout]    |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_side`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `side`
[INFO] [stdout]   --> src/game/moves/king.rs:13:37
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn move_options(pos: &Position, side: Side) -> impl Iterator<Item = Position> + '_ {
[INFO] [stdout]    |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_side`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `strum::IntoEnumIterator`
[INFO] [stdout]  --> src/engine/board/board.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use strum::IntoEnumIterator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/engine/game/base.rs:237:21
[INFO] [stdout]     |
[INFO] [stdout] 237 |         if let Some(mut piece) = self.board[action.to] {
[INFO] [stdout]     |                     ----^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `loc`
[INFO] [stdout]    --> src/engine/game/base.rs:418:14
[INFO] [stdout]     |
[INFO] [stdout] 418 |         for (loc, move_list) in moves {
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_loc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `loc1`
[INFO] [stdout]   --> src/engine/move_generator/base.rs:20:39
[INFO] [stdout]    |
[INFO] [stdout] 20 |             PieceMovementType::Castle(loc1, loc2) => None
[INFO] [stdout]    |                                       ^^^^ help: if this is intentional, prefix it with an underscore: `_loc1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `loc2`
[INFO] [stdout]   --> src/engine/move_generator/base.rs:20:45
[INFO] [stdout]    |
[INFO] [stdout] 20 |             PieceMovementType::Castle(loc1, loc2) => None
[INFO] [stdout]    |                                             ^^^^ help: if this is intentional, prefix it with an underscore: `_loc2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]   --> src/engine/move_generator/king.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 61 |         if let piece = board[*loc] {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]    = help: consider replacing the `if let` with a `let`
[INFO] [stdout]    = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `side`
[INFO] [stdout]   --> src/engine/move_generator/king.rs:63:58
[INFO] [stdout]    |
[INFO] [stdout] 63 |                 Some(Piece{ piece_type: PieceType::King, side, has_moved: false}) => {
[INFO] [stdout]    |                                                          ^^^^ help: try ignoring the field: `side: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `side`
[INFO] [stdout]   --> src/engine/move_generator/king.rs:65:91
[INFO] [stdout]    |
[INFO] [stdout] 65 |                     if matches!(board[rook_loc], Some(Piece{ piece_type: PieceType::Rook, side, has_moved: false}))
[INFO] [stdout]    |                                                                                           ^^^^ help: try ignoring the field: `side: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]   --> src/engine/move_generator/king.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 81 |         if let piece = board[*loc] {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]    = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `side`
[INFO] [stdout]   --> src/engine/move_generator/king.rs:85:91
[INFO] [stdout]    |
[INFO] [stdout] 85 |                     if matches!(board[rook_loc], Some(Piece{ piece_type: PieceType::Rook, side, has_moved: false}))
[INFO] [stdout]    |                                                                                           ^^^^ help: try ignoring the field: `side: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_idx`
[INFO] [stdout]   --> src/game/bitboard.rs:86:18
[INFO] [stdout]    |
[INFO] [stdout] 86 |             let [file_idx, rank_idx]= [usize::from(file), usize::from(rank)];
[INFO] [stdout]    |                  ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rank_idx`
[INFO] [stdout]   --> src/game/bitboard.rs:86:28
[INFO] [stdout]    |
[INFO] [stdout] 86 |             let [file_idx, rank_idx]= [usize::from(file), usize::from(rank)];
[INFO] [stdout]    |                            ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rank_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_NAMES` is never used
[INFO] [stdout]  --> src/engine/board/board.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const FILE_NAMES: &'static str = "   A B C D E F G H";
[INFO] [stdout]   |       ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `to_bitboards` and `from_bitboards` are never used
[INFO] [stdout]   --> src/engine/board/board.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl Board {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn to_bitboards(&self) -> [[u64; 6]; 2] {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90 |     pub fn from_bitboards(bitboards: [[u64; 6]; 2]) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `to_bit_index` and `from_bit_index` are never used
[INFO] [stdout]   --> src/engine/board/location.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl Location {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 43 |     /// Converts a `Location` to its corresponding bitboard index (0–63).
[INFO] [stdout] 44 |     pub fn to_bit_index(&self) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn from_bit_index(bit_index: usize) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `index` is never used
[INFO] [stdout]   --> src/engine/board/location.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl File {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 64 |     fn index(file: &File) -> usize{
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `index` is never used
[INFO] [stdout]   --> src/engine/board/location.rs:76:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl Rank {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 76 |     fn index(rank: &Rank) -> usize{
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_threat` is never used
[INFO] [stdout]    --> src/engine/game/base.rs:390:8
[INFO] [stdout]     |
[INFO] [stdout] 144 | impl<D: GUI<user_actions::Action>> Game<D> {
[INFO] [stdout]     | ------------------------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 390 |     fn update_threat(&mut self){
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `iter` is never used
[INFO] [stdout]   --> src/engine/game/threat.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl ThreadBoard {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn iter(&self) -> std::slice::Iter<[bool; 8]> { self.0.iter() }
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `generate_moves_bitboard`, `generate_moves_in_direction_bitboard`, and `generate_sliding_moves_bitboard` are never used
[INFO] [stdout]    --> src/engine/move_generator/base.rs:65:8
[INFO] [stdout]     |
[INFO] [stdout] 25  | pub(crate) trait MoveGenerator {
[INFO] [stdout]     |                  ------------- associated functions in this trait
[INFO] [stdout] ...
[INFO] [stdout] 65  |     fn generate_moves_bitboard(board: &board::Board, loc: Location, side: Side) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72  |     fn generate_moves_in_direction_bitboard(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     fn generate_sliding_moves_bitboard(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KINGS_START_POSITION` is never used
[INFO] [stdout]   --> src/engine/move_generator/king.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const KINGS_START_POSITION: [Location; 2] = [Location::new(File::E, Rank::One), Location::new(File::E, Rank::Eight)];
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `get_checked_pieces_location` and `is_checked` are never used
[INFO] [stdout]    --> src/engine/move_generator/king.rs:122:19
[INFO] [stdout]     |
[INFO] [stdout] 55  | impl KingMoveGen {
[INFO] [stdout]     | ---------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub(crate) fn get_checked_pieces_location(k_loc: &Location, board: &board::Board) -> Vec<Location>{
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub(crate) fn is_checked(k_loc: &Location, board: &board::Board) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BitBoard` is never constructed
[INFO] [stdout]  --> src/game/bitboard.rs:7:19
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub(crate) struct BitBoard {
[INFO] [stdout]   |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/game/bitboard.rs:18:19
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl BitBoard{
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 18 |     pub(crate) fn new()-> Self{
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `initialize_piece_locations` is never used
[INFO] [stdout]   --> src/game/bitboard.rs:43:4
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn initialize_piece_locations(side: Side) -> [BoardBitSet; 6] {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_for_all_board` is never used
[INFO] [stdout]   --> src/game/bitboard.rs:78:4
[INFO] [stdout]    |
[INFO] [stdout] 78 | fn compute_for_all_board(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `iter` and `position_bitboard_index` are never used
[INFO] [stdout]   --> src/game/position.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl Position {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn iter() -> impl Iterator<Item = Position> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn position_bitboard_index(&self) -> usize{
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `iter` is never used
[INFO] [stdout]   --> src/game/position.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl File {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 51 |     /// Iterates over all files (A–H).
[INFO] [stdout] 52 |     pub fn iter() -> impl Iterator<Item = File> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `iter` is never used
[INFO] [stdout]   --> src/game/position.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 57 | impl Rank {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 58 |     /// Iterates over all ranks (1–8).
[INFO] [stdout] 59 |     pub fn iter() -> impl Iterator<Item = Rank> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `offset` is never used
[INFO] [stdout]    --> src/game/position.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout] 103 | impl File {
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] 104 |     pub fn offset(self, offset: i8) -> Option<File> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `offset` is never used
[INFO] [stdout]    --> src/game/position.rs:115:12
[INFO] [stdout]     |
[INFO] [stdout] 114 | impl Rank {
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] 115 |     pub fn offset(self, offset: i8) -> Option<Rank> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `empty`, `new`, `place_at`, `place_multiple_at`, and `is_set` are never used
[INFO] [stdout]   --> src/game/bitset.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 8  | impl BoardBitSet{
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 11 |     pub fn empty() -> Self{
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn new(v: u64) -> Self{
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn place_at(pos: Position) -> Self{
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn place_multiple_at<T: IntoIterator<Item = Position>>(positions: T) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn is_set(&self, pos: Position) -> bool {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_piece_moves` is never used
[INFO] [stdout]   --> src/game/moves/mod.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn get_piece_moves(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_piece_capture_movement` is never used
[INFO] [stdout]   --> src/game/moves/mod.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn get_piece_capture_movement(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HorizontalMovement` is never constructed
[INFO] [stdout]  --> src/game/moves/common.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct HorizontalMovement;
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VerticalMovement` is never constructed
[INFO] [stdout]  --> src/game/moves/common.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct VerticalMovement;
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DiagonalMovement` is never constructed
[INFO] [stdout]  --> src/game/moves/common.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct DiagonalMovement;
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AntiDiagonalMovement` is never constructed
[INFO] [stdout]  --> src/game/moves/common.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct AntiDiagonalMovement;
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AttackMoveOptions` is never used
[INFO] [stdout]   --> src/game/moves/common.rs:10:18
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub(crate) trait AttackMoveOptions {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `RegularMoveOptions` is never used
[INFO] [stdout]   --> src/game/moves/common.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) trait RegularMoveOptions {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `movement_by_const` is never used
[INFO] [stdout]   --> src/game/moves/common.rs:18:15
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub(crate) fn movement_by_const(consts: Vec<(i8,i8)>,pos: &Position) -> impl Iterator<Item = Position> + '_{
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RockMoves` is never constructed
[INFO] [stdout]  --> src/game/moves/rock.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct RockMoves;
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BishopMoves` is never constructed
[INFO] [stdout]  --> src/game/moves/bishop.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct BishopMoves;
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `QueenMoves` is never constructed
[INFO] [stdout]  --> src/game/moves/queen.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct QueenMoves;
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KnightMoves` is never constructed
[INFO] [stdout]  --> src/game/moves/knight.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct KnightMoves;
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MOVEMENT_OPTION` is never used
[INFO] [stdout]  --> src/game/moves/knight.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const MOVEMENT_OPTION: [(i8, i8); 8] = [
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KingMoves` is never constructed
[INFO] [stdout]  --> src/game/moves/king.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct KingMoves;
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MOVEMENT_OPTION` is never used
[INFO] [stdout]  --> src/game/moves/king.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const MOVEMENT_OPTION: [(i8, i8); 8] = [
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PawnMoves` is never constructed
[INFO] [stdout]  --> src/game/moves/pawn.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct PawnMoves;
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 36.47s
[INFO] running `Command { std: "docker" "inspect" "30fa13e57053361e572e3203e18f76720806ef0bb5d047f90964bda80105f1b9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "30fa13e57053361e572e3203e18f76720806ef0bb5d047f90964bda80105f1b9", kill_on_drop: false }`
[INFO] [stdout] 30fa13e57053361e572e3203e18f76720806ef0bb5d047f90964bda80105f1b9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Zrandomize-layout" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2ab0555406612ecd5a91f2910b06e3df2818ff73a18342ff9ce6897a21eca8b8
[INFO] running `Command { std: "docker" "start" "-a" "2ab0555406612ecd5a91f2910b06e3df2818ff73a18342ff9ce6897a21eca8b8", kill_on_drop: false }`
[INFO] [stderr]    Compiling ChessGame v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `File` and `Rank`
[INFO] [stdout]  --> src/engine/board/board.rs:3:38
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::engine::board::location::{File, Location, Rank};
[INFO] [stdout]   |                                      ^^^^            ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `either::Either`
[INFO] [stdout]  --> src/engine/game/base.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use either::Either;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::engine::move_generator::king::KingMoveGen`
[INFO] [stdout]   --> src/engine/game/base.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::engine::move_generator::king::KingMoveGen;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::engine::board::board::Board`
[INFO] [stdout]  --> src/engine/game/threat.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::engine::board::board::Board;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::engine::board::pieces::Piece`
[INFO] [stdout]  --> src/engine/game/threat.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::engine::board::pieces::Piece;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::engine::game::threat::ThreadBoard`
[INFO] [stdout]  --> src/engine/move_generator/king.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::engine::game::threat::ThreadBoard;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bitset::BoardBitSet`
[INFO] [stdout]  --> src/game/mod.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub(crate) use bitset::BoardBitSet;
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `side`
[INFO] [stdout]   --> src/game/moves/common.rs:27:37
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn move_options(pos: &Position, side: Side) -> impl Iterator<Item = Position> + '_ {
[INFO] [stdout]    |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_side`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `side`
[INFO] [stdout]   --> src/game/moves/common.rs:36:37
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn move_options(pos: &Position, side: Side) -> impl Iterator<Item = Position> + '_{
[INFO] [stdout]    |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_side`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `side`
[INFO] [stdout]   --> src/game/moves/common.rs:45:37
[INFO] [stdout]    |
[INFO] [stdout] 45 |     fn move_options(pos: &Position, side: Side) -> impl Iterator<Item = Position> + '_ {
[INFO] [stdout]    |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_side`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `side`
[INFO] [stdout]   --> src/game/moves/common.rs:61:37
[INFO] [stdout]    |
[INFO] [stdout] 61 |     fn move_options(pos: &Position, side: Side) -> impl Iterator<Item = Position> + '_ {
[INFO] [stdout]    |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_side`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `side`
[INFO] [stdout]   --> src/game/moves/knight.rs:14:37
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn move_options(pos: &Position, side: Side) -> impl Iterator<Item = Position> + '_ {
[INFO] [stdout]    |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_side`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `side`
[INFO] [stdout]   --> src/game/moves/king.rs:13:37
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn move_options(pos: &Position, side: Side) -> impl Iterator<Item = Position> + '_ {
[INFO] [stdout]    |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_side`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `strum::IntoEnumIterator`
[INFO] [stdout]  --> src/engine/board/board.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use strum::IntoEnumIterator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/engine/game/base.rs:237:21
[INFO] [stdout]     |
[INFO] [stdout] 237 |         if let Some(mut piece) = self.board[action.to] {
[INFO] [stdout]     |                     ----^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `loc`
[INFO] [stdout]    --> src/engine/game/base.rs:418:14
[INFO] [stdout]     |
[INFO] [stdout] 418 |         for (loc, move_list) in moves {
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_loc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `loc1`
[INFO] [stdout]   --> src/engine/move_generator/base.rs:20:39
[INFO] [stdout]    |
[INFO] [stdout] 20 |             PieceMovementType::Castle(loc1, loc2) => None
[INFO] [stdout]    |                                       ^^^^ help: if this is intentional, prefix it with an underscore: `_loc1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `loc2`
[INFO] [stdout]   --> src/engine/move_generator/base.rs:20:45
[INFO] [stdout]    |
[INFO] [stdout] 20 |             PieceMovementType::Castle(loc1, loc2) => None
[INFO] [stdout]    |                                             ^^^^ help: if this is intentional, prefix it with an underscore: `_loc2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `horizontal_movements`
[INFO] [stdout]    --> src/engine/move_generator/queen.rs:163:13
[INFO] [stdout]     |
[INFO] [stdout] 163 |         let horizontal_movements = [
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_horizontal_movements`
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/engine/move_generator/queen.rs:36:8
[INFO] [stdout]     |
[INFO] [stdout] 36  | #[warn(unused_variables)]
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]   --> src/engine/move_generator/king.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 61 |         if let piece = board[*loc] {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]    = help: consider replacing the `if let` with a `let`
[INFO] [stdout]    = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `side`
[INFO] [stdout]   --> src/engine/move_generator/king.rs:63:58
[INFO] [stdout]    |
[INFO] [stdout] 63 |                 Some(Piece{ piece_type: PieceType::King, side, has_moved: false}) => {
[INFO] [stdout]    |                                                          ^^^^ help: try ignoring the field: `side: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `side`
[INFO] [stdout]   --> src/engine/move_generator/king.rs:65:91
[INFO] [stdout]    |
[INFO] [stdout] 65 |                     if matches!(board[rook_loc], Some(Piece{ piece_type: PieceType::Rook, side, has_moved: false}))
[INFO] [stdout]    |                                                                                           ^^^^ help: try ignoring the field: `side: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]   --> src/engine/move_generator/king.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 81 |         if let piece = board[*loc] {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]    = help: consider replacing the `if let` with a `let`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `side`
[INFO] [stdout]   --> src/engine/move_generator/king.rs:85:91
[INFO] [stdout]    |
[INFO] [stdout] 85 |                     if matches!(board[rook_loc], Some(Piece{ piece_type: PieceType::Rook, side, has_moved: false}))
[INFO] [stdout]    |                                                                                           ^^^^ help: try ignoring the field: `side: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_idx`
[INFO] [stdout]   --> src/game/bitboard.rs:86:18
[INFO] [stdout]    |
[INFO] [stdout] 86 |             let [file_idx, rank_idx]= [usize::from(file), usize::from(rank)];
[INFO] [stdout]    |                  ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rank_idx`
[INFO] [stdout]   --> src/game/bitboard.rs:86:28
[INFO] [stdout]    |
[INFO] [stdout] 86 |             let [file_idx, rank_idx]= [usize::from(file), usize::from(rank)];
[INFO] [stdout]    |                            ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rank_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_NAMES` is never used
[INFO] [stdout]  --> src/engine/board/board.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const FILE_NAMES: &'static str = "   A B C D E F G H";
[INFO] [stdout]   |       ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `to_bitboards` and `from_bitboards` are never used
[INFO] [stdout]   --> src/engine/board/board.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl Board {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn to_bitboards(&self) -> [[u64; 6]; 2] {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90 |     pub fn from_bitboards(bitboards: [[u64; 6]; 2]) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_bit_index` is never used
[INFO] [stdout]   --> src/engine/board/location.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl Location {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn from_bit_index(bit_index: usize) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `index` is never used
[INFO] [stdout]   --> src/engine/board/location.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl File {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 64 |     fn index(file: &File) -> usize{
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `index` is never used
[INFO] [stdout]   --> src/engine/board/location.rs:76:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl Rank {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 76 |     fn index(rank: &Rank) -> usize{
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `iter` is never used
[INFO] [stdout]   --> src/engine/game/threat.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl ThreadBoard {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn iter(&self) -> std::slice::Iter<[bool; 8]> { self.0.iter() }
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KINGS_START_POSITION` is never used
[INFO] [stdout]   --> src/engine/move_generator/king.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const KINGS_START_POSITION: [Location; 2] = [Location::new(File::E, Rank::One), Location::new(File::E, Rank::Eight)];
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `iter` is never used
[INFO] [stdout]   --> src/game/position.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl Position {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn iter() -> impl Iterator<Item = Position> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.16s
[INFO] running `Command { std: "docker" "inspect" "2ab0555406612ecd5a91f2910b06e3df2818ff73a18342ff9ce6897a21eca8b8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2ab0555406612ecd5a91f2910b06e3df2818ff73a18342ff9ce6897a21eca8b8", kill_on_drop: false }`
[INFO] [stdout] 2ab0555406612ecd5a91f2910b06e3df2818ff73a18342ff9ce6897a21eca8b8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Zrandomize-layout" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:819108c5571ea2e421544af4d832f968d213c87fbe3707a016657f43d2f853bc" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2025-01-18" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 4ac06ca8971017c1a0abf8afee9ebfdc4cdc46da3af56e795115698e47ace49e
[INFO] running `Command { std: "docker" "start" "-a" "4ac06ca8971017c1a0abf8afee9ebfdc4cdc46da3af56e795115698e47ace49e", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `File` and `Rank`
[INFO] [stderr]  --> src/engine/board/board.rs:3:38
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::engine::board::location::{File, Location, Rank};
[INFO] [stderr]   |                                      ^^^^            ^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `either::Either`
[INFO] [stderr]  --> src/engine/game/base.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use either::Either;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::engine::move_generator::king::KingMoveGen`
[INFO] [stderr]   --> src/engine/game/base.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use crate::engine::move_generator::king::KingMoveGen;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::engine::board::board::Board`
[INFO] [stderr]  --> src/engine/game/threat.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::engine::board::board::Board;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::engine::board::pieces::Piece`
[INFO] [stderr]  --> src/engine/game/threat.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::engine::board::pieces::Piece;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::engine::game::threat::ThreadBoard`
[INFO] [stderr]  --> src/engine/move_generator/king.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use crate::engine::game::threat::ThreadBoard;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `bitset::BoardBitSet`
[INFO] [stderr]  --> src/game/mod.rs:6:16
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub(crate) use bitset::BoardBitSet;
[INFO] [stderr]   |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `side`
[INFO] [stderr]   --> src/game/moves/common.rs:27:37
[INFO] [stderr]    |
[INFO] [stderr] 27 |     fn move_options(pos: &Position, side: Side) -> impl Iterator<Item = Position> + '_ {
[INFO] [stderr]    |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_side`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `side`
[INFO] [stderr]   --> src/game/moves/common.rs:36:37
[INFO] [stderr]    |
[INFO] [stderr] 36 |     fn move_options(pos: &Position, side: Side) -> impl Iterator<Item = Position> + '_{
[INFO] [stderr]    |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_side`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `side`
[INFO] [stderr]   --> src/game/moves/common.rs:45:37
[INFO] [stderr]    |
[INFO] [stderr] 45 |     fn move_options(pos: &Position, side: Side) -> impl Iterator<Item = Position> + '_ {
[INFO] [stderr]    |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_side`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `side`
[INFO] [stderr]   --> src/game/moves/common.rs:61:37
[INFO] [stderr]    |
[INFO] [stderr] 61 |     fn move_options(pos: &Position, side: Side) -> impl Iterator<Item = Position> + '_ {
[INFO] [stderr]    |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_side`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `side`
[INFO] [stderr]   --> src/game/moves/knight.rs:14:37
[INFO] [stderr]    |
[INFO] [stderr] 14 |     fn move_options(pos: &Position, side: Side) -> impl Iterator<Item = Position> + '_ {
[INFO] [stderr]    |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_side`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `side`
[INFO] [stderr]   --> src/game/moves/king.rs:13:37
[INFO] [stderr]    |
[INFO] [stderr] 13 |     fn move_options(pos: &Position, side: Side) -> impl Iterator<Item = Position> + '_ {
[INFO] [stderr]    |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_side`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `strum::IntoEnumIterator`
[INFO] [stderr]  --> src/engine/board/board.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use strum::IntoEnumIterator;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/engine/game/base.rs:237:21
[INFO] [stderr]     |
[INFO] [stderr] 237 |         if let Some(mut piece) = self.board[action.to] {
[INFO] [stderr]     |                     ----^^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `loc`
[INFO] [stderr]    --> src/engine/game/base.rs:418:14
[INFO] [stderr]     |
[INFO] [stderr] 418 |         for (loc, move_list) in moves {
[INFO] [stderr]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_loc`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `loc1`
[INFO] [stderr]   --> src/engine/move_generator/base.rs:20:39
[INFO] [stderr]    |
[INFO] [stderr] 20 |             PieceMovementType::Castle(loc1, loc2) => None
[INFO] [stderr]    |                                       ^^^^ help: if this is intentional, prefix it with an underscore: `_loc1`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `loc2`
[INFO] [stderr]   --> src/engine/move_generator/base.rs:20:45
[INFO] [stderr]    |
[INFO] [stderr] 20 |             PieceMovementType::Castle(loc1, loc2) => None
[INFO] [stderr]    |                                             ^^^^ help: if this is intentional, prefix it with an underscore: `_loc2`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `horizontal_movements`
[INFO] [stderr]    --> src/engine/move_generator/queen.rs:163:13
[INFO] [stderr]     |
[INFO] [stderr] 163 |         let horizontal_movements = [
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_horizontal_movements`
[INFO] [stderr]     |
[INFO] [stderr] note: the lint level is defined here
[INFO] [stderr]    --> src/engine/move_generator/queen.rs:36:8
[INFO] [stderr]     |
[INFO] [stderr] 36  | #[warn(unused_variables)]
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: irrefutable `if let` pattern
[INFO] [stderr]   --> src/engine/move_generator/king.rs:61:12
[INFO] [stderr]    |
[INFO] [stderr] 61 |         if let piece = board[*loc] {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this pattern will always match, so the `if let` is useless
[INFO] [stderr]    = help: consider replacing the `if let` with a `let`
[INFO] [stderr]    = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `side`
[INFO] [stderr]   --> src/engine/move_generator/king.rs:63:58
[INFO] [stderr]    |
[INFO] [stderr] 63 |                 Some(Piece{ piece_type: PieceType::King, side, has_moved: false}) => {
[INFO] [stderr]    |                                                          ^^^^ help: try ignoring the field: `side: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `side`
[INFO] [stderr]   --> src/engine/move_generator/king.rs:65:91
[INFO] [stderr]    |
[INFO] [stderr] 65 |                     if matches!(board[rook_loc], Some(Piece{ piece_type: PieceType::Rook, side, has_moved: false}))
[INFO] [stderr]    |                                                                                           ^^^^ help: try ignoring the field: `side: _`
[INFO] [stderr] 
[INFO] [stderr] warning: irrefutable `if let` pattern
[INFO] [stderr]   --> src/engine/move_generator/king.rs:81:12
[INFO] [stderr]    |
[INFO] [stderr] 81 |         if let piece = board[*loc] {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this pattern will always match, so the `if let` is useless
[INFO] [stderr]    = help: consider replacing the `if let` with a `let`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `side`
[INFO] [stderr]   --> src/engine/move_generator/king.rs:85:91
[INFO] [stderr]    |
[INFO] [stderr] 85 |                     if matches!(board[rook_loc], Some(Piece{ piece_type: PieceType::Rook, side, has_moved: false}))
[INFO] [stderr]    |                                                                                           ^^^^ help: try ignoring the field: `side: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `file_idx`
[INFO] [stderr]   --> src/game/bitboard.rs:86:18
[INFO] [stderr]    |
[INFO] [stderr] 86 |             let [file_idx, rank_idx]= [usize::from(file), usize::from(rank)];
[INFO] [stderr]    |                  ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_idx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `rank_idx`
[INFO] [stderr]   --> src/game/bitboard.rs:86:28
[INFO] [stderr]    |
[INFO] [stderr] 86 |             let [file_idx, rank_idx]= [usize::from(file), usize::from(rank)];
[INFO] [stderr]    |                            ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rank_idx`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `FILE_NAMES` is never used
[INFO] [stderr]  --> src/engine/board/board.rs:7:7
[INFO] [stderr]   |
[INFO] [stderr] 7 | const FILE_NAMES: &'static str = "   A B C D E F G H";
[INFO] [stderr]   |       ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `to_bitboards` and `from_bitboards` are never used
[INFO] [stderr]   --> src/engine/board/board.rs:75:12
[INFO] [stderr]    |
[INFO] [stderr] 47 | impl Board {
[INFO] [stderr]    | ---------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 75 |     pub fn to_bitboards(&self) -> [[u64; 6]; 2] {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 90 |     pub fn from_bitboards(bitboards: [[u64; 6]; 2]) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `from_bit_index` is never used
[INFO] [stderr]   --> src/engine/board/location.rs:49:12
[INFO] [stderr]    |
[INFO] [stderr] 42 | impl Location {
[INFO] [stderr]    | ------------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 49 |     pub fn from_bit_index(bit_index: usize) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `index` is never used
[INFO] [stderr]   --> src/engine/board/location.rs:64:8
[INFO] [stderr]    |
[INFO] [stderr] 56 | impl File {
[INFO] [stderr]    | --------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 64 |     fn index(file: &File) -> usize{
[INFO] [stderr]    |        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `index` is never used
[INFO] [stderr]   --> src/engine/board/location.rs:76:8
[INFO] [stderr]    |
[INFO] [stderr] 69 | impl Rank {
[INFO] [stderr]    | --------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 76 |     fn index(rank: &Rank) -> usize{
[INFO] [stderr]    |        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `iter` is never used
[INFO] [stderr]   --> src/engine/game/threat.rs:54:12
[INFO] [stderr]    |
[INFO] [stderr] 47 | impl ThreadBoard {
[INFO] [stderr]    | ---------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 54 |     pub fn iter(&self) -> std::slice::Iter<[bool; 8]> { self.0.iter() }
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `KINGS_START_POSITION` is never used
[INFO] [stderr]   --> src/engine/move_generator/king.rs:14:7
[INFO] [stderr]    |
[INFO] [stderr] 14 | const KINGS_START_POSITION: [Location; 2] = [Location::new(File::E, Rank::One), Location::new(File::E, Rank::Eight)];
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `iter` is never used
[INFO] [stderr]   --> src/game/position.rs:24:12
[INFO] [stderr]    |
[INFO] [stderr] 17 | impl Position {
[INFO] [stderr]    | ------------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 24 |     pub fn iter() -> impl Iterator<Item = Position> {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `ChessGame` (bin "ChessGame" test) generated 34 warnings (run `cargo fix --bin "ChessGame" --tests` to apply 8 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.10s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/ChessGame-d3a5c5546596ac89)
[INFO] [stdout] 
[INFO] [stdout] running 100 tests
[INFO] [stdout] test engine::game::base::tests::test_checkmate_bishop_blocked ... ok
[INFO] [stdout] test engine::game::base::tests::test_checkmate_false ... ok
[INFO] [stdout] test engine::game::base::tests::test_checkmate_two_rocks ... ok
[INFO] [stdout] test engine::game::base::tests::test_execute_move_king_to_check_position ... ok
[INFO] [stdout] test engine::game::base::tests::test_checkmate_single_rock_false ... ok
[INFO] [stdout] test engine::game::base::tests::test_execute_move_king_to_none_check_position ... ok
[INFO] [stdout] test engine::game::base::tests::test_execute_move_pined_piece ... ok
[INFO] [stdout] test engine::game::base::tests::test_execute_move_updates_king_position ... ok
[INFO] [stdout] test engine::game::base::tests::test_checkmate_one_piece_queen ... ok
[INFO] [stdout] test engine::game::base::tests::test_checkmate_two_rock_false ... ok
[INFO] [stdout] test engine::game::base::tests::test_execute_valid_move ... ok
[INFO] [stdout] test engine::game::base::tests::test_not_check_mate_by_king_eat ... ok
[INFO] [stdout] test engine::game::base::tests::test_not_check_mate_by_pawn_eat ... ok
[INFO] [stdout] test engine::game::base::tests::test_not_checkmate_one_action_left ... ok
[INFO] [stdout] test engine::game::base::tests::test_validate_move_active_player_piece ... ok
[INFO] [stdout] test engine::game::base::tests::test_validate_move_empty_square ... ok
[INFO] [stdout] test engine::game::base::tests::test_validate_move_opponent_piece ... ok
[INFO] [stdout] test engine::move_generator::bishop::tests::test_bishop_at_edge_of_board ... ok
[INFO] [stdout] test engine::move_generator::bishop::tests::test_bishop_closed_by_all_sides ... ok
[INFO] [stdout] test engine::move_generator::bishop::tests::test_bishop_moves_empty_board ... ok
[INFO] [stdout] test engine::move_generator::bishop::tests::test_bishop_moves_empty_board_bitboard ... ok
[INFO] [stdout] test engine::move_generator::bishop::tests::test_bishop_moves_with_obstacles_no_capture ... ok
[INFO] [stdout] test engine::move_generator::bishop::tests::test_bishop_moves_with_full_block_bitboard ... ok
[INFO] [stdout] test engine::move_generator::king::tests::test_black_king_side_castling ... ok
[INFO] [stdout] test engine::move_generator::king::tests::test_castling_blocked_by_piece ... ok
[INFO] [stdout] test engine::game::base::tests::test_execute_move_invalid_due_to_check ... ok
[INFO] [stdout] test engine::move_generator::king::tests::test_castling_rook_has_moved ... ok
[INFO] [stdout] test engine::move_generator::bishop::tests::test_bishop_moves_with_obstacles_with_capture ... ok
[INFO] [stdout] test engine::move_generator::king::tests::test_check_pieces_no_attacking_pieces ... ok
[INFO] [stdout] test engine::move_generator::king::tests::test_check_pieces_blocked_attack ... ok
[INFO] [stdout] test engine::move_generator::king::tests::test_castling_king_has_moved ... ok
[INFO] [stdout] test engine::move_generator::king::tests::test_check_pieces_no_piece_at_location ... ok
[INFO] [stdout] test engine::move_generator::king::tests::test_king_in_check_by_knight ... ok
[INFO] [stdout] test engine::move_generator::king::tests::test_check_pieces_attacking_knight ... ok
[INFO] [stdout] test engine::move_generator::king::tests::test_check_pieces_attacking_rook ... ok
[INFO] [stdout] test engine::move_generator::king::tests::test_king_in_check_by_multiple_attackers ... ok
[INFO] [stdout] test engine::move_generator::king::tests::test_king_moves_with_same_color_obstacles ... ok
[INFO] [stdout] test engine::move_generator::king::tests::test_king_not_in_check_blocked_by_friendly_piece ... ok
[INFO] [stdout] test engine::move_generator::king::tests::test_check_pieces_multiple_attacking_pieces ... ok
[INFO] [stdout] test engine::move_generator::king::tests::test_king_moves_at_board_edge ... ok
[INFO] [stdout] test engine::move_generator::king::tests::test_king_moves_with_opposite_color_obstacles ... ok
[INFO] [stdout] test engine::move_generator::king::tests::test_king_in_check_by_rook ... ok
[INFO] [stdout] test engine::move_generator::king::tests::test_king_not_in_check_empty_board ... ok
[INFO] [stdout] test engine::move_generator::king::tests::test_king_side_castling ... ok
[INFO] [stdout] test engine::move_generator::king::tests::test_queen_side_castling ... ok
[INFO] [stdout] test engine::move_generator::knight::tests::test_knight_moves_at_board_edge ... ok
[INFO] [stdout] test engine::move_generator::knight::tests::test_knight_moves_empty_board ... ok
[INFO] [stdout] test engine::move_generator::knight::tests::test_knight_moves_with_opposite_color_obstacles ... ok
[INFO] [stdout] test engine::move_generator::pawn::tests::test_pawn_moves_white_start ... ok
[INFO] [stdout] test engine::move_generator::pawn::tests::test_pawn_blocked_moves ... ok
[INFO] [stdout] test engine::move_generator::pawn::tests::test_pawn_capture_moves ... ok
[INFO] [stdout] test engine::move_generator::pawn::tests::test_pawn_promotion_black ... ok
[INFO] [stdout] test engine::move_generator::pawn::tests::test_pawn_moves_black_start ... ok
[INFO] [stdout] test engine::move_generator::pawn::tests::test_pawn_promotion_with_capture ... ok
[INFO] [stdout] test engine::move_generator::queen::tests::test_queen_moves_with_opposite_color_obstacles ... ok
[INFO] [stdout] test engine::move_generator::pawn::tests::test_pawn_no_capture_same_side ... ok
[INFO] [stdout] test engine::move_generator::pawn::tests::test_pawn_promotion_white ... ok
[INFO] [stdout] test engine::move_generator::queen::tests::test_queen_moves_with_same_color_obstacles ... ok
[INFO] [stdout] test engine::move_generator::rock::tests::test_rook_moves_empty_board ... ok
[INFO] [stdout] test engine::move_generator::rock::tests::test_rook_moves_with_opposite_color_obstacles ... ok
[INFO] [stdout] test engine::move_generator::queen::tests::test_queen_moves_empty_board ... ok
[INFO] [stdout] test engine::move_generator::king::tests::test_king_moves_empty_board ... ok
[INFO] [stdout] test engine::move_generator::knight::tests::test_knight_moves_with_same_color_obstacles ... ok
[INFO] [stdout] test game::bitboard::tests::test_from_side_and_piece ... ok
[INFO] [stdout] test engine::move_generator::rock::tests::test_rook_moves_with_same_color_obstacles ... ok
[INFO] [stdout] test game::bitboard::tests::test_initialize_piece_locations ... ok
[INFO] [stdout] test game::bitset::tests::test_empty_board ... ok
[INFO] [stdout] test game::bitset::tests::test_is_set ... ok
[INFO] [stdout] test game::bitset::tests::test_place_at ... ok
[INFO] [stdout] test game::bitset::tests::test_place_multiple_at_bitmask ... ok
[INFO] [stdout] test game::moves::bishop::tests::test_bishop_movement ... ok
[INFO] [stdout] test game::moves::common::tests::test_anti_diagonal_movement ... ok
[INFO] [stdout] test game::moves::common::tests::test_diagonal_movement ... ok
[INFO] [stdout] test game::bitset::tests::test_place_multiple_at ... ok
[INFO] [stdout] test game::moves::common::tests::test_horizontal_movement ... ok
[INFO] [stdout] test game::bitboard::tests::test_compute_for_all_board ... ok
[INFO] [stdout] test game::moves::common::tests::test_vertical_movement ... ok
[INFO] [stdout] test game::moves::king::tests::test_king_moves_all_options ... ok
[INFO] [stdout] test game::moves::king::tests::test_king_moves_limited_options ... ok
[INFO] [stdout] test game::moves::knight::tests::test_knight_moves_all_board ... ok
[INFO] [stdout] test game::moves::pawn::tests::test_black_pawn_attack ... ok
[INFO] [stdout] test game::moves::pawn::tests::test_black_pawn_moves_initial ... ok
[INFO] [stdout] test game::moves::pawn::tests::test_black_pawn_moves_non_initial ... ok
[INFO] [stdout] test game::moves::pawn::tests::test_white_pawn_moves_initial ... ok
[INFO] [stdout] test game::moves::queen::tests::test_queen_attack_options ... ok
[INFO] [stdout] test game::moves::queen::tests::test_queen_move_options ... ok
[INFO] [stdout] test game::moves::pawn::tests::test_white_pawn_attack ... ok
[INFO] [stdout] test game::moves::pawn::tests::test_white_pawn_moves_non_initial ... ok
[INFO] [stdout] test game::moves::tests::test_bishop_moves ... ok
[INFO] [stdout] test game::moves::tests::test_knight_moves ... ok
[INFO] [stdout] test game::moves::tests::test_pawn_moves ... ok
[INFO] [stdout] test game::moves::tests::test_queen_moves ... ok
[INFO] [stdout] test game::moves::tests::test_rook_moves ... ok
[INFO] [stdout] test game::bitboard::tests::test_bitboard_initialization ... ok
[INFO] [stdout] test game::moves::rock::tests::test_rook_movement ... ok
[INFO] [stdout] test game::moves::tests::test_king_moves ... ok
[INFO] [stdout] test game::moves::knight::tests::test_knight_moves_at_edge ... ok
[INFO] [stdout] test game::bitboard::tests::test_bitboard_new ... ok
[INFO] [stdout] test engine::move_generator::bishop::tests::test_bishop_moves_with_obstacles_bitboard ... FAILED
[INFO] [stdout] test engine::move_generator::bishop::tests::test_bishop_moves_with_captures_bitboard ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- engine::move_generator::bishop::tests::test_bishop_moves_with_obstacles_bitboard stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'engine::move_generator::bishop::tests::test_bishop_moves_with_obstacles_bitboard' panicked at src/engine/move_generator/bishop.rs:201:9:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: 4462742032
[INFO] [stdout]  right: 134218241
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x580fef5df87a - std::backtrace_rs::backtrace::libunwind::trace::hb059275cfc8d6126
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5
[INFO] [stdout]    1:     0x580fef5df87a - std::backtrace_rs::backtrace::trace_unsynchronized::h2da071e4327ce3ee
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x580fef5df87a - std::sys::backtrace::_print_fmt::h842a1474e6f8d23f
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x580fef5df87a - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h71a62eb3b9696b12
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x580fef606fb3 - core::fmt::rt::Argument::fmt::hdb6b616786b41dc1
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/fmt/rt.rs:177:76
[INFO] [stdout]    5:     0x580fef606fb3 - core::fmt::write::h2cc1698af7e2d686
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/fmt/mod.rs:1440:21
[INFO] [stdout]    6:     0x580fef5dc2f3 - std::io::Write::write_fmt::hab1b4cd059a79022
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/io/mod.rs:1887:15
[INFO] [stdout]    7:     0x580fef5df6c2 - std::sys::backtrace::BacktraceLock::print::h147fe35b4ea13b08
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    8:     0x580fef5e0c9f - std::panicking::default_hook::{{closure}}::hbd44223dbdc0d208
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:298:22
[INFO] [stdout]    9:     0x580fef5e0ab8 - std::panicking::default_hook::h20f81eb0576efcec
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:322:9
[INFO] [stdout]   10:     0x580fef5a4833 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hdb53814c496a4d34
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2027:9
[INFO] [stdout]   11:     0x580fef5a4833 - test::test_main::{{closure}}::hc0a4963c59427c24
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:134:21
[INFO] [stdout]   12:     0x580fef5e1793 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h591b2225413a77e9
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2027:9
[INFO] [stdout]   13:     0x580fef5e1793 - std::panicking::rust_panic_with_hook::h625eea43051b2edc
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:839:13
[INFO] [stdout]   14:     0x580fef5e144a - std::panicking::begin_panic_handler::{{closure}}::h4f9159cfbc3f6bd3
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:704:13
[INFO] [stdout]   15:     0x580fef5dfd79 - std::sys::backtrace::__rust_end_short_backtrace::h0390abce48353151
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:168:18
[INFO] [stdout]   16:     0x580fef5e10dd - rust_begin_unwind
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:695:5
[INFO] [stdout]   17:     0x580fef605950 - core::panicking::panic_fmt::h9e7c637e9e5f29c9
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panicking.rs:75:14
[INFO] [stdout]   18:     0x580fef605d42 - core::panicking::assert_failed_inner::h538bec7c1374cd9c
[INFO] [stdout]   19:     0x580fef605bc9 - core::panicking::assert_failed::h12254b0b7241b2be
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panicking.rs:364:5
[INFO] [stdout]   20:     0x580fef5313dc - ChessGame::engine::move_generator::bishop::tests::test_bishop_moves_with_obstacles_bitboard::ha5df1eb267c02136
[INFO] [stdout]                                at /opt/rustwide/workdir/src/engine/move_generator/bishop.rs:201:9
[INFO] [stdout]   21:     0x580fef530f87 - ChessGame::engine::move_generator::bishop::tests::test_bishop_moves_with_obstacles_bitboard::{{closure}}::h8628ff46343139d7
[INFO] [stdout]                                at /opt/rustwide/workdir/src/engine/move_generator/bishop.rs:180:51
[INFO] [stdout]   22:     0x580fef553e56 - core::ops::function::FnOnce::call_once::h026fdc08e22de9a9
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x580fef5a9f8b - core::ops::function::FnOnce::call_once::he27718dfdd183f43
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x580fef5a9f8b - test::__rust_begin_short_backtrace::h4e84902998457a5d
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:632:18
[INFO] [stdout]   25:     0x580fef5a8ec3 - test::run_test_in_process::{{closure}}::h7176fd18fc1feca0
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:655:60
[INFO] [stdout]   26:     0x580fef5a8ec3 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hf79cff2a624d8cf7
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   27:     0x580fef5a8ec3 - std::panicking::try::do_call::h3da0561d9ab99c25
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:587:40
[INFO] [stdout]   28:     0x580fef5a8ec3 - std::panicking::try::h41c9fa508bc61df6
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:550:19
[INFO] [stdout]   29:     0x580fef5a8ec3 - std::panic::catch_unwind::h6b3ff07bb5afad93
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panic.rs:358:14
[INFO] [stdout]   30:     0x580fef5a8ec3 - test::run_test_in_process::hc7253dd11b39b9f4
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:655:27
[INFO] [stdout]   31:     0x580fef5a8ec3 - test::run_test::{{closure}}::hfb2007f8649c30bb
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:576:43
[INFO] [stdout]   32:     0x580fef56bfa5 - test::run_test::{{closure}}::h56a17aa7a282a9f4
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:606:41
[INFO] [stdout]   33:     0x580fef56bfa5 - std::sys::backtrace::__rust_begin_short_backtrace::hd2d2d2fb8e8c6aac
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:152:18
[INFO] [stdout]   34:     0x580fef56f88a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h4faa3f9db6133423
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/thread/mod.rs:559:17
[INFO] [stdout]   35:     0x580fef56f88a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hf2e855a36a4ea846
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   36:     0x580fef56f88a - std::panicking::try::do_call::h2f73af3616c35465
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:587:40
[INFO] [stdout]   37:     0x580fef56f88a - std::panicking::try::hd1660ce9efadef5a
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:550:19
[INFO] [stdout]   38:     0x580fef56f88a - std::panic::catch_unwind::h5ee8d7823b8ca744
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panic.rs:358:14
[INFO] [stdout]   39:     0x580fef56f88a - std::thread::Builder::spawn_unchecked_::{{closure}}::h53c3a1894dce8407
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/thread/mod.rs:557:30
[INFO] [stdout]   40:     0x580fef56f88a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h048ce291ad4f62bf
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x580fef5e56cb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::ha52bedf99a3b4981
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2013:9
[INFO] [stdout]   42:     0x580fef5e56cb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h567748934d80ccf8
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2013:9
[INFO] [stdout]   43:     0x580fef5e56cb - std::sys::pal::unix::thread::Thread::new::thread_start::h2d970728ae887adc
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/pal/unix/thread.rs:106:17
[INFO] [stdout]   44:     0x7b788ad9cac3 - <unknown>
[INFO] [stdout]   45:     0x7b788ae2da04 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- engine::move_generator::bishop::tests::test_bishop_moves_with_captures_bitboard stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'engine::move_generator::bishop::tests::test_bishop_moves_with_captures_bitboard' panicked at src/engine/move_generator/bishop.rs:243:9:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: 4462742032
[INFO] [stdout]  right: 134218241
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x580fef5df87a - std::backtrace_rs::backtrace::libunwind::trace::hb059275cfc8d6126
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5
[INFO] [stdout]    1:     0x580fef5df87a - std::backtrace_rs::backtrace::trace_unsynchronized::h2da071e4327ce3ee
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x580fef5df87a - std::sys::backtrace::_print_fmt::h842a1474e6f8d23f
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x580fef5df87a - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h71a62eb3b9696b12
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x580fef606fb3 - core::fmt::rt::Argument::fmt::hdb6b616786b41dc1
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/fmt/rt.rs:177:76
[INFO] [stdout]    5:     0x580fef606fb3 - core::fmt::write::h2cc1698af7e2d686
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/fmt/mod.rs:1440:21
[INFO] [stdout]    6:     0x580fef5dc2f3 - std::io::Write::write_fmt::hab1b4cd059a79022
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/io/mod.rs:1887:15
[INFO] [stdout]    7:     0x580fef5df6c2 - std::sys::backtrace::BacktraceLock::print::h147fe35b4ea13b08
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    8:     0x580fef5e0c9f - std::panicking::default_hook::{{closure}}::hbd44223dbdc0d208
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:298:22
[INFO] [stdout]    9:     0x580fef5e0ab8 - std::panicking::default_hook::h20f81eb0576efcec
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:322:9
[INFO] [stdout]   10:     0x580fef5a4833 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hdb53814c496a4d34
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2027:9
[INFO] [stdout]   11:     0x580fef5a4833 - test::test_main::{{closure}}::hc0a4963c59427c24
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:134:21
[INFO] [stdout]   12:     0x580fef5e1793 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h591b2225413a77e9
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2027:9
[INFO] [stdout]   13:     0x580fef5e1793 - std::panicking::rust_panic_with_hook::h625eea43051b2edc
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:839:13
[INFO] [stdout]   14:     0x580fef5e144a - std::panicking::begin_panic_handler::{{closure}}::h4f9159cfbc3f6bd3
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:704:13
[INFO] [stdout]   15:     0x580fef5dfd79 - std::sys::backtrace::__rust_end_short_backtrace::h0390abce48353151
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:168:18
[INFO] [stdout]   16:     0x580fef5e10dd - rust_begin_unwind
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:695:5
[INFO] [stdout]   17:     0x580fef605950 - core::panicking::panic_fmt::h9e7c637e9e5f29c9
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panicking.rs:75:14
[INFO] [stdout]   18:     0x580fef605d42 - core::panicking::assert_failed_inner::h538bec7c1374cd9c
[INFO] [stdout]   19:     0x580fef605bc9 - core::panicking::assert_failed::h12254b0b7241b2be
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panicking.rs:364:5
[INFO] [stdout]   20:     0x580fef531dec - ChessGame::engine::move_generator::bishop::tests::test_bishop_moves_with_captures_bitboard::h886bd75b517ac220
[INFO] [stdout]                                at /opt/rustwide/workdir/src/engine/move_generator/bishop.rs:243:9
[INFO] [stdout]   21:     0x580fef531997 - ChessGame::engine::move_generator::bishop::tests::test_bishop_moves_with_captures_bitboard::{{closure}}::h838c9ebf785127a3
[INFO] [stdout]                                at /opt/rustwide/workdir/src/engine/move_generator/bishop.rs:222:50
[INFO] [stdout]   22:     0x580fef555a96 - core::ops::function::FnOnce::call_once::hf6e68d6beed12705
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x580fef5a9f8b - core::ops::function::FnOnce::call_once::he27718dfdd183f43
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x580fef5a9f8b - test::__rust_begin_short_backtrace::h4e84902998457a5d
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:632:18
[INFO] [stdout]   25:     0x580fef5a8ec3 - test::run_test_in_process::{{closure}}::h7176fd18fc1feca0
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:655:60
[INFO] [stdout]   26:     0x580fef5a8ec3 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hf79cff2a624d8cf7
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   27:     0x580fef5a8ec3 - std::panicking::try::do_call::h3da0561d9ab99c25
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:587:40
[INFO] [stdout]   28:     0x580fef5a8ec3 - std::panicking::try::h41c9fa508bc61df6
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:550:19
[INFO] [stdout]   29:     0x580fef5a8ec3 - std::panic::catch_unwind::h6b3ff07bb5afad93
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panic.rs:358:14
[INFO] [stdout]   30:     0x580fef5a8ec3 - test::run_test_in_process::hc7253dd11b39b9f4
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:655:27
[INFO] [stdout]   31:     0x580fef5a8ec3 - test::run_test::{{closure}}::hfb2007f8649c30bb
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:576:43
[INFO] [stdout]   32:     0x580fef56bfa5 - test::run_test::{{closure}}::h56a17aa7a282a9f4
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/test/src/lib.rs:606:41
[INFO] [stdout]   33:     0x580fef56bfa5 - std::sys::backtrace::__rust_begin_short_backtrace::hd2d2d2fb8e8c6aac
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/backtrace.rs:152:18
[INFO] [stdout]   34:     0x580fef56f88a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h4faa3f9db6133423
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/thread/mod.rs:559:17
[INFO] [stdout]   35:     0x580fef56f88a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hf2e855a36a4ea846
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   36:     0x580fef56f88a - std::panicking::try::do_call::h2f73af3616c35465
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:587:40
[INFO] [stdout]   37:     0x580fef56f88a - std::panicking::try::hd1660ce9efadef5a
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panicking.rs:550:19
[INFO] [stdout]   38:     0x580fef56f88a - std::panic::catch_unwind::h5ee8d7823b8ca744
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/panic.rs:358:14
[INFO] [stdout]   39:     0x580fef56f88a - std::thread::Builder::spawn_unchecked_::{{closure}}::h53c3a1894dce8407
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/thread/mod.rs:557:30
[INFO] [stdout]   40:     0x580fef56f88a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h048ce291ad4f62bf
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x580fef5e56cb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::ha52bedf99a3b4981
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2013:9
[INFO] [stdout]   42:     0x580fef5e56cb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h567748934d80ccf8
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/alloc/src/boxed.rs:2013:9
[INFO] [stdout]   43:     0x580fef5e56cb - std::sys::pal::unix::thread::Thread::new::thread_start::h2d970728ae887adc
[INFO] [stdout]                                at /rustc/6067b36314ab5eb2eb47cecc464545ba58e1ad24/library/std/src/sys/pal/unix/thread.rs:106:17
[INFO] [stdout]   44:     0x7b788ad9cac3 - <unknown>
[INFO] [stdout]   45:     0x7b788ae2da04 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     engine::move_generator::bishop::tests::test_bishop_moves_with_captures_bitboard
[INFO] [stdout]     engine::move_generator::bishop::tests::test_bishop_moves_with_obstacles_bitboard
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 98 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin ChessGame`
[INFO] running `Command { std: "docker" "inspect" "4ac06ca8971017c1a0abf8afee9ebfdc4cdc46da3af56e795115698e47ace49e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4ac06ca8971017c1a0abf8afee9ebfdc4cdc46da3af56e795115698e47ace49e", kill_on_drop: false }`
[INFO] [stdout] 4ac06ca8971017c1a0abf8afee9ebfdc4cdc46da3af56e795115698e47ace49e
