[INFO] cloning repository https://github.com/ChristofferCJ/chess-board [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ChristofferCJ/chess-board" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FChristofferCJ%2Fchess-board", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FChristofferCJ%2Fchess-board'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] be2cf63d2e20c3574f1061b9c8689d7cffa0786f [INFO] testing ChristofferCJ/chess-board against beta-2022-02-22 for beta-1.60-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FChristofferCJ%2Fchess-board" "/workspace/builds/worker-28/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-28/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/ChristofferCJ/chess-board on toolchain beta-2022-02-22 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-02-22" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/ChristofferCJ/chess-board [INFO] finished tweaking git repo https://github.com/ChristofferCJ/chess-board [INFO] tweaked toml for git repo https://github.com/ChristofferCJ/chess-board written to /workspace/builds/worker-28/source/Cargo.toml [INFO] crate git repo https://github.com/ChristofferCJ/chess-board already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-02-22" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-28/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-28/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:0cd99ca24d8e8c98e67c542213511d985b8778b5bdcbb160e038429496686047" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-02-22" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 465f296a1fb0bd312fca990841eab3f34778f8e552948cd2a9095f16f4e54675 [INFO] running `Command { std: "docker" "start" "-a" "465f296a1fb0bd312fca990841eab3f34778f8e552948cd2a9095f16f4e54675", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "465f296a1fb0bd312fca990841eab3f34778f8e552948cd2a9095f16f4e54675", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "465f296a1fb0bd312fca990841eab3f34778f8e552948cd2a9095f16f4e54675", kill_on_drop: false }` [INFO] [stdout] 465f296a1fb0bd312fca990841eab3f34778f8e552948cd2a9095f16f4e54675 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-28/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-28/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "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:0cd99ca24d8e8c98e67c542213511d985b8778b5bdcbb160e038429496686047" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-02-22" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 99010e425fe1f35c68ea9252dba2398a7b2c29de65c145854f9e4bdb53ab9ca7 [INFO] running `Command { std: "docker" "start" "-a" "99010e425fe1f35c68ea9252dba2398a7b2c29de65c145854f9e4bdb53ab9ca7", kill_on_drop: false }` [INFO] [stderr] Compiling chess-board v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: struct is never constructed: `Board` [INFO] [stdout] --> src/board.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | struct Board { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new_empty` [INFO] [stdout] --> src/board.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | fn new_empty() -> Board { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/board.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn new() -> Board { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `set_square` [INFO] [stdout] --> src/board.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | fn set_square(&mut self, rank: usize, file: usize, piece: Option) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `get_square` [INFO] [stdout] --> src/board.rs:56:12 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn get_square(&self, rank: usize, file: usize) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `move_piece` [INFO] [stdout] --> src/board.rs:64:12 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn move_piece(&mut self, from: (usize, usize), to: (usize, usize)) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `legal_move` [INFO] [stdout] --> src/board.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 88 | fn legal_move(&self, from: (usize, usize), to: (usize, usize)) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `WHITE` [INFO] [stdout] --> src/piece.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | WHITE, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Color` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/piece.rs:1:10 [INFO] [stdout] | [INFO] [stdout] 1 | #[derive(Debug, PartialEq, Clone, Copy)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `BLACK` [INFO] [stdout] --> src/piece.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | BLACK, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Color` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/piece.rs:1:10 [INFO] [stdout] | [INFO] [stdout] 1 | #[derive(Debug, PartialEq, Clone, Copy)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `PAWN` [INFO] [stdout] --> src/piece.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | PAWN, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Kind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/piece.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Debug, PartialEq, Clone, Copy)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `BISHOP` [INFO] [stdout] --> src/piece.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | BISHOP, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Kind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/piece.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Debug, PartialEq, Clone, Copy)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `KNIGHT` [INFO] [stdout] --> src/piece.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | KNIGHT, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Kind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/piece.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Debug, PartialEq, Clone, Copy)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `ROOK` [INFO] [stdout] --> src/piece.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | ROOK, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Kind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/piece.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Debug, PartialEq, Clone, Copy)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `QUEEN` [INFO] [stdout] --> src/piece.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | QUEEN, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Kind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/piece.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Debug, PartialEq, Clone, Copy)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `KING` [INFO] [stdout] --> src/piece.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | KING, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Kind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/piece.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Debug, PartialEq, Clone, Copy)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `color` [INFO] [stdout] --> src/piece.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | color: Color, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Piece` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/piece.rs:17:10 [INFO] [stdout] | [INFO] [stdout] 17 | #[derive(Clone, Copy)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `kind` [INFO] [stdout] --> src/piece.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | kind: Kind, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Piece` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/piece.rs:17:10 [INFO] [stdout] | [INFO] [stdout] 17 | #[derive(Clone, Copy)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `has_moved` [INFO] [stdout] --> src/piece.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | has_moved: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Piece` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/piece.rs:17:10 [INFO] [stdout] | [INFO] [stdout] 17 | #[derive(Clone, Copy)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Clone` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/piece.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn new(color: Color, kind: Kind) -> Piece { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `color` [INFO] [stdout] --> src/piece.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn color(&self) -> Color { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `kind` [INFO] [stdout] --> src/piece.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn kind(&self) -> Kind { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `has_moved` [INFO] [stdout] --> src/piece.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn has_moved(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `moved` [INFO] [stdout] --> src/piece.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn moved(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 23 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.28s [INFO] running `Command { std: "docker" "inspect" "99010e425fe1f35c68ea9252dba2398a7b2c29de65c145854f9e4bdb53ab9ca7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "99010e425fe1f35c68ea9252dba2398a7b2c29de65c145854f9e4bdb53ab9ca7", kill_on_drop: false }` [INFO] [stdout] 99010e425fe1f35c68ea9252dba2398a7b2c29de65c145854f9e4bdb53ab9ca7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-28/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-28/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "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:0cd99ca24d8e8c98e67c542213511d985b8778b5bdcbb160e038429496686047" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-02-22" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 605eef95a1a13529b93880071aacdd742061fce60ca63ea032bbae84aebdbecb [INFO] running `Command { std: "docker" "start" "-a" "605eef95a1a13529b93880071aacdd742061fce60ca63ea032bbae84aebdbecb", kill_on_drop: false }` [INFO] [stderr] Compiling chess-board v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.76s [INFO] running `Command { std: "docker" "inspect" "605eef95a1a13529b93880071aacdd742061fce60ca63ea032bbae84aebdbecb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "605eef95a1a13529b93880071aacdd742061fce60ca63ea032bbae84aebdbecb", kill_on_drop: false }` [INFO] [stdout] 605eef95a1a13529b93880071aacdd742061fce60ca63ea032bbae84aebdbecb [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-28/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-28/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "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:0cd99ca24d8e8c98e67c542213511d985b8778b5bdcbb160e038429496686047" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-02-22" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] e3657c43b280479e4bca80ffc396e726284f3f434b5bfe2e0be8c1478e8f801c [INFO] running `Command { std: "docker" "start" "-a" "e3657c43b280479e4bca80ffc396e726284f3f434b5bfe2e0be8c1478e8f801c", kill_on_drop: false }` [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.00s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/chess_board-61d62c708a65d2d6) [INFO] [stdout] [INFO] [stdout] running 36 tests [INFO] [stdout] test board::test::test_bishop_can_move_diagonal_down_left ... ok [INFO] [stdout] test board::test::test_bishop_can_move_diagonal_up_left ... ok [INFO] [stdout] test board::test::test_bishop_can_move_diagonal_down_right ... ok [INFO] [stdout] test board::test::test_bishop_cant_move_diagonal_if_piece_is_in_the_way ... ok [INFO] [stdout] test board::test::test_bishop_can_move_diagonal_up_right ... ok [INFO] [stdout] test board::test::test_bishop_cant_move_horizontal ... ok [INFO] [stdout] test board::test::test_king_can_castle_if_king_and_rook_has_not_moved ... ok [INFO] [stdout] test board::test::test_bishop_cant_move_vertical ... ok [INFO] [stdout] test board::test::test_king_cant_castle_if_rook_has_moved ... ok [INFO] [stdout] test board::test::test_king_cant_castle_if_there_is_a_piece_between_king_and_rook ... ok [INFO] [stdout] test board::test::test_king_has_moved_after_castling ... ok [INFO] [stdout] test board::test::test_king_move_one_square_right_valid ... ok [INFO] [stdout] test board::test::test_king_move_two_square_right_invalid ... ok [INFO] [stdout] test board::test::test_knight_can_capture_enemy_piece ... ok [INFO] [stdout] test board::test::test_knight_can_go_down_left ... ok [INFO] [stdout] test board::test::test_knight_can_go_down_right ... ok [INFO] [stdout] test board::test::test_knight_can_go_up_left ... ok [INFO] [stdout] test board::test::test_knight_can_go_up_right ... ok [INFO] [stdout] test board::test::test_knight_cant_go_on_same_square_as_friendly_piece ... ok [INFO] [stdout] test board::test::test_knight_cant_go_straight_down ... ok [INFO] [stdout] test board::test::test_knight_cant_go_straight_left ... ok [INFO] [stdout] test board::test::test_knight_cant_go_straight_right ... ok [INFO] [stdout] test board::test::test_knight_cant_go_straight_up ... ok [INFO] [stdout] test board::test::test_move_outside_of_board_is_invalid ... ok [INFO] [stdout] test board::test::test_rook_can_move_down ... ok [INFO] [stdout] test board::test::test_rook_can_move_left ... ok [INFO] [stdout] test board::test::test_rook_can_move_right ... ok [INFO] [stdout] test board::test::test_rook_can_move_up ... ok [INFO] [stdout] test board::test::test_rook_cant_move_diagonally ... ok [INFO] [stdout] test board::test::test_rook_cant_move_if_piece_is_in_the_way ... ok [INFO] [stdout] test board::test::test_rook_has_moved_after_castling ... ok [INFO] [stdout] test board::test::test_white_king_can_move_on_top_of_black_pawn ... ok [INFO] [stdout] test board::test::test_white_king_cant_move_on_top_of_white_pawn ... ok [INFO] [stdout] test board::test::test_white_queen_on_rank_8_file_4 ... ok [INFO] [stdout] test piece::test::test_black_pawn_is_not_white ... ok [INFO] [stdout] test piece::test::test_white_pawn_is_white ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 36 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "e3657c43b280479e4bca80ffc396e726284f3f434b5bfe2e0be8c1478e8f801c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e3657c43b280479e4bca80ffc396e726284f3f434b5bfe2e0be8c1478e8f801c", kill_on_drop: false }` [INFO] [stdout] e3657c43b280479e4bca80ffc396e726284f3f434b5bfe2e0be8c1478e8f801c