[INFO] cloning repository https://github.com/itotallyrock/magnesium
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/itotallyrock/magnesium" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fitotallyrock%2Fmagnesium", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fitotallyrock%2Fmagnesium'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 3f90395ea08527cf0e422f89c20f4d7ade048cfc
[INFO] checking itotallyrock/magnesium against dfbea5bc945a9d7ff017d3d4bfbd1af9295fe5b8 for pr-133502-26
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fitotallyrock%2Fmagnesium" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/itotallyrock/magnesium
[INFO] finished tweaking git repo https://github.com/itotallyrock/magnesium
[INFO] tweaked toml for git repo https://github.com/itotallyrock/magnesium written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/itotallyrock/magnesium on toolchain dfbea5bc945a9d7ff017d3d4bfbd1af9295fe5b8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dfbea5bc945a9d7ff017d3d4bfbd1af9295fe5b8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/itotallyrock/magnesium 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" "+dfbea5bc945a9d7ff017d3d4bfbd1af9295fe5b8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded test-case-core v3.3.1
[INFO] [stderr]   Downloaded test-case-macros v3.3.1
[INFO] [stderr]   Downloaded test-case v3.3.1
[INFO] [stderr]   Downloaded proc-macro2 v1.0.71
[INFO] [stderr]   Downloaded syn v2.0.42
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:1fa6594d87c8fa7b311925a7a77a16f539833322d9dfba4ce891f211db2f90b1" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] a981b119a029f1c878025e6ad372cc5b3a37e7ebee78f8cddbe65a87351d7308
[INFO] running `Command { std: "docker" "start" "a981b119a029f1c878025e6ad372cc5b3a37e7ebee78f8cddbe65a87351d7308", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a981b119a029f1c878025e6ad372cc5b3a37e7ebee78f8cddbe65a87351d7308", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a981b119a029f1c878025e6ad372cc5b3a37e7ebee78f8cddbe65a87351d7308" "/opt/rustwide/cargo-home/bin/cargo" "+dfbea5bc945a9d7ff017d3d4bfbd1af9295fe5b8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a981b119a029f1c878025e6ad372cc5b3a37e7ebee78f8cddbe65a87351d7308", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a981b119a029f1c878025e6ad372cc5b3a37e7ebee78f8cddbe65a87351d7308" "/opt/rustwide/cargo-home/bin/cargo" "+dfbea5bc945a9d7ff017d3d4bfbd1af9295fe5b8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.71
[INFO] [stderr]     Checking magnesium v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> src/board.rs:144:17
[INFO] [stdout]     |
[INFO] [stdout] 144 |             fen.push_str(todo!());
[INFO] [stdout]     |                 ^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 unreachable call
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/board.rs:157:18
[INFO] [stdout]     |
[INFO] [stdout]  58 | / impl<
[INFO] [stdout]  59 | |         const IS_WHITE_TO_MOVE: bool,
[INFO] [stdout]  60 | |         const HAS_EP_PAWN: bool,
[INFO] [stdout]  61 | |         const WHITE_HAS_KING_CASTLE_RIGHTS: bool,
[INFO] [stdout] ...   |
[INFO] [stdout]  72 | |         BLACK_HAS_QUEEN_CASTLE_RIGHTS,
[INFO] [stdout]  73 | |     >
[INFO] [stdout]     | |_____- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 157 |       pub const fn attacked(&self) -> Bitboard {
[INFO] [stdout]     |                    ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |       pub const fn is_white_to_move(&self) -> bool {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 166 |       pub const fn can_castle<const CASTLE_DIRECTION: CastleDirection>(self) -> bool {
[INFO] [stdout]     |                    ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 260 |       pub const fn capture(
[INFO] [stdout]     |                    ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 280 |       pub const fn white_capture_king_rook_after<const CASTLE_DIRECTION: CastleDirection>() -> bool {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 284 |       pub const fn white_capture_queen_rook_after<const CASTLE_DIRECTION: CastleDirection>() -> bool {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 288 |       pub const fn black_capture_king_rook_after<const CASTLE_DIRECTION: CastleDirection>() -> bool {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 292 |       pub const fn black_capture_queen_rook_after<const CASTLE_DIRECTION: CastleDirection>() -> bool {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 297 |       pub const fn capture_rook<const CASTLE_DIRECTION: CastleDirection>(
[INFO] [stdout]     |                    ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 317 |       pub const fn promote<const PROMOTION: NonKingPieceType>(
[INFO] [stdout]     |                    ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 337 |       pub const fn promote_capture<const PROMOTION: NonKingPieceType>(
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 357 |       pub const fn promote_capture_rook<
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 380 |       pub const fn king_move(
[INFO] [stdout]     |                    ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 399 |       pub const fn white_king_rook_move_after<const CASTLE_DIRECTION: CastleDirection>() -> bool {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 404 |       pub const fn white_queen_rook_move_after<const CASTLE_DIRECTION: CastleDirection>() -> bool {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 409 |       pub const fn black_king_rook_move_after<const CASTLE_DIRECTION: CastleDirection>() -> bool {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 414 |       pub const fn black_queen_rook_move_after<const CASTLE_DIRECTION: CastleDirection>() -> bool {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 419 |       pub const fn rook_move<const CASTLE_DIRECTION: CastleDirection>(
[INFO] [stdout]     |                    ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 458 |       pub const fn switch_sides(
[INFO] [stdout]     |                    ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BoardStatus` is never constructed
[INFO] [stdout]  --> src/board_status.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct BoardStatus {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_BOARD_STATUS` is never used
[INFO] [stdout]   --> src/board_status.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const DEFAULT_BOARD_STATUS: BoardStatus = BoardStatus {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/board_status.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl BoardStatus {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 22 |     const CASTLE_EMPTY: [[Bitboard; CastleDirection::COUNT]; Player::COUNT] =
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 23 |         [[0x60, 0xE], [0x6000_0000_0000_0000, 0x0E00_0000_0000_0000]];
[INFO] [stdout] 24 |     const CASTLE_UNATTACKED: [[Bitboard; CastleDirection::COUNT]; Player::COUNT] =
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 25 |         [[0x60, 0xC], [0x6000_0000_0000_0000, 0x0C00_0000_0000_0000]];
[INFO] [stdout] 26 |     const ROOK_MASKS: [[Bitboard; CastleDirection::COUNT]; Player::COUNT] =
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 27 |         [[H1.to_bit(), A1.to_bit()], [H8.to_bit(), A8.to_bit()]];
[INFO] [stdout] 28 |     pub const fn can_castle<const CASTLE_DIRECTION: CastleDirection>(
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub const fn switch_sides(self) -> Self {
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub const fn double_pawn_push(self) -> Self {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub const fn side_to_move(self) -> Player {
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub const fn king_move(self) -> Self {
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub const fn quiet_move(self) -> Self {
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub const fn rook_move<const CASTLE_DIRECTION: CastleDirection>(self) -> Self {
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `QueenSide` is never constructed
[INFO] [stdout]  --> src/castle_direction.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub enum CastleDirection {
[INFO] [stdout]   |          --------------- variant in this enum
[INFO] [stdout] 7 |     KingSide,
[INFO] [stdout] 8 |     QueenSide,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `CastleDirection` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `COUNT` is never used
[INFO] [stdout]   --> src/castle_direction.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl CastleDirection {
[INFO] [stdout]    | -------------------- associated constant in this implementation
[INFO] [stdout] 12 |     pub const COUNT: usize = 2;
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `king_square`, `mask_for_piece`, `mask_for_player`, `mask_for_player_and_piece`, `remove_piece`, and `remove_by_square` are never used
[INFO] [stdout]    --> src/piece_arrangement.rs:15:18
[INFO] [stdout]     |
[INFO] [stdout]  14 | impl PieceArrangement {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout]  15 |     pub const fn king_square<const IS_WHITE: bool>(&self) -> Square {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  39 |     pub const fn mask_for_piece<const PIECE_TYPE: NonKingPieceType>(&self) -> Bitboard {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  43 |     pub const fn mask_for_player<const IS_WHITE: bool>(&self) -> Bitboard {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  47 |     pub const fn mask_for_player_and_piece<
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     pub const fn remove_piece<const IS_WHITE: bool, const PIECE: NonKingPieceType>(
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub const fn remove_by_square<const IS_WHITE: bool>(self, from: Square) -> Self {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PromotionPieceType` is never used
[INFO] [stdout]   --> src/piece_type.rs:26:10
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub enum PromotionPieceType {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `switch`, `is_white`, and `is_black` are never used
[INFO] [stdout]   --> src/player.rs:12:18
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Player {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] 11 |     pub const COUNT: usize = 2;
[INFO] [stdout] 12 |     pub const fn switch(self) -> Self {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub const fn is_white(self) -> bool {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub const fn is_black(self) -> bool {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]    Compiling syn v2.0.42
[INFO] [stderr]    Compiling test-case-core v3.3.1
[INFO] [stderr]    Compiling test-case-macros v3.3.1
[INFO] [stderr]     Checking test-case v3.3.1
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> src/board.rs:144:17
[INFO] [stdout]     |
[INFO] [stdout] 144 |             fen.push_str(todo!());
[INFO] [stdout]     |                 ^^^^^^^^ ------- any code following this expression is unreachable
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 unreachable call
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/board.rs:157:18
[INFO] [stdout]     |
[INFO] [stdout]  58 | / impl<
[INFO] [stdout]  59 | |         const IS_WHITE_TO_MOVE: bool,
[INFO] [stdout]  60 | |         const HAS_EP_PAWN: bool,
[INFO] [stdout]  61 | |         const WHITE_HAS_KING_CASTLE_RIGHTS: bool,
[INFO] [stdout] ...   |
[INFO] [stdout]  72 | |         BLACK_HAS_QUEEN_CASTLE_RIGHTS,
[INFO] [stdout]  73 | |     >
[INFO] [stdout]     | |_____- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 157 |       pub const fn attacked(&self) -> Bitboard {
[INFO] [stdout]     |                    ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |       pub const fn is_white_to_move(&self) -> bool {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 166 |       pub const fn can_castle<const CASTLE_DIRECTION: CastleDirection>(self) -> bool {
[INFO] [stdout]     |                    ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 260 |       pub const fn capture(
[INFO] [stdout]     |                    ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 280 |       pub const fn white_capture_king_rook_after<const CASTLE_DIRECTION: CastleDirection>() -> bool {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 284 |       pub const fn white_capture_queen_rook_after<const CASTLE_DIRECTION: CastleDirection>() -> bool {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 288 |       pub const fn black_capture_king_rook_after<const CASTLE_DIRECTION: CastleDirection>() -> bool {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 292 |       pub const fn black_capture_queen_rook_after<const CASTLE_DIRECTION: CastleDirection>() -> bool {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 297 |       pub const fn capture_rook<const CASTLE_DIRECTION: CastleDirection>(
[INFO] [stdout]     |                    ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 317 |       pub const fn promote<const PROMOTION: NonKingPieceType>(
[INFO] [stdout]     |                    ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 337 |       pub const fn promote_capture<const PROMOTION: NonKingPieceType>(
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 357 |       pub const fn promote_capture_rook<
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 380 |       pub const fn king_move(
[INFO] [stdout]     |                    ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 399 |       pub const fn white_king_rook_move_after<const CASTLE_DIRECTION: CastleDirection>() -> bool {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 404 |       pub const fn white_queen_rook_move_after<const CASTLE_DIRECTION: CastleDirection>() -> bool {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 409 |       pub const fn black_king_rook_move_after<const CASTLE_DIRECTION: CastleDirection>() -> bool {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 414 |       pub const fn black_queen_rook_move_after<const CASTLE_DIRECTION: CastleDirection>() -> bool {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 419 |       pub const fn rook_move<const CASTLE_DIRECTION: CastleDirection>(
[INFO] [stdout]     |                    ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 458 |       pub const fn switch_sides(
[INFO] [stdout]     |                    ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_BOARD_STATUS` is never used
[INFO] [stdout]   --> src/board_status.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const DEFAULT_BOARD_STATUS: BoardStatus = BoardStatus {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `double_pawn_push`, `side_to_move`, `king_move`, `quiet_move`, and `rook_move` are never used
[INFO] [stdout]   --> src/board_status.rs:51:18
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl BoardStatus {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub const fn double_pawn_push(self) -> Self {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub const fn side_to_move(self) -> Player {
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub const fn king_move(self) -> Self {
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub const fn quiet_move(self) -> Self {
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub const fn rook_move<const CASTLE_DIRECTION: CastleDirection>(self) -> Self {
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `king_square`, `mask_for_piece`, `mask_for_player`, `mask_for_player_and_piece`, `remove_piece`, and `remove_by_square` are never used
[INFO] [stdout]    --> src/piece_arrangement.rs:15:18
[INFO] [stdout]     |
[INFO] [stdout]  14 | impl PieceArrangement {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout]  15 |     pub const fn king_square<const IS_WHITE: bool>(&self) -> Square {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  39 |     pub const fn mask_for_piece<const PIECE_TYPE: NonKingPieceType>(&self) -> Bitboard {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  43 |     pub const fn mask_for_player<const IS_WHITE: bool>(&self) -> Bitboard {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  47 |     pub const fn mask_for_player_and_piece<
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     pub const fn remove_piece<const IS_WHITE: bool, const PIECE: NonKingPieceType>(
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub const fn remove_by_square<const IS_WHITE: bool>(self, from: Square) -> Self {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PromotionPieceType` is never used
[INFO] [stdout]   --> src/piece_type.rs:26:10
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub enum PromotionPieceType {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_white` and `is_black` are never used
[INFO] [stdout]   --> src/player.rs:18:18
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Player {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub const fn is_white(self) -> bool {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub const fn is_black(self) -> bool {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.94s
[INFO] running `Command { std: "docker" "inspect" "a981b119a029f1c878025e6ad372cc5b3a37e7ebee78f8cddbe65a87351d7308", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a981b119a029f1c878025e6ad372cc5b3a37e7ebee78f8cddbe65a87351d7308", kill_on_drop: false }`
[INFO] [stdout] a981b119a029f1c878025e6ad372cc5b3a37e7ebee78f8cddbe65a87351d7308
