[INFO] cloning repository https://github.com/emptyfridge0900/chess
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/emptyfridge0900/chess" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Femptyfridge0900%2Fchess", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Femptyfridge0900%2Fchess'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e95a2fea39ad68d75b08efaa0961a7f3af70eb98
[INFO] checking emptyfridge0900/chess against try#93086cfebfccb79083c59d0d3b2052944bba643c for pr-146440-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Femptyfridge0900%2Fchess" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/emptyfridge0900/chess
[INFO] finished tweaking git repo https://github.com/emptyfridge0900/chess
[INFO] tweaked toml for git repo https://github.com/emptyfridge0900/chess written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/emptyfridge0900/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/emptyfridge0900/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-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 5a8e1796a43e09d16e4a793839a297f929b98a489941cbb0c269e913535f2ebb
[INFO] running `Command { std: "docker" "start" "-a" "5a8e1796a43e09d16e4a793839a297f929b98a489941cbb0c269e913535f2ebb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5a8e1796a43e09d16e4a793839a297f929b98a489941cbb0c269e913535f2ebb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5a8e1796a43e09d16e4a793839a297f929b98a489941cbb0c269e913535f2ebb", kill_on_drop: false }`
[INFO] [stdout] 5a8e1796a43e09d16e4a793839a297f929b98a489941cbb0c269e913535f2ebb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 4c8b7dacdf6e76854b9574266b733f7c106f8d537dd1ead822c6cfa9ff61dd8a
[INFO] running `Command { std: "docker" "start" "-a" "4c8b7dacdf6e76854b9574266b733f7c106f8d537dd1ead822c6cfa9ff61dd8a", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.93
[INFO] [stderr]    Compiling zerocopy v0.8.17
[INFO] [stderr]     Checking getrandom v0.3.1
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]    Compiling syn v2.0.98
[INFO] [stderr]     Checking rand_core v0.9.0
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.9.0
[INFO] [stderr]     Checking bitboardchess v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::num::ParseIntError`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::num::ParseIntError;
[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 import: `std::num::ParseIntError`
[INFO] [stdout]  --> src/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::num::ParseIntError;
[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 variable: `m`
[INFO] [stdout]  --> src/main.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let m = [0; 4];
[INFO] [stdout]   |         ^ help: if this is intentional, prefix it with an underscore: `_m`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `board`
[INFO] [stdout]    --> src/main.rs:455:20
[INFO] [stdout]     |
[INFO] [stdout] 455 |     fn parse_part4(board: &mut Board, en_passant: &str) -> Result<(), ChessError> {
[INFO] [stdout]     |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_board`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `squre`
[INFO] [stdout]    --> src/main.rs:504:17
[INFO] [stdout]     |
[INFO] [stdout] 504 |             let squre = Square::new(file as usize, rank as usize);
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_squre`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/main.rs:509:45
[INFO] [stdout]     |
[INFO] [stdout] 509 |         let h = half.parse::<u8>().map_err(|x| {
[INFO] [stdout]     |                                             ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/main.rs:516:45
[INFO] [stdout]     |
[INFO] [stdout] 516 |         let f = full.parse::<u8>().map_err(|x| {
[INFO] [stdout]     |                                             ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `m`
[INFO] [stdout]  --> src/main.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     let m = [0; 4];
[INFO] [stdout]   |         ^ help: if this is intentional, prefix it with an underscore: `_m`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `ZobristBoard` is never constructed
[INFO] [stdout]    --> src/main.rs:293:12
[INFO] [stdout]     |
[INFO] [stdout] 293 | pub struct ZobristBoard {
[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] error: struct `Board` is never constructed
[INFO] [stdout]    --> src/main.rs:358:12
[INFO] [stdout]     |
[INFO] [stdout] 358 | pub struct Board {
[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] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `Direction` is never constructed
[INFO] [stdout]    --> src/main.rs:668:12
[INFO] [stdout]     |
[INFO] [stdout] 668 | pub struct Direction(i8, i8);
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `bb` is never used
[INFO] [stdout]   --> src/main.rs:72:14
[INFO] [stdout]    |
[INFO] [stdout] 71 | impl File {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 72 |     const fn bb(self) -> BitBoard {
[INFO] [stdout]    |              ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `bitboardchess` (bin "bitboardchess") due to 3 previous errors; 31 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: method `bb` is never used
[INFO] [stdout]    --> src/main.rs:106:14
[INFO] [stdout]     |
[INFO] [stdout] 105 | impl Rank {
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] 106 |     const fn bb(self) -> BitBoard {
[INFO] [stdout]     |              ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `peieces`, `castle_right`, `en_passant`, `white_color`, and `key` are never read
[INFO] [stdout]    --> src/main.rs:294:5
[INFO] [stdout]     |
[INFO] [stdout] 293 | pub struct ZobristBoard {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 294 |     peieces: [[[u64; NUM::SQUARE]; NUM::PIECE]; NUM::COLOR],
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 295 |     castle_right: [[u64; NUM::SIDE]; NUM::COLOR],
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 296 |     en_passant: [[u64; NUM::FILE]; NUM::COLOR],
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 297 |     white_color: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 298 |     key: u64,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/main.rs:301:8
[INFO] [stdout]     |
[INFO] [stdout] 300 | impl ZobristBoard {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 301 |     fn new() -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 310 |     fn init(&mut self) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 337 |     fn key(&self) -> u64 {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 341 |     fn piece(&mut self, color: Color, piece: Piece, square: Square) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 345 |     fn castle_right(&mut self, color: Color, piece: Piece) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 349 |     fn en_passant(&mut self, color: Color, file: File) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 353 |     fn side(&mut self) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/main.rs:359:5
[INFO] [stdout]     |
[INFO] [stdout] 358 | pub struct Board {
[INFO] [stdout]     |            ----- fields in this struct
[INFO] [stdout] 359 |     color_bb: [BitBoard; NUM::COLOR],
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 360 |     piece_bb: [[BitBoard; NUM::PIECE]; NUM::COLOR],
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 361 |     catle_right: [[CastleRight; 2]; 2],
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 362 |     en_passant: Option<Square>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 363 |     whos_turn: Color,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 364 |     half_move: u8,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 365 |     full_move: u8,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/main.rs:368:8
[INFO] [stdout]     |
[INFO] [stdout] 367 | impl Board {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] 368 |     fn new() -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 379 |     fn parse(fen_string: &str) -> Result<Board, ChessError> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 416 |     fn piece(&mut self, color: Color, piece: Piece, square: Square) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 421 |     fn color(&mut self, color: Color, square: Square) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 425 |     fn parse_part2(board: &mut Board, color: &str) -> Result<(), ChessError> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 437 |     fn parse_part3(board: &mut Board, catle_right: &str) -> Result<(), ChessError> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 455 |     fn parse_part4(board: &mut Board, en_passant: &str) -> Result<(), ChessError> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 508 |     fn parse_part5(board: &mut Board, half: &str) -> Result<(), ChessError> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 515 |     fn parse_part6(board: &mut Board, full: &str) -> Result<(), ChessError> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 523 |     fn parse_part1(board: &mut Board, pieces: &str) -> Result<(), ChessError> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ChessError` is never used
[INFO] [stdout]    --> src/main.rs:607:6
[INFO] [stdout]     |
[INFO] [stdout] 607 | enum ChessError {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ParseError` is never used
[INFO] [stdout]    --> src/main.rs:611:6
[INFO] [stdout]     |
[INFO] [stdout] 611 | enum ParseError {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `VecError` is never used
[INFO] [stdout]    --> src/main.rs:619:6
[INFO] [stdout]     |
[INFO] [stdout] 619 | type VecError = <Vec<Piece> as TryInto<[Piece; 64]>>::Error;
[INFO] [stdout]     |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/main.rs:668:22
[INFO] [stdout]     |
[INFO] [stdout] 668 | pub struct Direction(i8, i8);
[INFO] [stdout]     |            --------- ^^  ^^
[INFO] [stdout]     |            |
[INFO] [stdout]     |            fields in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing these fields
[INFO] [stdout]     = note: `Direction` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_slider_moves` is never used
[INFO] [stdout]    --> src/main.rs:669:10
[INFO] [stdout]     |
[INFO] [stdout] 669 | const fn get_slider_moves(
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_rook_relevant_bits` is never used
[INFO] [stdout]    --> src/main.rs:694:10
[INFO] [stdout]     |
[INFO] [stdout] 694 | const fn get_rook_relevant_bits(square: Square) -> BitBoard {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_bishop_relevant_bits` is never used
[INFO] [stdout]    --> src/main.rs:700:10
[INFO] [stdout]     |
[INFO] [stdout] 700 | const fn get_bishop_relevant_bits(square: Square) -> BitBoard {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `number_of_bishop_relevant_bits` is never used
[INFO] [stdout]    --> src/main.rs:775:7
[INFO] [stdout]     |
[INFO] [stdout] 775 | const number_of_bishop_relevant_bits: [u8; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `number_of_rook_relevant_bits` is never used
[INFO] [stdout]    --> src/main.rs:779:7
[INFO] [stdout]     |
[INFO] [stdout] 779 | const number_of_rook_relevant_bits: [u8; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `rook_magic` is never used
[INFO] [stdout]    --> src/main.rs:784:7
[INFO] [stdout]     |
[INFO] [stdout] 784 | const rook_magic: [u64; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `bishop_magic` is never used
[INFO] [stdout]    --> src/main.rs:850:7
[INFO] [stdout]     |
[INFO] [stdout] 850 | const bishop_magic: [u64; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_magic` is never used
[INFO] [stdout]    --> src/main.rs:917:4
[INFO] [stdout]     |
[INFO] [stdout] 917 | fn get_magic(square: Square, is_rook: bool) -> (MagicEntry, Vec<BitBoard>) {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_table` is never used
[INFO] [stdout]    --> src/main.rs:943:4
[INFO] [stdout]     |
[INFO] [stdout] 943 | fn make_table(entry: &MagicEntry, square: Square, is_rook: bool) -> Result<Vec<BitBoard>, ()> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `magic_index` is never used
[INFO] [stdout]    --> src/main.rs:984:4
[INFO] [stdout]     |
[INFO] [stdout] 984 | fn magic_index(entry: &MagicEntry, blockers: BitBoard) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MagicEntry` is never constructed
[INFO] [stdout]    --> src/main.rs:991:8
[INFO] [stdout]     |
[INFO] [stdout] 991 | struct MagicEntry {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `number_of_bishop_relevant_bits` should have an upper case name
[INFO] [stdout]    --> src/main.rs:775:7
[INFO] [stdout]     |
[INFO] [stdout] 775 | const number_of_bishop_relevant_bits: [u8; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 775 - const number_of_bishop_relevant_bits: [u8; 64] = [
[INFO] [stdout] 775 + const NUMBER_OF_BISHOP_RELEVANT_BITS: [u8; 64] = [
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `number_of_rook_relevant_bits` should have an upper case name
[INFO] [stdout]    --> src/main.rs:779:7
[INFO] [stdout]     |
[INFO] [stdout] 779 | const number_of_rook_relevant_bits: [u8; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 779 - const number_of_rook_relevant_bits: [u8; 64] = [
[INFO] [stdout] 779 + const NUMBER_OF_ROOK_RELEVANT_BITS: [u8; 64] = [
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `rook_magic` should have an upper case name
[INFO] [stdout]    --> src/main.rs:784:7
[INFO] [stdout]     |
[INFO] [stdout] 784 | const rook_magic: [u64; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^ help: convert the identifier to upper case: `ROOK_MAGIC`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `bishop_magic` should have an upper case name
[INFO] [stdout]    --> src/main.rs:850:7
[INFO] [stdout]     |
[INFO] [stdout] 850 | const bishop_magic: [u64; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^ help: convert the identifier to upper case: `BISHOP_MAGIC`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `board`
[INFO] [stdout]    --> src/main.rs:455:20
[INFO] [stdout]     |
[INFO] [stdout] 455 |     fn parse_part4(board: &mut Board, en_passant: &str) -> Result<(), ChessError> {
[INFO] [stdout]     |                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_board`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `squre`
[INFO] [stdout]    --> src/main.rs:504:17
[INFO] [stdout]     |
[INFO] [stdout] 504 |             let squre = Square::new(file as usize, rank as usize);
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_squre`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/main.rs:509:45
[INFO] [stdout]     |
[INFO] [stdout] 509 |         let h = half.parse::<u8>().map_err(|x| {
[INFO] [stdout]     |                                             ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/main.rs:516:45
[INFO] [stdout]     |
[INFO] [stdout] 516 |         let f = full.parse::<u8>().map_err(|x| {
[INFO] [stdout]     |                                             ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xd`
[INFO] [stdout]     --> src/main.rs:1074:17
[INFO] [stdout]      |
[INFO] [stdout] 1074 |             let xd = get_magic(Square::to_square(i), false);
[INFO] [stdout]      |                 ^^ help: if this is intentional, prefix it with an underscore: `_xd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `ZobristBoard` is never constructed
[INFO] [stdout]    --> src/main.rs:293:12
[INFO] [stdout]     |
[INFO] [stdout] 293 | pub struct ZobristBoard {
[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 `peieces`, `castle_right`, `en_passant`, `white_color`, and `key` are never read
[INFO] [stdout]    --> src/main.rs:294:5
[INFO] [stdout]     |
[INFO] [stdout] 293 | pub struct ZobristBoard {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 294 |     peieces: [[[u64; NUM::SQUARE]; NUM::PIECE]; NUM::COLOR],
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 295 |     castle_right: [[u64; NUM::SIDE]; NUM::COLOR],
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 296 |     en_passant: [[u64; NUM::FILE]; NUM::COLOR],
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 297 |     white_color: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 298 |     key: u64,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/main.rs:301:8
[INFO] [stdout]     |
[INFO] [stdout] 300 | impl ZobristBoard {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 301 |     fn new() -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 310 |     fn init(&mut self) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 337 |     fn key(&self) -> u64 {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 341 |     fn piece(&mut self, color: Color, piece: Piece, square: Square) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 345 |     fn castle_right(&mut self, color: Color, piece: Piece) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 349 |     fn en_passant(&mut self, color: Color, file: File) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 353 |     fn side(&mut self) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `en_passant` is never read
[INFO] [stdout]    --> src/main.rs:362:5
[INFO] [stdout]     |
[INFO] [stdout] 358 | pub struct Board {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 362 |     en_passant: Option<Square>,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/main.rs:368:8
[INFO] [stdout]     |
[INFO] [stdout] 367 | impl Board {
[INFO] [stdout]     | ---------- associated function in this implementation
[INFO] [stdout] 368 |     fn new() -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/main.rs:608:16
[INFO] [stdout]     |
[INFO] [stdout] 608 |     ParseError(ParseError),
[INFO] [stdout]     |     ---------- ^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ChessError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 608 -     ParseError(ParseError),
[INFO] [stdout] 608 +     ParseError(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/main.rs:612:16
[INFO] [stdout]     |
[INFO] [stdout] 612 |     ParsePart1(String),
[INFO] [stdout]     |     ---------- ^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 612 -     ParsePart1(String),
[INFO] [stdout] 612 +     ParsePart1(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/main.rs:613:16
[INFO] [stdout]     |
[INFO] [stdout] 613 |     ParsePart2(String),
[INFO] [stdout]     |     ---------- ^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 613 -     ParsePart2(String),
[INFO] [stdout] 613 +     ParsePart2(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/main.rs:614:16
[INFO] [stdout]     |
[INFO] [stdout] 614 |     ParsePart3(String),
[INFO] [stdout]     |     ---------- ^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 614 -     ParsePart3(String),
[INFO] [stdout] 614 +     ParsePart3(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/main.rs:615:16
[INFO] [stdout]     |
[INFO] [stdout] 615 |     ParsePart4(String),
[INFO] [stdout]     |     ---------- ^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 615 -     ParsePart4(String),
[INFO] [stdout] 615 +     ParsePart4(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/main.rs:616:16
[INFO] [stdout]     |
[INFO] [stdout] 616 |     ParsePart5(String),
[INFO] [stdout]     |     ---------- ^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 616 -     ParsePart5(String),
[INFO] [stdout] 616 +     ParsePart5(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/main.rs:617:16
[INFO] [stdout]     |
[INFO] [stdout] 617 |     ParsePart6(String),
[INFO] [stdout]     |     ---------- ^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 617 -     ParsePart6(String),
[INFO] [stdout] 617 +     ParsePart6(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `bitboardchess` (bin "bitboardchess" test) due to 1 previous error; 25 warnings emitted
[INFO] [stdout] warning: type alias `VecError` is never used
[INFO] [stdout]    --> src/main.rs:619:6
[INFO] [stdout]     |
[INFO] [stdout] 619 | type VecError = <Vec<Piece> as TryInto<[Piece; 64]>>::Error;
[INFO] [stdout]     |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `rook_magic` is never used
[INFO] [stdout]    --> src/main.rs:784:7
[INFO] [stdout]     |
[INFO] [stdout] 784 | const rook_magic: [u64; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `bishop_magic` is never used
[INFO] [stdout]    --> src/main.rs:850:7
[INFO] [stdout]     |
[INFO] [stdout] 850 | const bishop_magic: [u64; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `number_of_bishop_relevant_bits` should have an upper case name
[INFO] [stdout]    --> src/main.rs:775:7
[INFO] [stdout]     |
[INFO] [stdout] 775 | const number_of_bishop_relevant_bits: [u8; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 775 - const number_of_bishop_relevant_bits: [u8; 64] = [
[INFO] [stdout] 775 + const NUMBER_OF_BISHOP_RELEVANT_BITS: [u8; 64] = [
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `number_of_rook_relevant_bits` should have an upper case name
[INFO] [stdout]    --> src/main.rs:779:7
[INFO] [stdout]     |
[INFO] [stdout] 779 | const number_of_rook_relevant_bits: [u8; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 779 - const number_of_rook_relevant_bits: [u8; 64] = [
[INFO] [stdout] 779 + const NUMBER_OF_ROOK_RELEVANT_BITS: [u8; 64] = [
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `rook_magic` should have an upper case name
[INFO] [stdout]    --> src/main.rs:784:7
[INFO] [stdout]     |
[INFO] [stdout] 784 | const rook_magic: [u64; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^ help: convert the identifier to upper case: `ROOK_MAGIC`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `bishop_magic` should have an upper case name
[INFO] [stdout]    --> src/main.rs:850:7
[INFO] [stdout]     |
[INFO] [stdout] 850 | const bishop_magic: [u64; 64] = [
[INFO] [stdout]     |       ^^^^^^^^^^^^ help: convert the identifier to upper case: `BISHOP_MAGIC`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "4c8b7dacdf6e76854b9574266b733f7c106f8d537dd1ead822c6cfa9ff61dd8a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4c8b7dacdf6e76854b9574266b733f7c106f8d537dd1ead822c6cfa9ff61dd8a", kill_on_drop: false }`
[INFO] [stdout] 4c8b7dacdf6e76854b9574266b733f7c106f8d537dd1ead822c6cfa9ff61dd8a
