[INFO] cloning repository https://github.com/ortengren/rusty_chess
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ortengren/rusty_chess" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fortengren%2Frusty_chess", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fortengren%2Frusty_chess'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b06794fe197dee4768fcd274fa9d7b8572e8e7ab
[INFO] checking ortengren/rusty_chess against try#93086cfebfccb79083c59d0d3b2052944bba643c for pr-146440-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fortengren%2Frusty_chess" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ortengren/rusty_chess
[INFO] finished tweaking git repo https://github.com/ortengren/rusty_chess
[INFO] tweaked toml for git repo https://github.com/ortengren/rusty_chess written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ortengren/rusty_chess on toolchain 93086cfebfccb79083c59d0d3b2052944bba643c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+93086cfebfccb79083c59d0d3b2052944bba643c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ortengren/rusty_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" "+93086cfebfccb79083c59d0d3b2052944bba643c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+93086cfebfccb79083c59d0d3b2052944bba643c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7f59382e008b96322d1f7d7a611012167e2e2476b5cc2d3ae29f7f5261a6fec4
[INFO] running `Command { std: "docker" "start" "-a" "7f59382e008b96322d1f7d7a611012167e2e2476b5cc2d3ae29f7f5261a6fec4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7f59382e008b96322d1f7d7a611012167e2e2476b5cc2d3ae29f7f5261a6fec4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7f59382e008b96322d1f7d7a611012167e2e2476b5cc2d3ae29f7f5261a6fec4", kill_on_drop: false }`
[INFO] [stdout] 7f59382e008b96322d1f7d7a611012167e2e2476b5cc2d3ae29f7f5261a6fec4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+93086cfebfccb79083c59d0d3b2052944bba643c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e2f89c7b007aad5e9468f266a2de6e6e06118d1439305326c2211632bc4a8e8a
[INFO] running `Command { std: "docker" "start" "-a" "e2f89c7b007aad5e9468f266a2de6e6e06118d1439305326c2211632bc4a8e8a", kill_on_drop: false }`
[INFO] [stderr]     Checking unicode-segmentation v1.10.1
[INFO] [stderr]     Checking rusty_chess v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Bishop`, `King`, `Knight`, `Pawn`, `Queen`, and `Rook`
[INFO] [stdout]    --> src/board.rs:190:25
[INFO] [stdout]     |
[INFO] [stdout] 190 |         use PieceType::{Pawn, Knight, Bishop, Rook, Queen, King};
[INFO] [stdout]     |                         ^^^^  ^^^^^^  ^^^^^^  ^^^^  ^^^^^  ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Black` and `White`
[INFO] [stdout]    --> src/board.rs:191:21
[INFO] [stdout]     |
[INFO] [stdout] 191 |         use Color::{Black, White};
[INFO] [stdout]     |                     ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::board`
[INFO] [stdout]  --> src/game.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::board;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PieceType` and `Piece`
[INFO] [stdout]  --> src/game.rs:2:27
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::board::{Board, Piece, PieceType, Color};
[INFO] [stdout]   |                           ^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Bishop`, `King`, `Knight`, `Pawn`, `Queen`, and `Rook`
[INFO] [stdout]  --> src/game.rs:3:31
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::board::PieceType::{Pawn, Knight, Bishop, Rook, Queen, King};
[INFO] [stdout]   |                               ^^^^  ^^^^^^  ^^^^^^  ^^^^  ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Black`
[INFO] [stdout]  --> src/game.rs:4:34
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::board::Color::{White, Black};
[INFO] [stdout]   |                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::game::*`
[INFO] [stdout]  --> src/game/tests.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::game::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::board::*`
[INFO] [stdout]  --> src/game/tests.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::board::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::board::*`
[INFO] [stdout]  --> src/bitboard/tests.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::board::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::game::*`
[INFO] [stdout]  --> src/bitboard/tests.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::game::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::bitboard::*`
[INFO] [stdout]  --> src/bitboard/tests.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::bitboard::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::position::*`
[INFO] [stdout]  --> src/bitboard/tests.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::position::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `A_FILE` and `H_FILE`
[INFO] [stdout]  --> src/position.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::bitboard::{A_FILE, H_FILE};
[INFO] [stdout]   |                       ^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::board::Color`
[INFO] [stdout]  --> src/position.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::board::Color;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::bitboard::Bitboard`
[INFO] [stdout]  --> src/position/tests.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::bitboard::Bitboard;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::position::Position`
[INFO] [stdout]  --> src/position/tests.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::position::Position;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::board::*`
[INFO] [stdout]  --> src/moves/tests.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::board::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]  --> src/moves/tests.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::*;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Bishop`, `King`, `Knight`, `Pawn`, `Queen`, and `Rook`
[INFO] [stdout]    --> src/board.rs:190:25
[INFO] [stdout]     |
[INFO] [stdout] 190 |         use PieceType::{Pawn, Knight, Bishop, Rook, Queen, King};
[INFO] [stdout]     |                         ^^^^  ^^^^^^  ^^^^^^  ^^^^  ^^^^^  ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Black` and `White`
[INFO] [stdout]    --> src/board.rs:191:21
[INFO] [stdout]     |
[INFO] [stdout] 191 |         use Color::{Black, White};
[INFO] [stdout]     |                     ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::board`
[INFO] [stdout]  --> src/game.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::board;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PieceType` and `Piece`
[INFO] [stdout]  --> src/game.rs:2:27
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::board::{Board, Piece, PieceType, Color};
[INFO] [stdout]   |                           ^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Bishop`, `King`, `Knight`, `Pawn`, `Queen`, and `Rook`
[INFO] [stdout]  --> src/game.rs:3:31
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::board::PieceType::{Pawn, Knight, Bishop, Rook, Queen, King};
[INFO] [stdout]   |                               ^^^^  ^^^^^^  ^^^^^^  ^^^^  ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Black`
[INFO] [stdout]  --> src/game.rs:4:34
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::board::Color::{White, Black};
[INFO] [stdout]   |                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::game::*`
[INFO] [stdout]  --> src/game/tests.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::game::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::board::*`
[INFO] [stdout]  --> src/game/tests.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::board::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::board::*`
[INFO] [stdout]  --> src/bitboard/tests.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::board::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::game::*`
[INFO] [stdout]  --> src/bitboard/tests.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::game::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::position::*`
[INFO] [stdout]  --> src/bitboard/tests.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::position::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `A_FILE` and `H_FILE`
[INFO] [stdout]  --> src/position.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::bitboard::{A_FILE, H_FILE};
[INFO] [stdout]   |                       ^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::board::Color`
[INFO] [stdout]  --> src/position.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::board::Color;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/board.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let mut piece: Piece = self.get_mut_tile(start_sq).unwrap().take().unwrap();
[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: value assigned to `curr_sq` is never read
[INFO] [stdout]    --> src/board.rs:199:27
[INFO] [stdout]     |
[INFO] [stdout] 199 |         let mut curr_sq = (FILES[curr_file], curr_rank);
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 217 |             curr_sq = (FILES[curr_file], curr_rank);
[INFO] [stdout]     |             --------------------------------------- `curr_sq` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `curr_sq` is never read
[INFO] [stdout]    --> src/board.rs:213:17
[INFO] [stdout]     |
[INFO] [stdout] 213 |                 curr_sq = (FILES[curr_file], curr_rank);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `curr_sq` is never read
[INFO] [stdout]    --> src/board.rs:206:17
[INFO] [stdout]     |
[INFO] [stdout] 206 |                 curr_sq.0 = FILES[curr_file];
[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/game.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 |         let mut white_may_castle_kingside = true;
[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/game.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let mut white_may_castle_queenside = true;
[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/game.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 19 |         let mut black_may_castle_kingside = true;
[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/game.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let mut black_may_castle_queenside = true;
[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/game.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |         let mut castling_rights_arr: [bool; 4] = [
[INFO] [stdout]    |             ----^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `attacks_bb` is never read
[INFO] [stdout]   --> src/moves.rs:56:26
[INFO] [stdout]    |
[INFO] [stdout] 56 |     let mut attacks_bb = Bitboard(0);
[INFO] [stdout]    |                          ^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 78 |     attacks_bb = bitboard::or(&righthand_attacks, &lefthand_attacks);
[INFO] [stdout]    |     ---------------------------------------------------------------- `attacks_bb` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `attack_bb` is never read
[INFO] [stdout]    --> src/moves.rs:112:25
[INFO] [stdout]     |
[INFO] [stdout] 112 |       let mut attack_bb = Bitboard(0);
[INFO] [stdout]     |                           ^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] 113 |       piece_bb.set_bit_in_place(square as u8);
[INFO] [stdout] 114 | /     attack_bb = 
[INFO] [stdout] 115 | |         bitboard::or(
[INFO] [stdout] 116 | |             &bitboard::or(
[INFO] [stdout] 117 | |                 &bitboard::or(
[INFO] [stdout] ...   |
[INFO] [stdout] 136 | |         );
[INFO] [stdout]     | |_________- `attack_bb` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `BOARD` is never used
[INFO] [stdout]  --> src/board.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | static BOARD: [&'static str; 64] = [
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_mut_tile`, `move_piece_in_place`, and `move_piece` are never used
[INFO] [stdout]    --> src/board.rs:98:8
[INFO] [stdout]     |
[INFO] [stdout]  97 | impl Board {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout]  98 |     fn get_mut_tile(&mut self, square: (char, u8)) -> Result<&mut Tile, &'static str> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     fn move_piece_in_place(&mut self, start_sq: (char, u8), end_sq: (char, u8)) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     fn move_piece(&self, start_sq: (char, u8), end_sq: (char, u8)) -> Board {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Game` is never constructed
[INFO] [stdout]  --> src/game.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Game {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/game.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Game {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 15 |     fn new() -> Game {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `Move` is never constructed
[INFO] [stdout]   --> src/moves.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Move {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout]    = note: `#[deny(unused_unconstructable_pub_structs)]` (part of `#[deny(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `start_square`, `end_square`, and `promotion` are never read
[INFO] [stdout]   --> src/moves.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Move {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 17 |     start_square: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 18 |     end_square: u8,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 19 |     promotion: Option<PieceType>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `leaper_attacks` is never read
[INFO] [stdout]  --> src/tables.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Tables {
[INFO] [stdout]   |            ------ field in this struct
[INFO] [stdout] 9 |     leaper_attacks: LeaperAttackTable,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rusty_chess` (lib) due to 1 previous error; 35 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/board.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let mut piece: Piece = self.get_mut_tile(start_sq).unwrap().take().unwrap();
[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: value assigned to `curr_sq` is never read
[INFO] [stdout]    --> src/board.rs:199:27
[INFO] [stdout]     |
[INFO] [stdout] 199 |         let mut curr_sq = (FILES[curr_file], curr_rank);
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 217 |             curr_sq = (FILES[curr_file], curr_rank);
[INFO] [stdout]     |             --------------------------------------- `curr_sq` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `curr_sq` is never read
[INFO] [stdout]    --> src/board.rs:213:17
[INFO] [stdout]     |
[INFO] [stdout] 213 |                 curr_sq = (FILES[curr_file], curr_rank);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `curr_sq` is never read
[INFO] [stdout]    --> src/board.rs:206:17
[INFO] [stdout]     |
[INFO] [stdout] 206 |                 curr_sq.0 = FILES[curr_file];
[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/game.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 |         let mut white_may_castle_kingside = true;
[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/game.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let mut white_may_castle_queenside = true;
[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/game.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 19 |         let mut black_may_castle_kingside = true;
[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/game.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let mut black_may_castle_queenside = true;
[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/game.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |         let mut castling_rights_arr: [bool; 4] = [
[INFO] [stdout]    |             ----^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `attacks_bb` is never read
[INFO] [stdout]   --> src/moves.rs:56:26
[INFO] [stdout]    |
[INFO] [stdout] 56 |     let mut attacks_bb = Bitboard(0);
[INFO] [stdout]    |                          ^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 78 |     attacks_bb = bitboard::or(&righthand_attacks, &lefthand_attacks);
[INFO] [stdout]    |     ---------------------------------------------------------------- `attacks_bb` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `attack_bb` is never read
[INFO] [stdout]    --> src/moves.rs:112:25
[INFO] [stdout]     |
[INFO] [stdout] 112 |       let mut attack_bb = Bitboard(0);
[INFO] [stdout]     |                           ^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] 113 |       piece_bb.set_bit_in_place(square as u8);
[INFO] [stdout] 114 | /     attack_bb = 
[INFO] [stdout] 115 | |         bitboard::or(
[INFO] [stdout] 116 | |             &bitboard::or(
[INFO] [stdout] 117 | |                 &bitboard::or(
[INFO] [stdout] ...   |
[INFO] [stdout] 136 | |         );
[INFO] [stdout]     | |_________- `attack_bb` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `BOARD` is never used
[INFO] [stdout]  --> src/board.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | static BOARD: [&'static str; 64] = [
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `move_piece` is never used
[INFO] [stdout]    --> src/board.rs:116:8
[INFO] [stdout]     |
[INFO] [stdout]  97 | impl Board {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 116 |     fn move_piece(&self, start_sq: (char, u8), end_sq: (char, u8)) -> Board {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Game` is never constructed
[INFO] [stdout]  --> src/game.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Game {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/game.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Game {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 15 |     fn new() -> Game {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `Move` is never constructed
[INFO] [stdout]   --> src/moves.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Move {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout]    = note: `#[deny(unused_unconstructable_pub_structs)]` (part of `#[deny(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `start_square`, `end_square`, and `promotion` are never read
[INFO] [stdout]   --> src/moves.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Move {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 17 |     start_square: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 18 |     end_square: u8,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 19 |     promotion: Option<PieceType>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `leaper_attacks` is never read
[INFO] [stdout]  --> src/tables.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Tables {
[INFO] [stdout]   |            ------ field in this struct
[INFO] [stdout] 9 |     leaper_attacks: LeaperAttackTable,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rusty_chess` (lib test) due to 1 previous error; 30 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "e2f89c7b007aad5e9468f266a2de6e6e06118d1439305326c2211632bc4a8e8a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e2f89c7b007aad5e9468f266a2de6e6e06118d1439305326c2211632bc4a8e8a", kill_on_drop: false }`
[INFO] [stdout] e2f89c7b007aad5e9468f266a2de6e6e06118d1439305326c2211632bc4a8e8a
