[INFO] fetching crate hieu-chess 0.1.0...
[INFO] testing hieu-chess-0.1.0 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-7
[INFO] extracting crate hieu-chess 0.1.0 into /workspace/builds/worker-4-tc1/source
[INFO] started tweaking crates.io crate hieu-chess 0.1.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate hieu-chess 0.1.0
[INFO] tweaked toml for crates.io crate hieu-chess 0.1.0 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate hieu-chess 0.1.0 on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 6 packages to latest compatible versions
[INFO] [stderr]       Adding thiserror v1.0.69 (available: v2.0.17)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1da8785d507c4f23ef56212a6bbe0543edc41b777a3508ad0ed4924679f26186
[INFO] running `Command { std: "docker" "start" "-a" "1da8785d507c4f23ef56212a6bbe0543edc41b777a3508ad0ed4924679f26186", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1da8785d507c4f23ef56212a6bbe0543edc41b777a3508ad0ed4924679f26186", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1da8785d507c4f23ef56212a6bbe0543edc41b777a3508ad0ed4924679f26186", kill_on_drop: false }`
[INFO] [stdout] 1da8785d507c4f23ef56212a6bbe0543edc41b777a3508ad0ed4924679f26186
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 622f00f89a5bc3e9f764ab7bc30fb0e22b2e607c1f013c74c617c5a5f74f7462
[INFO] running `Command { std: "docker" "start" "-a" "622f00f89a5bc3e9f764ab7bc30fb0e22b2e607c1f013c74c617c5a5f74f7462", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.110
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling hieu-chess v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable `w_knights` is assigned to, but never used
[INFO] [stdout]    --> src/chess.rs:554:13
[INFO] [stdout]     |
[INFO] [stdout] 554 |         let mut w_knights = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_w_knights` instead
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `b_knights` is assigned to, but never used
[INFO] [stdout]    --> src/chess.rs:555:13
[INFO] [stdout]     |
[INFO] [stdout] 555 |         let mut b_knights = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_b_knights` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `w_bishops` is assigned to, but never used
[INFO] [stdout]    --> src/chess.rs:556:13
[INFO] [stdout]     |
[INFO] [stdout] 556 |         let mut w_bishops = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_w_bishops` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `b_bishops` is assigned to, but never used
[INFO] [stdout]    --> src/chess.rs:557:13
[INFO] [stdout]     |
[INFO] [stdout] 557 |         let mut b_bishops = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_b_bishops` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `w_knights` is never read
[INFO] [stdout]    --> src/chess.rs:587:21
[INFO] [stdout]     |
[INFO] [stdout] 587 |                     w_knights += 1;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `b_knights` is never read
[INFO] [stdout]    --> src/chess.rs:603:21
[INFO] [stdout]     |
[INFO] [stdout] 603 |                     b_knights += 1;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `w_bishops` is never read
[INFO] [stdout]    --> src/chess.rs:598:21
[INFO] [stdout]     |
[INFO] [stdout] 598 |                     w_bishops += 1;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `b_bishops` is never read
[INFO] [stdout]    --> src/chess.rs:614:21
[INFO] [stdout]     |
[INFO] [stdout] 614 |                     b_bishops += 1;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `count` is never read
[INFO] [stdout]    --> src/chess.rs:935:25
[INFO] [stdout]     |
[INFO] [stdout] 935 |         let mut count = 0;
[INFO] [stdout]     |                         ^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_mut`, `clear`, and `get_internal_board` are never used
[INFO] [stdout]   --> src/board.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Board {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn get_mut(&mut self, idx: &u8) -> Option<&mut Piece> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn clear(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn get_internal_board(&self) -> &[Option<Piece>; SIZE_0X88] {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fen` is never read
[INFO] [stdout]   --> src/chess.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 72 | struct HistoryEntry {
[INFO] [stdout]    |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 84 |     fen: String,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `debug`, `captures_count`, and `check_count` are never read
[INFO] [stdout]    --> src/chess.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout]  94 | pub struct GameState {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 109 |     debug: bool,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     captures_count: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 115 |     castle_count: usize,
[INFO] [stdout] 116 |     check_count: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/chess.rs:523:12
[INFO] [stdout]     |
[INFO] [stdout] 119 | impl GameState {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 523 |     pub fn reset(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 540 |     fn is_draw(&mut self) -> bool {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 547 |     fn is_stalemate(&mut self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 553 |     fn is_insufficient_material(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 658 |     fn is_50_moves(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 663 |     fn is_threefold_repetition(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 673 |     fn is_checkmate(&mut self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 681 |     fn is_friendly(&self, piece: &Piece) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 929 |     pub fn get_boar(&self) -> Board {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 933 |     pub fn perft(&mut self, depth: u8, log: bool) -> usize {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `moves` is never used
[INFO] [stdout]   --> src/move_gen.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl MoveGen {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn moves(state: &mut GameState, color: Color) -> Vec<Move> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_enemy` is never used
[INFO] [stdout]   --> src/utils.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn is_enemy(piece: &Piece, side_to_move: Color) -> bool {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.77s
[INFO] running `Command { std: "docker" "inspect" "622f00f89a5bc3e9f764ab7bc30fb0e22b2e607c1f013c74c617c5a5f74f7462", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "622f00f89a5bc3e9f764ab7bc30fb0e22b2e607c1f013c74c617c5a5f74f7462", kill_on_drop: false }`
[INFO] [stdout] 622f00f89a5bc3e9f764ab7bc30fb0e22b2e607c1f013c74c617c5a5f74f7462
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4dfeef9076f193d375bce09f759ae507a9cdde16637e6654a863d7f22c8d3c58
[INFO] running `Command { std: "docker" "start" "-a" "4dfeef9076f193d375bce09f759ae507a9cdde16637e6654a863d7f22c8d3c58", kill_on_drop: false }`
[INFO] [stdout] warning: variable `w_knights` is assigned to, but never used
[INFO] [stdout]    --> src/chess.rs:554:13
[INFO] [stdout]     |
[INFO] [stdout] 554 |         let mut w_knights = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_w_knights` instead
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `b_knights` is assigned to, but never used
[INFO] [stdout]    --> src/chess.rs:555:13
[INFO] [stdout]     |
[INFO] [stdout] 555 |         let mut b_knights = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_b_knights` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling hieu-chess v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable `w_bishops` is assigned to, but never used
[INFO] [stdout]    --> src/chess.rs:556:13
[INFO] [stdout]     |
[INFO] [stdout] 556 |         let mut w_bishops = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_w_bishops` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `b_bishops` is assigned to, but never used
[INFO] [stdout]    --> src/chess.rs:557:13
[INFO] [stdout]     |
[INFO] [stdout] 557 |         let mut b_bishops = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_b_bishops` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `w_knights` is never read
[INFO] [stdout]    --> src/chess.rs:587:21
[INFO] [stdout]     |
[INFO] [stdout] 587 |                     w_knights += 1;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `b_knights` is never read
[INFO] [stdout]    --> src/chess.rs:603:21
[INFO] [stdout]     |
[INFO] [stdout] 603 |                     b_knights += 1;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `w_bishops` is never read
[INFO] [stdout]    --> src/chess.rs:598:21
[INFO] [stdout]     |
[INFO] [stdout] 598 |                     w_bishops += 1;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `b_bishops` is never read
[INFO] [stdout]    --> src/chess.rs:614:21
[INFO] [stdout]     |
[INFO] [stdout] 614 |                     b_bishops += 1;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `count` is never read
[INFO] [stdout]    --> src/chess.rs:935:25
[INFO] [stdout]     |
[INFO] [stdout] 935 |         let mut count = 0;
[INFO] [stdout]     |                         ^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_mut`, `clear`, and `get_internal_board` are never used
[INFO] [stdout]   --> src/board.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Board {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn get_mut(&mut self, idx: &u8) -> Option<&mut Piece> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn clear(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn get_internal_board(&self) -> &[Option<Piece>; SIZE_0X88] {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fen` is never read
[INFO] [stdout]   --> src/chess.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 72 | struct HistoryEntry {
[INFO] [stdout]    |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 84 |     fen: String,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `debug`, `captures_count`, and `check_count` are never read
[INFO] [stdout]    --> src/chess.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout]  94 | pub struct GameState {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 109 |     debug: bool,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     captures_count: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 115 |     castle_count: usize,
[INFO] [stdout] 116 |     check_count: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/chess.rs:523:12
[INFO] [stdout]     |
[INFO] [stdout] 119 | impl GameState {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 523 |     pub fn reset(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 540 |     fn is_draw(&mut self) -> bool {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 547 |     fn is_stalemate(&mut self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 553 |     fn is_insufficient_material(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 658 |     fn is_50_moves(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 663 |     fn is_threefold_repetition(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 673 |     fn is_checkmate(&mut self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 681 |     fn is_friendly(&self, piece: &Piece) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 929 |     pub fn get_boar(&self) -> Board {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 933 |     pub fn perft(&mut self, depth: u8, log: bool) -> usize {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `moves` is never used
[INFO] [stdout]   --> src/move_gen.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl MoveGen {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn moves(state: &mut GameState, color: Color) -> Vec<Move> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_enemy` is never used
[INFO] [stdout]   --> src/utils.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn is_enemy(piece: &Piece, side_to_move: Color) -> bool {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `w_knights` is assigned to, but never used
[INFO] [stdout]    --> src/chess.rs:554:13
[INFO] [stdout]     |
[INFO] [stdout] 554 |         let mut w_knights = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_w_knights` instead
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `b_knights` is assigned to, but never used
[INFO] [stdout]    --> src/chess.rs:555:13
[INFO] [stdout]     |
[INFO] [stdout] 555 |         let mut b_knights = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_b_knights` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `w_bishops` is assigned to, but never used
[INFO] [stdout]    --> src/chess.rs:556:13
[INFO] [stdout]     |
[INFO] [stdout] 556 |         let mut w_bishops = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_w_bishops` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `b_bishops` is assigned to, but never used
[INFO] [stdout]    --> src/chess.rs:557:13
[INFO] [stdout]     |
[INFO] [stdout] 557 |         let mut b_bishops = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_b_bishops` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `w_knights` is never read
[INFO] [stdout]    --> src/chess.rs:587:21
[INFO] [stdout]     |
[INFO] [stdout] 587 |                     w_knights += 1;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `b_knights` is never read
[INFO] [stdout]    --> src/chess.rs:603:21
[INFO] [stdout]     |
[INFO] [stdout] 603 |                     b_knights += 1;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `w_bishops` is never read
[INFO] [stdout]    --> src/chess.rs:598:21
[INFO] [stdout]     |
[INFO] [stdout] 598 |                     w_bishops += 1;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `b_bishops` is never read
[INFO] [stdout]    --> src/chess.rs:614:21
[INFO] [stdout]     |
[INFO] [stdout] 614 |                     b_bishops += 1;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `count` is never read
[INFO] [stdout]    --> src/chess.rs:935:25
[INFO] [stdout]     |
[INFO] [stdout] 935 |         let mut count = 0;
[INFO] [stdout]     |                         ^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/move_gen.rs:459:13
[INFO] [stdout]     |
[INFO] [stdout] 459 |         let mut moves_for_white: Vec<String> = MoveGen::moves_for_square(&mut state, white_sq)
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/move_gen.rs:464:13
[INFO] [stdout]     |
[INFO] [stdout] 464 |         let mut moves_for_black: Vec<String> = MoveGen::moves_for_square(&mut state, black_sq)
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/move_gen.rs:469:13
[INFO] [stdout]     |
[INFO] [stdout] 469 |         let mut expected_moves_for_white = ["e8"; 4];
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/move_gen.rs:470:13
[INFO] [stdout]     |
[INFO] [stdout] 470 |         let mut expected_moves_for_black = ["f1"; 4];
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_mut`, `clear`, and `get_internal_board` are never used
[INFO] [stdout]   --> src/board.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Board {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn get_mut(&mut self, idx: &u8) -> Option<&mut Piece> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn clear(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn get_internal_board(&self) -> &[Option<Piece>; SIZE_0X88] {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fen` is never read
[INFO] [stdout]   --> src/chess.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 72 | struct HistoryEntry {
[INFO] [stdout]    |        ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 84 |     fen: String,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `captures_count` and `check_count` are never read
[INFO] [stdout]    --> src/chess.rs:114:5
[INFO] [stdout]     |
[INFO] [stdout]  94 | pub struct GameState {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 114 |     captures_count: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 115 |     castle_count: usize,
[INFO] [stdout] 116 |     check_count: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_draw`, `is_50_moves`, `is_friendly`, `get_boar`, and `perft` are never used
[INFO] [stdout]    --> src/chess.rs:540:8
[INFO] [stdout]     |
[INFO] [stdout] 119 | impl GameState {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 540 |     fn is_draw(&mut self) -> bool {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 658 |     fn is_50_moves(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 681 |     fn is_friendly(&self, piece: &Piece) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 929 |     pub fn get_boar(&self) -> Board {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 933 |     pub fn perft(&mut self, depth: u8, log: bool) -> usize {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `perft` is never used
[INFO] [stdout]     --> src/chess.rs:1383:8
[INFO] [stdout]      |
[INFO] [stdout] 1383 |     fn perft() {
[INFO] [stdout]      |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_enemy` is never used
[INFO] [stdout]   --> src/utils.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn is_enemy(piece: &Piece, side_to_move: Color) -> bool {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.99s
[INFO] running `Command { std: "docker" "inspect" "4dfeef9076f193d375bce09f759ae507a9cdde16637e6654a863d7f22c8d3c58", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4dfeef9076f193d375bce09f759ae507a9cdde16637e6654a863d7f22c8d3c58", kill_on_drop: false }`
[INFO] [stdout] 4dfeef9076f193d375bce09f759ae507a9cdde16637e6654a863d7f22c8d3c58
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 4fc10228440dd5b6698705ed0407571781838a8e597120db04a76fcdad5d1c01
[INFO] running `Command { std: "docker" "start" "-a" "4fc10228440dd5b6698705ed0407571781838a8e597120db04a76fcdad5d1c01", kill_on_drop: false }`
[INFO] [stderr] warning: variable `w_knights` is assigned to, but never used
[INFO] [stderr]    --> src/chess.rs:554:13
[INFO] [stderr]     |
[INFO] [stderr] 554 |         let mut w_knights = 0;
[INFO] [stderr]     |             ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: consider using `_w_knights` instead
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `b_knights` is assigned to, but never used
[INFO] [stderr]    --> src/chess.rs:555:13
[INFO] [stderr]     |
[INFO] [stderr] 555 |         let mut b_knights = 0;
[INFO] [stderr]     |             ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: consider using `_b_knights` instead
[INFO] [stderr] 
[INFO] [stderr] warning: variable `w_bishops` is assigned to, but never used
[INFO] [stderr]    --> src/chess.rs:556:13
[INFO] [stderr]     |
[INFO] [stderr] 556 |         let mut w_bishops = 0;
[INFO] [stderr]     |             ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: consider using `_w_bishops` instead
[INFO] [stderr] 
[INFO] [stderr] warning: variable `b_bishops` is assigned to, but never used
[INFO] [stderr]    --> src/chess.rs:557:13
[INFO] [stderr]     |
[INFO] [stderr] 557 |         let mut b_bishops = 0;
[INFO] [stderr]     |             ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: consider using `_b_bishops` instead
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `w_knights` is never read
[INFO] [stderr]    --> src/chess.rs:587:21
[INFO] [stderr]     |
[INFO] [stderr] 587 |                     w_knights += 1;
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `b_knights` is never read
[INFO] [stderr]    --> src/chess.rs:603:21
[INFO] [stderr]     |
[INFO] [stderr] 603 |                     b_knights += 1;
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `w_bishops` is never read
[INFO] [stderr]    --> src/chess.rs:598:21
[INFO] [stderr]     |
[INFO] [stderr] 598 |                     w_bishops += 1;
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `b_bishops` is never read
[INFO] [stderr]    --> src/chess.rs:614:21
[INFO] [stderr]     |
[INFO] [stderr] 614 |                     b_bishops += 1;
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `count` is never read
[INFO] [stderr]    --> src/chess.rs:935:25
[INFO] [stderr]     |
[INFO] [stderr] 935 |         let mut count = 0;
[INFO] [stderr]     |                         ^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: methods `get_mut`, `clear`, and `get_internal_board` are never used
[INFO] [stderr]   --> src/board.rs:31:12
[INFO] [stderr]    |
[INFO] [stderr] 12 | impl Board {
[INFO] [stderr]    | ---------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 31 |     pub fn get_mut(&mut self, idx: &u8) -> Option<&mut Piece> {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 35 |     pub fn clear(&mut self) {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 39 |     pub fn get_internal_board(&self) -> &[Option<Piece>; SIZE_0X88] {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `fen` is never read
[INFO] [stderr]   --> src/chess.rs:84:5
[INFO] [stderr]    |
[INFO] [stderr] 72 | struct HistoryEntry {
[INFO] [stderr]    |        ------------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 84 |     fen: String,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `debug`, `captures_count`, and `check_count` are never read
[INFO] [stderr]    --> src/chess.rs:109:5
[INFO] [stderr]     |
[INFO] [stderr]  94 | pub struct GameState {
[INFO] [stderr]     |            --------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 109 |     debug: bool,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 114 |     captures_count: usize,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^
[INFO] [stderr] 115 |     castle_count: usize,
[INFO] [stderr] 116 |     check_count: usize,
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]    --> src/chess.rs:523:12
[INFO] [stderr]     |
[INFO] [stderr] 119 | impl GameState {
[INFO] [stderr]     | -------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 523 |     pub fn reset(&mut self) {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 540 |     fn is_draw(&mut self) -> bool {
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 547 |     fn is_stalemate(&mut self) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 553 |     fn is_insufficient_material(&self) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 658 |     fn is_50_moves(&self) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 663 |     fn is_threefold_repetition(&self) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 673 |     fn is_checkmate(&mut self) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 681 |     fn is_friendly(&self, piece: &Piece) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 929 |     pub fn get_boar(&self) -> Board {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 933 |     pub fn perft(&mut self, depth: u8, log: bool) -> usize {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `moves` is never used
[INFO] [stderr]   --> src/move_gen.rs:47:12
[INFO] [stderr]    |
[INFO] [stderr] 13 | impl MoveGen {
[INFO] [stderr]    | ------------ associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 47 |     pub fn moves(state: &mut GameState, color: Color) -> Vec<Move> {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_enemy` is never used
[INFO] [stderr]   --> src/utils.rs:13:8
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub fn is_enemy(piece: &Piece, side_to_move: Color) -> bool {
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/move_gen.rs:459:13
[INFO] [stderr]     |
[INFO] [stderr] 459 |         let mut moves_for_white: Vec<String> = MoveGen::moves_for_square(&mut state, white_sq)
[INFO] [stderr]     |             ----^^^^^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/move_gen.rs:464:13
[INFO] [stderr]     |
[INFO] [stderr] 464 |         let mut moves_for_black: Vec<String> = MoveGen::moves_for_square(&mut state, black_sq)
[INFO] [stderr]     |             ----^^^^^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/move_gen.rs:469:13
[INFO] [stderr]     |
[INFO] [stderr] 469 |         let mut expected_moves_for_white = ["e8"; 4];
[INFO] [stderr]     |             ----^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/move_gen.rs:470:13
[INFO] [stderr]     |
[INFO] [stderr] 470 |         let mut expected_moves_for_black = ["f1"; 4];
[INFO] [stderr]     |             ----^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: fields `captures_count` and `check_count` are never read
[INFO] [stderr]    --> src/chess.rs:114:5
[INFO] [stderr]     |
[INFO] [stderr]  94 | pub struct GameState {
[INFO] [stderr]     |            --------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 114 |     captures_count: usize,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^
[INFO] [stderr] 115 |     castle_count: usize,
[INFO] [stderr] 116 |     check_count: usize,
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `is_draw`, `is_50_moves`, `is_friendly`, `get_boar`, and `perft` are never used
[INFO] [stderr]    --> src/chess.rs:540:8
[INFO] [stderr]     |
[INFO] [stderr] 119 | impl GameState {
[INFO] [stderr]     | -------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 540 |     fn is_draw(&mut self) -> bool {
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 658 |     fn is_50_moves(&self) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 681 |     fn is_friendly(&self, piece: &Piece) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 929 |     pub fn get_boar(&self) -> Board {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 933 |     pub fn perft(&mut self, depth: u8, log: bool) -> usize {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `perft` is never used
[INFO] [stderr]     --> src/chess.rs:1383:8
[INFO] [stderr]      |
[INFO] [stderr] 1383 |     fn perft() {
[INFO] [stderr]      |        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `hieu-chess` (lib) generated 15 warnings
[INFO] [stderr] warning: `hieu-chess` (lib test) generated 19 warnings (12 duplicates) (run `cargo fix --lib -p hieu-chess --tests` to apply 4 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/hieu_chess-a74dea99a70e8e99)
[INFO] [stdout] 
[INFO] [stdout] running 27 tests
[INFO] [stdout] test chess::tests::get_fen ... ok
[INFO] [stdout] test chess::tests::enpassant ... ok
[INFO] [stdout] test chess::tests::insufficient_material ... ok
[INFO] [stdout] test chess::tests::load_fen ... ok
[INFO] [stdout] test chess::tests::in_check ... ok
[INFO] [stdout] test chess::tests::play_move ... ok
[INFO] [stdout] test chess::tests::undo ... ok
[INFO] [stdout] test move_gen::tests::enpassant_moves ... ok
[INFO] [stdout] test chess::tests::checkmate ... ok
[INFO] [stdout] test chess::tests::stalemate ... ok
[INFO] [stdout] test move_gen::tests::forward_black_pawn_moves ... ok
[INFO] [stdout] test move_gen::tests::forward_white_pawn_moves ... ok
[INFO] [stdout] test move_gen::tests::moves ... ok
[INFO] [stdout] test move_gen::tests::get_queen_moves_without_blockers ... ok
[INFO] [stdout] test move_gen::tests::get_queen_moves_with_blockers ... ok
[INFO] [stdout] test chess::tests::threefold_repetition ... ok
[INFO] [stdout] test square::tests::file_and_rank ... ok
[INFO] [stdout] test move_gen::tests::pawn_captures ... ok
[INFO] [stdout] test square::tests::square_color ... ok
[INFO] [stdout] test square::tests::u8_to_rank_and_file ... ok
[INFO] [stdout] test move_gen::tests::pawn_promotion ... ok
[INFO] [stdout] test square::tests::string_to_square ... ok
[INFO] [stdout] test square::tests::square_from_arbitrary_idx ... ok
[INFO] [stdout] test move_gen::tests::king_moves ... ok
[INFO] [stdout] test square::tests::square_from_rank_and_file ... ok
[INFO] [stdout] test square::tests::square_notation ... ok
[INFO] [stdout] test move_gen::tests::moves_in_check ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 27 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration_test.rs (/opt/rustwide/target/debug/deps/integration_test-4009ab82918756ac)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests hieu_chess
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "4fc10228440dd5b6698705ed0407571781838a8e597120db04a76fcdad5d1c01", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4fc10228440dd5b6698705ed0407571781838a8e597120db04a76fcdad5d1c01", kill_on_drop: false }`
[INFO] [stdout] 4fc10228440dd5b6698705ed0407571781838a8e597120db04a76fcdad5d1c01
