[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] testing itotallyrock/magnesium against master#9e136a30a965bf4e63f03095c57df7257bf96fd6 for pr-134530 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fitotallyrock%2Fmagnesium" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/itotallyrock/magnesium on toolchain 9e136a30a965bf4e63f03095c57df7257bf96fd6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9e136a30a965bf4e63f03095c57df7257bf96fd6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [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-1-tc1/source/Cargo.toml [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" "+9e136a30a965bf4e63f03095c57df7257bf96fd6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+9e136a30a965bf4e63f03095c57df7257bf96fd6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f9904c55049fdbcfd72028c99e5c71b317a5bfeee23443bce91ff2791c118d60 [INFO] running `Command { std: "docker" "start" "-a" "f9904c55049fdbcfd72028c99e5c71b317a5bfeee23443bce91ff2791c118d60", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f9904c55049fdbcfd72028c99e5c71b317a5bfeee23443bce91ff2791c118d60", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f9904c55049fdbcfd72028c99e5c71b317a5bfeee23443bce91ff2791c118d60", kill_on_drop: false }` [INFO] [stdout] f9904c55049fdbcfd72028c99e5c71b317a5bfeee23443bce91ff2791c118d60 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+9e136a30a965bf4e63f03095c57df7257bf96fd6" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 88bc915f6b732a0c4f76a20d7b9a1257f343d1c7f47c498efafb3eeb60b561d7 [INFO] running `Command { std: "docker" "start" "-a" "88bc915f6b732a0c4f76a20d7b9a1257f343d1c7f47c498efafb3eeb60b561d7", kill_on_drop: false }` [INFO] [stderr] Compiling 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)]` 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(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() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 284 | pub const fn white_capture_queen_rook_after() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 288 | pub const fn black_capture_king_rook_after() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 292 | pub const fn black_capture_queen_rook_after() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 297 | pub const fn capture_rook( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 317 | pub const fn promote( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 337 | pub const fn promote_capture( [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() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 404 | pub const fn white_queen_rook_move_after() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 409 | pub const fn black_king_rook_move_after() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 414 | pub const fn black_queen_rook_move_after() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 419 | pub const fn rook_move( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 458 | pub const fn switch_sides( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` 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: 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( [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(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: 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(&self) -> Square { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub const fn mask_for_piece(&self) -> Bitboard { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub const fn mask_for_player(&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( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 172 | pub const fn remove_by_square(self, from: Square) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Knight`, `Bishop`, `Rook`, and `Queen` are never constructed [INFO] [stdout] --> src/piece_type.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 26 | pub enum PromotionPieceType { [INFO] [stdout] | ------------------ variants in this enum [INFO] [stdout] 27 | Knight, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 28 | Bishop, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 29 | Rook, [INFO] [stdout] | ^^^^ [INFO] [stdout] 30 | Queen, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PromotionPieceType` 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: 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] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.52s [INFO] running `Command { std: "docker" "inspect" "88bc915f6b732a0c4f76a20d7b9a1257f343d1c7f47c498efafb3eeb60b561d7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "88bc915f6b732a0c4f76a20d7b9a1257f343d1c7f47c498efafb3eeb60b561d7", kill_on_drop: false }` [INFO] [stdout] 88bc915f6b732a0c4f76a20d7b9a1257f343d1c7f47c498efafb3eeb60b561d7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+9e136a30a965bf4e63f03095c57df7257bf96fd6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3e19291e812eee0294b3e0a93cebc9c5dbe175a166d1cf796a22174a87534674 [INFO] running `Command { std: "docker" "start" "-a" "3e19291e812eee0294b3e0a93cebc9c5dbe175a166d1cf796a22174a87534674", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.71 [INFO] [stderr] Compiling unicode-ident v1.0.12 [INFO] [stderr] Compiling cfg-if v1.0.0 [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] Compiling test-case v3.3.1 [INFO] [stderr] Compiling 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)]` 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(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() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 284 | pub const fn white_capture_queen_rook_after() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 288 | pub const fn black_capture_king_rook_after() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 292 | pub const fn black_capture_queen_rook_after() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 297 | pub const fn capture_rook( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 317 | pub const fn promote( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 337 | pub const fn promote_capture( [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() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 404 | pub const fn white_queen_rook_move_after() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 409 | pub const fn black_king_rook_move_after() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 414 | pub const fn black_queen_rook_move_after() -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 419 | pub const fn rook_move( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 458 | pub const fn switch_sides( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` 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(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(&self) -> Square { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub const fn mask_for_piece(&self) -> Bitboard { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub const fn mask_for_player(&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( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 172 | pub const fn remove_by_square(self, from: Square) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Knight`, `Bishop`, `Rook`, and `Queen` are never constructed [INFO] [stdout] --> src/piece_type.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 26 | pub enum PromotionPieceType { [INFO] [stdout] | ------------------ variants in this enum [INFO] [stdout] 27 | Knight, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 28 | Bishop, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 29 | Rook, [INFO] [stdout] | ^^^^ [INFO] [stdout] 30 | Queen, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PromotionPieceType` 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: 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 `test` profile [unoptimized + debuginfo] target(s) in 7.93s [INFO] running `Command { std: "docker" "inspect" "3e19291e812eee0294b3e0a93cebc9c5dbe175a166d1cf796a22174a87534674", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3e19291e812eee0294b3e0a93cebc9c5dbe175a166d1cf796a22174a87534674", kill_on_drop: false }` [INFO] [stdout] 3e19291e812eee0294b3e0a93cebc9c5dbe175a166d1cf796a22174a87534674 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+9e136a30a965bf4e63f03095c57df7257bf96fd6" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 30d779643626ab979a7d30c55d4b19b6365715b475d80ca7ca243b5ce377613f [INFO] running `Command { std: "docker" "start" "-a" "30d779643626ab979a7d30c55d4b19b6365715b475d80ca7ca243b5ce377613f", kill_on_drop: false }` [INFO] [stderr] warning: unreachable call [INFO] [stderr] --> src/board.rs:144:17 [INFO] [stderr] | [INFO] [stderr] 144 | fen.push_str(todo!()); [INFO] [stderr] | ^^^^^^^^ ------- any code following this expression is unreachable [INFO] [stderr] | | [INFO] [stderr] | unreachable call [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: multiple associated items are never used [INFO] [stderr] --> src/board.rs:157:18 [INFO] [stderr] | [INFO] [stderr] 58 | / impl< [INFO] [stderr] 59 | | const IS_WHITE_TO_MOVE: bool, [INFO] [stderr] 60 | | const HAS_EP_PAWN: bool, [INFO] [stderr] 61 | | const WHITE_HAS_KING_CASTLE_RIGHTS: bool, [INFO] [stderr] ... | [INFO] [stderr] 72 | | BLACK_HAS_QUEEN_CASTLE_RIGHTS, [INFO] [stderr] 73 | | > [INFO] [stderr] | |_____- associated items in this implementation [INFO] [stderr] ... [INFO] [stderr] 157 | pub const fn attacked(&self) -> Bitboard { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 162 | pub const fn is_white_to_move(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 166 | pub const fn can_castle(self) -> bool { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 260 | pub const fn capture( [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 280 | pub const fn white_capture_king_rook_after() -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 284 | pub const fn white_capture_queen_rook_after() -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 288 | pub const fn black_capture_king_rook_after() -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 292 | pub const fn black_capture_queen_rook_after() -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 297 | pub const fn capture_rook( [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 317 | pub const fn promote( [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 337 | pub const fn promote_capture( [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 357 | pub const fn promote_capture_rook< [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 380 | pub const fn king_move( [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 399 | pub const fn white_king_rook_move_after() -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 404 | pub const fn white_queen_rook_move_after() -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 409 | pub const fn black_king_rook_move_after() -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 414 | pub const fn black_queen_rook_move_after() -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 419 | pub const fn rook_move( [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 458 | pub const fn switch_sides( [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: constant `DEFAULT_BOARD_STATUS` is never used [INFO] [stderr] --> src/board_status.rs:15:11 [INFO] [stderr] | [INFO] [stderr] 15 | pub const DEFAULT_BOARD_STATUS: BoardStatus = BoardStatus { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `double_pawn_push`, `side_to_move`, `king_move`, `quiet_move`, and `rook_move` are never used [INFO] [stderr] --> src/board_status.rs:51:18 [INFO] [stderr] | [INFO] [stderr] 21 | impl BoardStatus { [INFO] [stderr] | ---------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 51 | pub const fn double_pawn_push(self) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 59 | pub const fn side_to_move(self) -> Player { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 63 | pub const fn king_move(self) -> Self { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 79 | pub const fn quiet_move(self) -> Self { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 87 | pub const fn rook_move(self) -> Self { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] 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] [stderr] --> src/piece_arrangement.rs:15:18 [INFO] [stderr] | [INFO] [stderr] 14 | impl PieceArrangement { [INFO] [stderr] | --------------------- methods in this implementation [INFO] [stderr] 15 | pub const fn king_square(&self) -> Square { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 39 | pub const fn mask_for_piece(&self) -> Bitboard { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 43 | pub const fn mask_for_player(&self) -> Bitboard { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 47 | pub const fn mask_for_player_and_piece< [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 96 | pub const fn remove_piece( [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 172 | pub const fn remove_by_square(self, from: Square) -> Self { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variants `Knight`, `Bishop`, `Rook`, and `Queen` are never constructed [INFO] [stderr] --> src/piece_type.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 26 | pub enum PromotionPieceType { [INFO] [stderr] | ------------------ variants in this enum [INFO] [stderr] 27 | Knight, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 28 | Bishop, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 29 | Rook, [INFO] [stderr] | ^^^^ [INFO] [stderr] 30 | Queen, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `PromotionPieceType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: methods `is_white` and `is_black` are never used [INFO] [stderr] --> src/player.rs:18:18 [INFO] [stderr] | [INFO] [stderr] 10 | impl Player { [INFO] [stderr] | ----------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 18 | pub const fn is_white(self) -> bool { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 24 | pub const fn is_black(self) -> bool { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `magnesium` (bin "magnesium" test) generated 7 warnings [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/magnesium-fadab12be6f004bf) [INFO] [stdout] [INFO] [stdout] running 28 tests [INFO] [stdout] test board_status::test::can_castle_scenarios::black_to_move_with_rights_and_unobstructed_attacked_king_side ... ok [INFO] [stdout] test board_status::test::can_castle_scenarios::black_to_move_with_rights_and_obstructed_unattacked_king_side ... ok [INFO] [stdout] test board_status::test::can_castle_scenarios::black_to_move_with_rights_and_unobstructed_unattacked_king_side ... ok [INFO] [stdout] test board_status::test::can_castle_scenarios::black_to_move_without_king_rights_and_unobstructed_unattacked_king_side ... ok [INFO] [stdout] test board_status::test::can_castle_scenarios::black_to_move_without_king_rights_and_unobstructed_unattacked_queen_side ... ok [INFO] [stdout] test board_status::test::can_castle_scenarios::white_to_move_with_rights_and_obstructed_unattacked_king_side ... ok [INFO] [stdout] test board_status::test::can_castle_scenarios::black_to_move_without_queen_rights_and_unobstructed_unattacked_king_side ... ok [INFO] [stdout] test board_status::test::can_castle_scenarios::white_to_move_with_rights_and_unobstructed_attacked_king_side ... ok [INFO] [stdout] test board_status::test::can_castle_scenarios::black_to_move_without_queen_rights_and_unobstructed_unattacked_queen_side ... ok [INFO] [stdout] test board_status::test::can_castle_scenarios::white_to_move_with_rights_and_unobstructed_attacked_queen_side ... ok [INFO] [stdout] test board_status::test::can_castle_scenarios::black_to_move_without_rights_and_unobstructed_unattacked_king_side ... ok [INFO] [stdout] test board_status::test::can_castle_scenarios::black_to_move_without_rights_and_unobstructed_unattacked_queen_side ... ok [INFO] [stdout] test board_status::test::can_castle_scenarios::white_to_move_with_black_missing_king_rights_unobstructed_unattacked_king_side ... ok [INFO] [stdout] test board_status::test::can_castle_scenarios::black_to_move_with_white_missing_king_rights_unobstructed_unattacked_queen_side ... ok [INFO] [stdout] test board_status::test::can_castle_scenarios::white_to_move_with_black_missing_king_rights_unobstructed_unattacked_queen_side ... ok [INFO] [stdout] test board_status::test::can_castle_scenarios::black_to_move_with_rights_and_unobstructed_attacked_queen_side ... ok [INFO] [stdout] test board_status::test::can_castle_scenarios::black_to_move_with_rights_and_unobstructed_unattacked_queen_side ... ok [INFO] [stdout] test board_status::test::can_castle_scenarios::black_to_move_with_rights_and_obstructed_unattacked_queen_side ... ok [INFO] [stdout] test board_status::test::can_castle_scenarios::white_to_move_without_king_rights_and_unobstructed_unattacked_queen_side ... ok [INFO] [stdout] test board_status::test::can_castle_scenarios::black_to_move_with_white_missing_king_rights_unobstructed_unattacked_king_side ... ok [INFO] [stdout] test board_status::test::can_castle_scenarios::white_to_move_without_queen_rights_and_unobstructed_unattacked_king_side ... ok [INFO] [stdout] test board_status::test::can_castle_scenarios::white_to_move_without_rights_and_unobstructed_unattacked_king_side ... ok [INFO] [stdout] test board_status::test::can_castle_scenarios::white_to_move_without_king_rights_and_unobstructed_unattacked_king_side ... ok [INFO] [stdout] test board_status::test::can_castle_scenarios::white_to_move_with_rights_and_obstructed_unattacked_queen_side ... ok [INFO] [stdout] test board_status::test::can_castle_scenarios::white_to_move_with_rights_and_unobstructed_unattacked_king_side ... ok [INFO] [stdout] test board_status::test::can_castle_scenarios::white_to_move_with_rights_and_unobstructed_unattacked_queen_side ... ok [INFO] [stdout] test board_status::test::can_castle_scenarios::white_to_move_without_queen_rights_and_unobstructed_unattacked_queen_side ... ok [INFO] [stdout] test board_status::test::can_castle_scenarios::white_to_move_without_rights_and_unobstructed_unattacked_queen_side ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "30d779643626ab979a7d30c55d4b19b6365715b475d80ca7ca243b5ce377613f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "30d779643626ab979a7d30c55d4b19b6365715b475d80ca7ca243b5ce377613f", kill_on_drop: false }` [INFO] [stdout] 30d779643626ab979a7d30c55d4b19b6365715b475d80ca7ca243b5ce377613f