[INFO] cloning repository https://github.com/Actimia/chess
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Actimia/chess" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FActimia%2Fchess", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FActimia%2Fchess'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8c01bd2b8fb325992931fa0896b5d93351513e6c
[INFO] checking Actimia/chess against master#3129d37ef7075ee3cbaa3d6cbe1b5794f67192b0 for pr-143164
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FActimia%2Fchess" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Actimia/chess
[INFO] finished tweaking git repo https://github.com/Actimia/chess
[INFO] tweaked toml for git repo https://github.com/Actimia/chess written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Actimia/chess on toolchain 3129d37ef7075ee3cbaa3d6cbe1b5794f67192b0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3129d37ef7075ee3cbaa3d6cbe1b5794f67192b0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Actimia/chess 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" "+3129d37ef7075ee3cbaa3d6cbe1b5794f67192b0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+3129d37ef7075ee3cbaa3d6cbe1b5794f67192b0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d7cb2203060050b410e22552df91c6c57c669cffc5d663c35d6cdcb6d7bd292b
[INFO] running `Command { std: "docker" "start" "-a" "d7cb2203060050b410e22552df91c6c57c669cffc5d663c35d6cdcb6d7bd292b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d7cb2203060050b410e22552df91c6c57c669cffc5d663c35d6cdcb6d7bd292b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d7cb2203060050b410e22552df91c6c57c669cffc5d663c35d6cdcb6d7bd292b", kill_on_drop: false }`
[INFO] [stdout] d7cb2203060050b410e22552df91c6c57c669cffc5d663c35d6cdcb6d7bd292b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+3129d37ef7075ee3cbaa3d6cbe1b5794f67192b0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 95e2a1827c76e940a05410bb88688f1c8d500a926046858575815213779ac390
[INFO] running `Command { std: "docker" "start" "-a" "95e2a1827c76e940a05410bb88688f1c8d500a926046858575815213779ac390", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.93
[INFO] [stderr]    Compiling unicode-ident v1.0.15
[INFO] [stderr]    Compiling libc v0.2.169
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking utf8parse v0.2.2
[INFO] [stderr]     Checking anstyle v1.0.10
[INFO] [stderr]     Checking anstyle-query v1.1.2
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.1
[INFO] [stderr]     Checking anstyle-parse v0.2.6
[INFO] [stderr]     Checking colorchoice v1.0.3
[INFO] [stderr]    Compiling anyhow v1.0.95
[INFO] [stderr]     Checking clap_lex v0.7.4
[INFO] [stderr]     Checking memchr v2.7.4
[INFO] [stderr]     Checking anstream v0.6.18
[INFO] [stderr]     Checking clap_builder v4.5.27
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]     Checking nom v8.0.0
[INFO] [stderr]    Compiling syn v2.0.96
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling clap_derive v4.5.24
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]     Checking clap v4.5.27
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking chess v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Squares`
[INFO] [stdout]  --> src/main.rs:1:20
[INFO] [stdout]   |
[INFO] [stdout] 1 | use board::{Board, Squares};
[INFO] [stdout]   |                    ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TerminalPlayer`
[INFO] [stdout]  --> src/main.rs:4:41
[INFO] [stdout]   |
[INFO] [stdout] 4 | use players::{EnginePlayer, PrintBoard, TerminalPlayer};
[INFO] [stdout]   |                                         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `array::IntoIter`
[INFO] [stdout]  --> src/bitboards/bitboard.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     array::IntoIter,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `random::*`
[INFO] [stdout]  --> src/players/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use random::*;
[INFO] [stdout]   |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Squares`
[INFO] [stdout]  --> src/main.rs:1:20
[INFO] [stdout]   |
[INFO] [stdout] 1 | use board::{Board, Squares};
[INFO] [stdout]   |                    ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TerminalPlayer`
[INFO] [stdout]  --> src/main.rs:4:41
[INFO] [stdout]   |
[INFO] [stdout] 4 | use players::{EnginePlayer, PrintBoard, TerminalPlayer};
[INFO] [stdout]   |                                         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `array::IntoIter`
[INFO] [stdout]  --> src/bitboards/bitboard.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     array::IntoIter,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `random::*`
[INFO] [stdout]  --> src/players/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use random::*;
[INFO] [stdout]   |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eval`
[INFO] [stdout]   --> src/players/engine.rs:16:14
[INFO] [stdout]    |
[INFO] [stdout] 16 |         let (eval, best_move) = EnginePlayer::evaluate(board);
[INFO] [stdout]    |              ^^^^ help: if this is intentional, prefix it with an underscore: `_eval`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eval`
[INFO] [stdout]   --> src/players/engine.rs:16:14
[INFO] [stdout]    |
[INFO] [stdout] 16 |         let (eval, best_move) = EnginePlayer::evaluate(board);
[INFO] [stdout]    |              ^^^^ help: if this is intentional, prefix it with an underscore: `_eval`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Piece` is never used
[INFO] [stdout]  --> src/bitboards/bitboard.rs:8:6
[INFO] [stdout]   |
[INFO] [stdout] 8 | type Piece = (Color, PieceType);
[INFO] [stdout]   |      ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PIECES` is never used
[INFO] [stdout]   --> src/bitboards/bitboard.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const PIECES: [Piece; 12] = [
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `piece_idx` is never used
[INFO] [stdout]   --> src/bitboards/bitboard.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn piece_idx((color, typ): Piece) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BitboardGame` is never constructed
[INFO] [stdout]   --> src/bitboards/bitboard.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct BitboardGame {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `board_for`, `board_for_mut`, `get`, and `set` are never used
[INFO] [stdout]   --> src/bitboards/bitboard.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl BitboardGame {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 49 |     pub fn new(/*fen: Into<String> */) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     fn board_for(&self, piece: Piece) -> &Bitboard {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     fn board_for_mut(&mut self, piece: Piece) -> &mut Bitboard {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn get(&self, pos: u32) -> Option<Piece> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn set(&mut self, pos: u32, piece: Piece) -> Option<Piece> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Bitboard` is never constructed
[INFO] [stdout]   --> src/bitboards/bitboard.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | struct Bitboard(u64);
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_set` is never used
[INFO] [stdout]   --> src/bitboards/bitboard.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 84 | impl Bitboard {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 85 |     fn is_set(&self, idx: u32) -> bool {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parser` is never used
[INFO] [stdout]   --> src/bitboards/fen.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn parser(fen: &str) -> IResult<&str, &str> {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_pieces` is never used
[INFO] [stdout]   --> src/bitboards/fen.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn parse_pieces<'a>(fen: &str) -> IResult<&str, &str> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_empty` is never used
[INFO] [stdout]   --> src/bitboards/fen.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn parse_empty(input: &str) -> IResult<&str, u32> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_piece` is never used
[INFO] [stdout]   --> src/bitboards/fen.rs:56:4
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn parse_piece(input: &str) -> IResult<&str, (Color, PieceType)> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_occupied_by` is never used
[INFO] [stdout]    --> src/board.rs:222:12
[INFO] [stdout]     |
[INFO] [stdout] 121 | impl Board {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 222 |     pub fn is_occupied_by(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PrintMoves` is never constructed
[INFO] [stdout]   --> src/players/util.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct PrintMoves<P: Player> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `wrap` is never used
[INFO] [stdout]   --> src/players/util.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl<P: Player> PrintMoves<P> {
[INFO] [stdout]    | ----------------------------- associated function in this implementation
[INFO] [stdout] 41 |     pub fn wrap(player: P) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ManualStep` is never constructed
[INFO] [stdout]   --> src/players/util.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct ManualStep<P: Player> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `wrap` is never used
[INFO] [stdout]   --> src/players/util.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 60 | impl<P: Player> ManualStep<P> {
[INFO] [stdout]    | ----------------------------- associated function in this implementation
[INFO] [stdout] 61 |     pub fn wrap(player: P) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TerminalPlayer` is never constructed
[INFO] [stdout]   --> src/players/terminal.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct TerminalPlayer;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_position` is never used
[INFO] [stdout]   --> src/players/terminal.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl TerminalPlayer {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] 14 |     fn read_position(&self, prompt: &str) -> Position {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RandomPlayer` is never constructed
[INFO] [stdout]  --> src/players/random.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct RandomPlayer;
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Piece` is never used
[INFO] [stdout]  --> src/bitboards/bitboard.rs:8:6
[INFO] [stdout]   |
[INFO] [stdout] 8 | type Piece = (Color, PieceType);
[INFO] [stdout]   |      ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PIECES` is never used
[INFO] [stdout]   --> src/bitboards/bitboard.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const PIECES: [Piece; 12] = [
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `piece_idx` is never used
[INFO] [stdout]   --> src/bitboards/bitboard.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn piece_idx((color, typ): Piece) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BitboardGame` is never constructed
[INFO] [stdout]   --> src/bitboards/bitboard.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct BitboardGame {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `board_for`, `board_for_mut`, `get`, and `set` are never used
[INFO] [stdout]   --> src/bitboards/bitboard.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl BitboardGame {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 49 |     pub fn new(/*fen: Into<String> */) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     fn board_for(&self, piece: Piece) -> &Bitboard {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     fn board_for_mut(&mut self, piece: Piece) -> &mut Bitboard {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn get(&self, pos: u32) -> Option<Piece> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn set(&mut self, pos: u32, piece: Piece) -> Option<Piece> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Bitboard` is never constructed
[INFO] [stdout]   --> src/bitboards/bitboard.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | struct Bitboard(u64);
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_set` is never used
[INFO] [stdout]   --> src/bitboards/bitboard.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 84 | impl Bitboard {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 85 |     fn is_set(&self, idx: u32) -> bool {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parser` is never used
[INFO] [stdout]   --> src/bitboards/fen.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn parser(fen: &str) -> IResult<&str, &str> {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_pieces` is never used
[INFO] [stdout]   --> src/bitboards/fen.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn parse_pieces<'a>(fen: &str) -> IResult<&str, &str> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_empty` is never used
[INFO] [stdout]   --> src/bitboards/fen.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn parse_empty(input: &str) -> IResult<&str, u32> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_piece` is never used
[INFO] [stdout]   --> src/bitboards/fen.rs:56:4
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn parse_piece(input: &str) -> IResult<&str, (Color, PieceType)> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_occupied_by` is never used
[INFO] [stdout]    --> src/board.rs:222:12
[INFO] [stdout]     |
[INFO] [stdout] 121 | impl Board {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 222 |     pub fn is_occupied_by(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PrintMoves` is never constructed
[INFO] [stdout]   --> src/players/util.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct PrintMoves<P: Player> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `wrap` is never used
[INFO] [stdout]   --> src/players/util.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl<P: Player> PrintMoves<P> {
[INFO] [stdout]    | ----------------------------- associated function in this implementation
[INFO] [stdout] 41 |     pub fn wrap(player: P) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ManualStep` is never constructed
[INFO] [stdout]   --> src/players/util.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct ManualStep<P: Player> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `wrap` is never used
[INFO] [stdout]   --> src/players/util.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 60 | impl<P: Player> ManualStep<P> {
[INFO] [stdout]    | ----------------------------- associated function in this implementation
[INFO] [stdout] 61 |     pub fn wrap(player: P) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TerminalPlayer` is never constructed
[INFO] [stdout]   --> src/players/terminal.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct TerminalPlayer;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_position` is never used
[INFO] [stdout]   --> src/players/terminal.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl TerminalPlayer {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] 14 |     fn read_position(&self, prompt: &str) -> Position {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RandomPlayer` is never constructed
[INFO] [stdout]  --> src/players/random.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct RandomPlayer;
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 17.03s
[INFO] running `Command { std: "docker" "inspect" "95e2a1827c76e940a05410bb88688f1c8d500a926046858575815213779ac390", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "95e2a1827c76e940a05410bb88688f1c8d500a926046858575815213779ac390", kill_on_drop: false }`
[INFO] [stdout] 95e2a1827c76e940a05410bb88688f1c8d500a926046858575815213779ac390
