[INFO] fetching crate turbochess 0.2.0...
[INFO] checking turbochess-0.2.0 against try#0611f7de057c584b8771102fde7aed6c70c71d3b for pr-146440
[INFO] extracting crate turbochess 0.2.0 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate turbochess 0.2.0
[INFO] finished tweaking crates.io crate turbochess 0.2.0
[INFO] tweaked toml for crates.io crate turbochess 0.2.0 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate turbochess 0.2.0 on toolchain 0611f7de057c584b8771102fde7aed6c70c71d3b
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "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" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 574d2b7783f9c06bb102925cefeb8ea5c03fc70728dbe7d0bb9ce74f03729643
[INFO] running `Command { std: "docker" "start" "-a" "574d2b7783f9c06bb102925cefeb8ea5c03fc70728dbe7d0bb9ce74f03729643", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "574d2b7783f9c06bb102925cefeb8ea5c03fc70728dbe7d0bb9ce74f03729643", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "574d2b7783f9c06bb102925cefeb8ea5c03fc70728dbe7d0bb9ce74f03729643", kill_on_drop: false }`
[INFO] [stdout] 574d2b7783f9c06bb102925cefeb8ea5c03fc70728dbe7d0bb9ce74f03729643
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b3bdbe307ec79950a82d16ffe1f1b28841662ae5aea05df0015f291d50ccc214
[INFO] running `Command { std: "docker" "start" "-a" "b3bdbe307ec79950a82d16ffe1f1b28841662ae5aea05df0015f291d50ccc214", kill_on_drop: false }`
[INFO] [stderr]     Checking turbochess v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]  --> src/lookup.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io::Write;
[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: `fs::File` and `thread`
[INFO] [stdout]  --> src/lookup.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{fs::File, thread};
[INFO] [stdout]   |           ^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/testing.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]  --> src/testing.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::time::Instant;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `test_perft`
[INFO] [stdout]   --> src/testing.rs:68:14
[INFO] [stdout]    |
[INFO] [stdout] 68 | macro_rules! test_perft {
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]  --> src/lookup.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io::Write;
[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: `fs::File` and `thread`
[INFO] [stdout]  --> src/lookup.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{fs::File, thread};
[INFO] [stdout]   |           ^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/testing.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |     let mut pos =
[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 `b1` is never read
[INFO] [stdout]    --> src/lib.rs:652:22
[INFO] [stdout]     |
[INFO] [stdout] 652 |         let mut b1 = 0u64;
[INFO] [stdout]     |                      ^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 659 |         b1 = self.pieces_bb[1 - state.turn][Piece::PAWN];
[INFO] [stdout]     |         ------------------------------------------------ `b1` 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 `s` is never read
[INFO] [stdout]    --> src/lib.rs:653:21
[INFO] [stdout]     |
[INFO] [stdout] 653 |         let mut s = 0usize;
[INFO] [stdout]     |                     ^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 685 |             s = b1.bit_scan();
[INFO] [stdout]     |             ----------------- `s` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `check_count` is never read
[INFO] [stdout]    --> src/lib.rs:695:31
[INFO] [stdout]     |
[INFO] [stdout] 695 |         let mut check_count = 0;
[INFO] [stdout]     |                               ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 715 |         check_count = checkmask.bit_count();
[INFO] [stdout]     |         ----------------------------------- `check_count` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `b1` is never read
[INFO] [stdout]    --> src/lib.rs:700:22
[INFO] [stdout]     |
[INFO] [stdout] 700 |         let mut b1 = 0u64;
[INFO] [stdout]     |                      ^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 752 |             b1 = between(king, s) & D12_MASKS[king]; // Use a mask to filter queen moves that move orthagonally
[INFO] [stdout]     |             --------------------------------------- `b1` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `b2` is never read
[INFO] [stdout]    --> src/lib.rs:701:22
[INFO] [stdout]     |
[INFO] [stdout] 701 |         let mut b2 = 0u64;
[INFO] [stdout]     |                      ^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 753 |             b2 = line(king, s) & D12_MASKS_2[king]; // Use a mask to filter queen moves that move orthagonally
[INFO] [stdout]     |             -------------------------------------- `b2` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `s` is never read
[INFO] [stdout]    --> src/lib.rs:702:21
[INFO] [stdout]     |
[INFO] [stdout] 702 |         let mut s = 0usize;
[INFO] [stdout]     |                     ^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 751 |             s = e_d12.bit_scan();
[INFO] [stdout]     |             -------------------- `s` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `b1` is never read
[INFO] [stdout]    --> src/lib.rs:813:22
[INFO] [stdout]     |
[INFO] [stdout] 813 |         let mut b1 = 0u64;
[INFO] [stdout]     |                      ^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 818 |         b1 = KING_MASK[o_king] & !self.danger;
[INFO] [stdout]     |         ------------------------------------- `b1` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `b2` is never read
[INFO] [stdout]    --> src/lib.rs:814:22
[INFO] [stdout]     |
[INFO] [stdout] 814 |         let mut b2 = 0u64;
[INFO] [stdout]     |                      ^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 897 |         b2 = b1 & !BitBoard::relative_rank(8, state.turn) & self.checkmask;
[INFO] [stdout]     |         ------------------------------------------------------------------ `b2` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `b3` is never read
[INFO] [stdout]     --> src/lib.rs:815:22
[INFO] [stdout]      |
[INFO] [stdout]  815 |         let mut b3 = 0u64;
[INFO] [stdout]      |                      ^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1156 |                     b3 = self.hv_sliders(1 - state.turn) & BitBoard::RANK_1 << (o_king / 8 * 8);
[INFO] [stdout]      |                     --------------------------------------------------------------------------- `b3` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `attacks` is never used
[INFO] [stdout]       --> src/lookup.rs:116457:14
[INFO] [stdout]        |
[INFO] [stdout] 116457 | pub const fn attacks(sq: usize, p: usize, occupancy: u64) -> 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: function `pawn_attacks` is never used
[INFO] [stdout]       --> src/lookup.rs:116473:14
[INFO] [stdout]        |
[INFO] [stdout] 116473 | pub const fn pawn_attacks(sq: usize, color: usize) -> u64 {
[INFO] [stdout]        |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pawn_attacks_bb` is never used
[INFO] [stdout]       --> src/lookup.rs:116477:14
[INFO] [stdout]        |
[INFO] [stdout] 116477 | pub const fn pawn_attacks_bb(bb: u64, color: usize) -> u64 {
[INFO] [stdout]        |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WHITE_00` is never used
[INFO] [stdout]       --> src/lookup.rs:116486:11
[INFO] [stdout]        |
[INFO] [stdout] 116486 | pub const WHITE_00: u64 = 0x90;
[INFO] [stdout]        |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLACK_00` is never used
[INFO] [stdout]       --> src/lookup.rs:116487:11
[INFO] [stdout]        |
[INFO] [stdout] 116487 | pub const BLACK_00: u64 = 0x9000000000000000;
[INFO] [stdout]        |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WHITE_000` is never used
[INFO] [stdout]       --> src/lookup.rs:116488:11
[INFO] [stdout]        |
[INFO] [stdout] 116488 | pub const WHITE_000: u64 = 0x11;
[INFO] [stdout]        |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLACK_000` is never used
[INFO] [stdout]       --> src/lookup.rs:116489:11
[INFO] [stdout]        |
[INFO] [stdout] 116489 | pub const BLACK_000: u64 = 0x1100000000000000;
[INFO] [stdout]        |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `oo_mask` is never used
[INFO] [stdout]       --> src/lookup.rs:116495:8
[INFO] [stdout]        |
[INFO] [stdout] 116495 | pub fn oo_mask(color: usize) -> u64 {
[INFO] [stdout]        |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ooo_mask` is never used
[INFO] [stdout]       --> src/lookup.rs:116502:8
[INFO] [stdout]        |
[INFO] [stdout] 116502 | pub fn ooo_mask(color: usize) -> u64 {
[INFO] [stdout]        |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `perft` is never used
[INFO] [stdout]  --> src/testing.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn perft(mut pos: Position, depth: usize) -> i64 {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `perft_complete` is never used
[INFO] [stdout]   --> src/testing.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn perft_complete(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `perft_divide` is never used
[INFO] [stdout]   --> src/testing.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn perft_divide(mut pos: Position, depth: usize) -> i64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `BitBoardSubsetIter` is never constructed
[INFO] [stdout]    --> src/types.rs:499:12
[INFO] [stdout]     |
[INFO] [stdout] 499 | pub struct BitBoardSubsetIter {
[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_struct)]` (part of `#[deny(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `b1` is never read
[INFO] [stdout]    --> src/lib.rs:652:22
[INFO] [stdout]     |
[INFO] [stdout] 652 |         let mut b1 = 0u64;
[INFO] [stdout]     |                      ^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 659 |         b1 = self.pieces_bb[1 - state.turn][Piece::PAWN];
[INFO] [stdout]     |         ------------------------------------------------ `b1` 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 `s` is never read
[INFO] [stdout]    --> src/lib.rs:653:21
[INFO] [stdout]     |
[INFO] [stdout] 653 |         let mut s = 0usize;
[INFO] [stdout]     |                     ^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 685 |             s = b1.bit_scan();
[INFO] [stdout]     |             ----------------- `s` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `check_count` is never read
[INFO] [stdout]    --> src/lib.rs:695:31
[INFO] [stdout]     |
[INFO] [stdout] 695 |         let mut check_count = 0;
[INFO] [stdout]     |                               ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 715 |         check_count = checkmask.bit_count();
[INFO] [stdout]     |         ----------------------------------- `check_count` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `b1` is never read
[INFO] [stdout]    --> src/lib.rs:700:22
[INFO] [stdout]     |
[INFO] [stdout] 700 |         let mut b1 = 0u64;
[INFO] [stdout]     |                      ^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 752 |             b1 = between(king, s) & D12_MASKS[king]; // Use a mask to filter queen moves that move orthagonally
[INFO] [stdout]     |             --------------------------------------- `b1` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `b2` is never read
[INFO] [stdout]    --> src/lib.rs:701:22
[INFO] [stdout]     |
[INFO] [stdout] 701 |         let mut b2 = 0u64;
[INFO] [stdout]     |                      ^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 753 |             b2 = line(king, s) & D12_MASKS_2[king]; // Use a mask to filter queen moves that move orthagonally
[INFO] [stdout]     |             -------------------------------------- `b2` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `s` is never read
[INFO] [stdout]    --> src/lib.rs:702:21
[INFO] [stdout]     |
[INFO] [stdout] 702 |         let mut s = 0usize;
[INFO] [stdout]     |                     ^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 751 |             s = e_d12.bit_scan();
[INFO] [stdout]     |             -------------------- `s` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `b1` is never read
[INFO] [stdout]    --> src/lib.rs:813:22
[INFO] [stdout]     |
[INFO] [stdout] 813 |         let mut b1 = 0u64;
[INFO] [stdout]     |                      ^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 818 |         b1 = KING_MASK[o_king] & !self.danger;
[INFO] [stdout]     |         ------------------------------------- `b1` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `b2` is never read
[INFO] [stdout]    --> src/lib.rs:814:22
[INFO] [stdout]     |
[INFO] [stdout] 814 |         let mut b2 = 0u64;
[INFO] [stdout]     |                      ^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 897 |         b2 = b1 & !BitBoard::relative_rank(8, state.turn) & self.checkmask;
[INFO] [stdout]     |         ------------------------------------------------------------------ `b2` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `b3` is never read
[INFO] [stdout]     --> src/lib.rs:815:22
[INFO] [stdout]      |
[INFO] [stdout]  815 |         let mut b3 = 0u64;
[INFO] [stdout]      |                      ^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 1156 |                     b3 = self.hv_sliders(1 - state.turn) & BitBoard::RANK_1 << (o_king / 8 * 8);
[INFO] [stdout]      |                     --------------------------------------------------------------------------- `b3` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `attacks` is never used
[INFO] [stdout]       --> src/lookup.rs:116457:14
[INFO] [stdout]        |
[INFO] [stdout] 116457 | pub const fn attacks(sq: usize, p: usize, occupancy: u64) -> 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: function `pawn_attacks` is never used
[INFO] [stdout]       --> src/lookup.rs:116473:14
[INFO] [stdout]        |
[INFO] [stdout] 116473 | pub const fn pawn_attacks(sq: usize, color: usize) -> u64 {
[INFO] [stdout]        |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pawn_attacks_bb` is never used
[INFO] [stdout]       --> src/lookup.rs:116477:14
[INFO] [stdout]        |
[INFO] [stdout] 116477 | pub const fn pawn_attacks_bb(bb: u64, color: usize) -> u64 {
[INFO] [stdout]        |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WHITE_00` is never used
[INFO] [stdout]       --> src/lookup.rs:116486:11
[INFO] [stdout]        |
[INFO] [stdout] 116486 | pub const WHITE_00: u64 = 0x90;
[INFO] [stdout]        |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLACK_00` is never used
[INFO] [stdout]       --> src/lookup.rs:116487:11
[INFO] [stdout]        |
[INFO] [stdout] 116487 | pub const BLACK_00: u64 = 0x9000000000000000;
[INFO] [stdout]        |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WHITE_000` is never used
[INFO] [stdout]       --> src/lookup.rs:116488:11
[INFO] [stdout]        |
[INFO] [stdout] 116488 | pub const WHITE_000: u64 = 0x11;
[INFO] [stdout]        |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLACK_000` is never used
[INFO] [stdout]       --> src/lookup.rs:116489:11
[INFO] [stdout]        |
[INFO] [stdout] 116489 | pub const BLACK_000: u64 = 0x1100000000000000;
[INFO] [stdout]        |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `oo_mask` is never used
[INFO] [stdout]       --> src/lookup.rs:116495:8
[INFO] [stdout]        |
[INFO] [stdout] 116495 | pub fn oo_mask(color: usize) -> u64 {
[INFO] [stdout]        |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ooo_mask` is never used
[INFO] [stdout]       --> src/lookup.rs:116502:8
[INFO] [stdout]        |
[INFO] [stdout] 116502 | pub fn ooo_mask(color: usize) -> u64 {
[INFO] [stdout]        |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `perft_complete` is never used
[INFO] [stdout]   --> src/testing.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn perft_complete(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `BitBoardSubsetIter` is never constructed
[INFO] [stdout]    --> src/types.rs:499:12
[INFO] [stdout]     |
[INFO] [stdout] 499 | pub struct BitBoardSubsetIter {
[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_struct)]` (part of `#[deny(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `turbochess` (lib test) due to 1 previous error; 22 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `turbochess` (lib) due to 1 previous error; 26 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "b3bdbe307ec79950a82d16ffe1f1b28841662ae5aea05df0015f291d50ccc214", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b3bdbe307ec79950a82d16ffe1f1b28841662ae5aea05df0015f291d50ccc214", kill_on_drop: false }`
[INFO] [stdout] b3bdbe307ec79950a82d16ffe1f1b28841662ae5aea05df0015f291d50ccc214
