[INFO] cloning repository https://github.com/tduffy000/lasker
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tduffy000/lasker" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftduffy000%2Flasker", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftduffy000%2Flasker'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ff82e2b6d9293071c1cfe8cf30f46e3eeafeed48
[INFO] testing tduffy000/lasker against beta-2026-03-05 for beta-1.95-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftduffy000%2Flasker" "/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/tduffy000/lasker
[INFO] finished tweaking git repo https://github.com/tduffy000/lasker
[INFO] tweaked toml for git repo https://github.com/tduffy000/lasker written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/tduffy000/lasker on toolchain beta-2026-03-05
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-03-05" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/tduffy000/lasker 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" "+beta-2026-03-05" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] testing tduffy000/lasker against beta-2026-03-05 for beta-1.95-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftduffy000%2Flasker" "/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/tduffy000/lasker
[INFO] finished tweaking git repo https://github.com/tduffy000/lasker
[INFO] tweaked toml for git repo https://github.com/tduffy000/lasker written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/tduffy000/lasker on toolchain beta-2026-03-05
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-03-05" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/tduffy000/lasker 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" "+beta-2026-03-05" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded vampirc-uci v0.11.1
[INFO] [stderr]   Downloaded pest_meta v2.6.0
[INFO] [stderr]   Downloaded time v0.1.43
[INFO] [stderr]   Downloaded cpufeatures v0.2.7
[INFO] [stderr]   Downloaded pest_derive v2.6.0
[INFO] [stderr]   Downloaded pest_generator v2.6.0
[INFO] [stderr]   Downloaded pest v2.6.0
[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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-03-05" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9060f10766b5db0f6952675963b14a485cb101f3bdf1ceedd470bf36b1977fcf
[INFO] running `Command { std: "docker" "start" "-a" "9060f10766b5db0f6952675963b14a485cb101f3bdf1ceedd470bf36b1977fcf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9060f10766b5db0f6952675963b14a485cb101f3bdf1ceedd470bf36b1977fcf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9060f10766b5db0f6952675963b14a485cb101f3bdf1ceedd470bf36b1977fcf", kill_on_drop: false }`
[INFO] [stdout] 9060f10766b5db0f6952675963b14a485cb101f3bdf1ceedd470bf36b1977fcf
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-03-05" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 434f8448d88977238cd028567e502de5b7c28b313380c450311225c23a0e0b64
[INFO] running `Command { std: "docker" "start" "-a" "434f8448d88977238cd028567e502de5b7c28b313380c450311225c23a0e0b64", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.59
[INFO] [stderr]    Compiling quote v1.0.28
[INFO] [stderr]    Compiling unicode-ident v1.0.9
[INFO] [stderr]    Compiling libc v0.2.144
[INFO] [stderr]    Compiling thiserror v1.0.40
[INFO] [stderr]    Compiling ucd-trie v0.1.5
[INFO] [stderr]    Compiling once_cell v1.17.1
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling ppv-lite86 v0.2.10
[INFO] [stderr]    Compiling iana-time-zone v0.1.56
[INFO] [stderr]    Compiling getrandom v0.2.3
[INFO] [stderr]    Compiling time v0.1.43
[INFO] [stderr]    Compiling syn v2.0.18
[INFO] [stderr]    Compiling rand_core v0.6.3
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.4
[INFO] [stderr]    Compiling chrono v0.4.24
[INFO] [stderr]    Compiling thiserror-impl v1.0.40
[INFO] [stderr]    Compiling pest v2.6.0
[INFO] [stderr]    Compiling pest_meta v2.6.0
[INFO] [stderr]    Compiling pest_generator v2.6.0
[INFO] [stderr]    Compiling pest_derive v2.6.0
[INFO] [stderr]    Compiling vampirc-uci v0.11.1
[INFO] [stderr]    Compiling lasker v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/play/board/mod.rs:309:13
[INFO] [stdout]     |
[INFO] [stdout] 309 |         let mut bb = Bitboard::empty();
[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: unused variable: `sq`
[INFO] [stdout]    --> src/play/board/mod.rs:308:38
[INFO] [stdout]     |
[INFO] [stdout] 308 |     pub fn attackers_bitboard(&self, sq: Square, color: Color) -> Bitboard {
[INFO] [stdout]     |                                      ^^ help: if this is intentional, prefix it with an underscore: `_sq`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `color`
[INFO] [stdout]    --> src/play/board/mod.rs:308:50
[INFO] [stdout]     |
[INFO] [stdout] 308 |     pub fn attackers_bitboard(&self, sq: Square, color: Color) -> Bitboard {
[INFO] [stdout]     |                                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_color`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/play/board/mod.rs:315:13
[INFO] [stdout]     |
[INFO] [stdout] 315 |         let mut bb = Bitboard::empty();
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sq`
[INFO] [stdout]    --> src/play/board/mod.rs:314:36
[INFO] [stdout]     |
[INFO] [stdout] 314 |     pub fn pinners_bitboard(&self, sq: Square, color: Color) -> Bitboard {
[INFO] [stdout]     |                                    ^^ help: if this is intentional, prefix it with an underscore: `_sq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `color`
[INFO] [stdout]    --> src/play/board/mod.rs:314:48
[INFO] [stdout]     |
[INFO] [stdout] 314 |     pub fn pinners_bitboard(&self, sq: Square, color: Color) -> Bitboard {
[INFO] [stdout]     |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_color`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/play/board/mod.rs:321:13
[INFO] [stdout]     |
[INFO] [stdout] 321 |         let mut bb = Bitboard::empty();
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sq`
[INFO] [stdout]    --> src/play/board/mod.rs:320:37
[INFO] [stdout]     |
[INFO] [stdout] 320 |     pub fn blockers_bitboard(&self, sq: Square, color: Color) -> Bitboard {
[INFO] [stdout]     |                                     ^^ help: if this is intentional, prefix it with an underscore: `_sq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `color`
[INFO] [stdout]    --> src/play/board/mod.rs:320:49
[INFO] [stdout]     |
[INFO] [stdout] 320 |     pub fn blockers_bitboard(&self, sq: Square, color: Color) -> Bitboard {
[INFO] [stdout]     |                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_color`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/uci/mod.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn handle_position(mut buf: String) -> GameState {
[INFO] [stdout]   |                    ----^^^
[INFO] [stdout]   |                    |
[INFO] [stdout]   |                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `print_board` is never used
[INFO] [stdout]   --> src/play/mod.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl GameState {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 41 |     pub fn print_board(&self) {
[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 `attackers_bitboard`, `pinners_bitboard`, and `blockers_bitboard` are never used
[INFO] [stdout]    --> src/play/board/mod.rs:308:12
[INFO] [stdout]     |
[INFO] [stdout]  29 | impl Board {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 308 |     pub fn attackers_bitboard(&self, sq: Square, color: Color) -> Bitboard {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 314 |     pub fn pinners_bitboard(&self, sq: Square, color: Color) -> Bitboard {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 320 |     pub fn blockers_bitboard(&self, sq: Square, color: Color) -> Bitboard {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `A1_H8_DIAGONAL` is never used
[INFO] [stdout]  --> src/play/constants.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const A1_H8_DIAGONAL: u64 = 0x8040201008040201;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H1_A1_DIAGONAL` is never used
[INFO] [stdout]  --> src/play/constants.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const H1_A1_DIAGONAL: u64 = 0x0102040810204080;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WHITE_SQUARES` is never used
[INFO] [stdout]  --> src/play/constants.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const WHITE_SQUARES: u64 = 0x55AA55AA55AA55AA;
[INFO] [stdout]   |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLACK_SQUARES` is never used
[INFO] [stdout]   --> src/play/constants.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const BLACK_SQUARES: u64 = 0xAA55AA55AA55AA55;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COLORS` is never used
[INFO] [stdout]   --> src/play/constants.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const COLORS: [Color; 2] = [Color::White, Color::Black];
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PIECE_VALUES` is never used
[INFO] [stdout]   --> src/play/constants.rs:70:11
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub const PIECE_VALUES: [u32; 12] = [
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS_MINOR_PIECE` is never used
[INFO] [stdout]   --> src/play/constants.rs:74:11
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub const IS_MINOR_PIECE: [bool; 12] = [
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS_MAJOR_PIECE` is never used
[INFO] [stdout]   --> src/play/constants.rs:78:11
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub const IS_MAJOR_PIECE: [bool; 12] = [
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `msg` is never read
[INFO] [stdout]   --> src/play/error.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct FENParsingError {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 56 |     msg: String,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FENParsingError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PositionKeyGenerator` is never constructed
[INFO] [stdout]  --> src/play/key.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct PositionKeyGenerator {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `key`, and `hash_board` are never used
[INFO] [stdout]   --> src/play/key.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl PositionKeyGenerator {
[INFO] [stdout]    | ------------------------- associated items in this implementation
[INFO] [stdout] 14 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn key(&self) -> u64 {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn hash_board(&self, state: &GameState) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MoveType` is never used
[INFO] [stdout]    --> src/play/move/mod.rs:176:10
[INFO] [stdout]     |
[INFO] [stdout] 176 | pub enum MoveType {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `move_type` and `is_placeholder` are never used
[INFO] [stdout]    --> src/play/move/mod.rs:289:12
[INFO] [stdout]     |
[INFO] [stdout] 214 | impl Move {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 289 |     pub fn move_type(&self) -> MoveType {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 309 |     pub fn is_placeholder(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `sorted`, and `count` are never used
[INFO] [stdout]    --> src/play/move/mod.rs:336:12
[INFO] [stdout]     |
[INFO] [stdout] 335 | impl MoveList {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 336 |     pub fn new(v: Vec<Move>) -> MoveList {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 352 |     pub fn sorted(&self) -> MoveList {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 366 |     pub fn count(&self) -> u8 {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_fen` is never used
[INFO] [stdout]   --> src/play/position/mod.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl Position {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn from_fen(fen: impl ToString) -> Result<Position, FENParsingError> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_minor`, `is_major`, and `move_direction_idx` are never used
[INFO] [stdout]    --> src/play/types.rs:207:8
[INFO] [stdout]     |
[INFO] [stdout] 206 | impl Piece {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] 207 |     fn is_minor(self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 |     fn is_major(self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |     pub fn move_direction_idx(&self) -> Range<usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `empty` is never used
[INFO] [stdout]    --> src/play/types.rs:608:12
[INFO] [stdout]     |
[INFO] [stdout] 566 | impl CastlingRights {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 608 |     pub fn empty() -> CastlingRights {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     uci::uci_loop();
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]   = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]   |
[INFO] [stdout] 6 |     let _ = uci::uci_loop();
[INFO] [stdout]   |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/play/move/mod.rs:197:13
[INFO] [stdout]     |
[INFO] [stdout] 197 |             f.write_str("0-0-0");
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 197 |             let _ = f.write_str("0-0-0");
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/play/move/mod.rs:199:13
[INFO] [stdout]     |
[INFO] [stdout] 199 |             f.write_str("0-0");
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 199 |             let _ = f.write_str("0-0");
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/play/types.rs:150:9
[INFO] [stdout]     |
[INFO] [stdout] 150 |         f.write_char(self.into());
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 150 |         let _ = f.write_char(self.into());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.81s
[INFO] running `Command { std: "docker" "inspect" "434f8448d88977238cd028567e502de5b7c28b313380c450311225c23a0e0b64", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "434f8448d88977238cd028567e502de5b7c28b313380c450311225c23a0e0b64", kill_on_drop: false }`
[INFO] [stdout] 434f8448d88977238cd028567e502de5b7c28b313380c450311225c23a0e0b64
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-03-05" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d66ec411a6393289f33b45452040b56ac09fcda4473f78f4a4d27c58dd557c53
[INFO] running `Command { std: "docker" "start" "-a" "d66ec411a6393289f33b45452040b56ac09fcda4473f78f4a4d27c58dd557c53", kill_on_drop: false }`
[INFO] [stderr]    Compiling lasker v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/play/board/mod.rs:309:13
[INFO] [stdout]     |
[INFO] [stdout] 309 |         let mut bb = Bitboard::empty();
[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: unused variable: `sq`
[INFO] [stdout]    --> src/play/board/mod.rs:308:38
[INFO] [stdout]     |
[INFO] [stdout] 308 |     pub fn attackers_bitboard(&self, sq: Square, color: Color) -> Bitboard {
[INFO] [stdout]     |                                      ^^ help: if this is intentional, prefix it with an underscore: `_sq`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `color`
[INFO] [stdout]    --> src/play/board/mod.rs:308:50
[INFO] [stdout]     |
[INFO] [stdout] 308 |     pub fn attackers_bitboard(&self, sq: Square, color: Color) -> Bitboard {
[INFO] [stdout]     |                                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_color`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/play/board/mod.rs:315:13
[INFO] [stdout]     |
[INFO] [stdout] 315 |         let mut bb = Bitboard::empty();
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sq`
[INFO] [stdout]    --> src/play/board/mod.rs:314:36
[INFO] [stdout]     |
[INFO] [stdout] 314 |     pub fn pinners_bitboard(&self, sq: Square, color: Color) -> Bitboard {
[INFO] [stdout]     |                                    ^^ help: if this is intentional, prefix it with an underscore: `_sq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `color`
[INFO] [stdout]    --> src/play/board/mod.rs:314:48
[INFO] [stdout]     |
[INFO] [stdout] 314 |     pub fn pinners_bitboard(&self, sq: Square, color: Color) -> Bitboard {
[INFO] [stdout]     |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_color`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/play/board/mod.rs:321:13
[INFO] [stdout]     |
[INFO] [stdout] 321 |         let mut bb = Bitboard::empty();
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sq`
[INFO] [stdout]    --> src/play/board/mod.rs:320:37
[INFO] [stdout]     |
[INFO] [stdout] 320 |     pub fn blockers_bitboard(&self, sq: Square, color: Color) -> Bitboard {
[INFO] [stdout]     |                                     ^^ help: if this is intentional, prefix it with an underscore: `_sq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `color`
[INFO] [stdout]    --> src/play/board/mod.rs:320:49
[INFO] [stdout]     |
[INFO] [stdout] 320 |     pub fn blockers_bitboard(&self, sq: Square, color: Color) -> Bitboard {
[INFO] [stdout]     |                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_color`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/uci/mod.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 | fn handle_position(mut buf: String) -> GameState {
[INFO] [stdout]   |                    ----^^^
[INFO] [stdout]   |                    |
[INFO] [stdout]   |                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `print_board` is never used
[INFO] [stdout]   --> src/play/mod.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl GameState {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 41 |     pub fn print_board(&self) {
[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 `attackers_bitboard`, `pinners_bitboard`, and `blockers_bitboard` are never used
[INFO] [stdout]    --> src/play/board/mod.rs:308:12
[INFO] [stdout]     |
[INFO] [stdout]  29 | impl Board {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 308 |     pub fn attackers_bitboard(&self, sq: Square, color: Color) -> Bitboard {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 314 |     pub fn pinners_bitboard(&self, sq: Square, color: Color) -> Bitboard {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 320 |     pub fn blockers_bitboard(&self, sq: Square, color: Color) -> Bitboard {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `A1_H8_DIAGONAL` is never used
[INFO] [stdout]  --> src/play/constants.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const A1_H8_DIAGONAL: u64 = 0x8040201008040201;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `H1_A1_DIAGONAL` is never used
[INFO] [stdout]  --> src/play/constants.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const H1_A1_DIAGONAL: u64 = 0x0102040810204080;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WHITE_SQUARES` is never used
[INFO] [stdout]  --> src/play/constants.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const WHITE_SQUARES: u64 = 0x55AA55AA55AA55AA;
[INFO] [stdout]   |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BLACK_SQUARES` is never used
[INFO] [stdout]   --> src/play/constants.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const BLACK_SQUARES: u64 = 0xAA55AA55AA55AA55;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COLORS` is never used
[INFO] [stdout]   --> src/play/constants.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const COLORS: [Color; 2] = [Color::White, Color::Black];
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PIECE_VALUES` is never used
[INFO] [stdout]   --> src/play/constants.rs:70:11
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub const PIECE_VALUES: [u32; 12] = [
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS_MINOR_PIECE` is never used
[INFO] [stdout]   --> src/play/constants.rs:74:11
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub const IS_MINOR_PIECE: [bool; 12] = [
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `IS_MAJOR_PIECE` is never used
[INFO] [stdout]   --> src/play/constants.rs:78:11
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub const IS_MAJOR_PIECE: [bool; 12] = [
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `msg` is never read
[INFO] [stdout]   --> src/play/error.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct FENParsingError {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 56 |     msg: String,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FENParsingError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `key` is never read
[INFO] [stdout]  --> src/play/key.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct PositionKeyGenerator {
[INFO] [stdout]   |            -------------------- field in this struct
[INFO] [stdout] 6 |     key: u64,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `key` is never used
[INFO] [stdout]   --> src/play/key.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl PositionKeyGenerator {
[INFO] [stdout]    | ------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn key(&self) -> u64 {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MoveType` is never used
[INFO] [stdout]    --> src/play/move/mod.rs:176:10
[INFO] [stdout]     |
[INFO] [stdout] 176 | pub enum MoveType {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `move_type` is never used
[INFO] [stdout]    --> src/play/move/mod.rs:289:12
[INFO] [stdout]     |
[INFO] [stdout] 214 | impl Move {
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 289 |     pub fn move_type(&self) -> MoveType {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `count` is never used
[INFO] [stdout]    --> src/play/move/mod.rs:366:12
[INFO] [stdout]     |
[INFO] [stdout] 335 | impl MoveList {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 366 |     pub fn count(&self) -> u8 {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_minor`, `is_major`, and `move_direction_idx` are never used
[INFO] [stdout]    --> src/play/types.rs:207:8
[INFO] [stdout]     |
[INFO] [stdout] 206 | impl Piece {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] 207 |     fn is_minor(self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 |     fn is_major(self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |     pub fn move_direction_idx(&self) -> Range<usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     uci::uci_loop();
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]   = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]   |
[INFO] [stdout] 6 |     let _ = uci::uci_loop();
[INFO] [stdout]   |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/play/move/mod.rs:197:13
[INFO] [stdout]     |
[INFO] [stdout] 197 |             f.write_str("0-0-0");
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 197 |             let _ = f.write_str("0-0-0");
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/play/move/mod.rs:199:13
[INFO] [stdout]     |
[INFO] [stdout] 199 |             f.write_str("0-0");
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 199 |             let _ = f.write_str("0-0");
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/play/types.rs:150:9
[INFO] [stdout]     |
[INFO] [stdout] 150 |         f.write_char(self.into());
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 150 |         let _ = f.write_char(self.into());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.66s
[INFO] running `Command { std: "docker" "inspect" "d66ec411a6393289f33b45452040b56ac09fcda4473f78f4a4d27c58dd557c53", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d66ec411a6393289f33b45452040b56ac09fcda4473f78f4a4d27c58dd557c53", kill_on_drop: false }`
[INFO] [stdout] d66ec411a6393289f33b45452040b56ac09fcda4473f78f4a4d27c58dd557c53
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-03-05" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 2d8517e52ebec0a24ae00873d35be45ac57b240d837059a02dbe08ce454bccd9
[INFO] running `Command { std: "docker" "start" "-a" "2d8517e52ebec0a24ae00873d35be45ac57b240d837059a02dbe08ce454bccd9", kill_on_drop: false }`
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/play/board/mod.rs:309:13
[INFO] [stderr]     |
[INFO] [stderr] 309 |         let mut bb = Bitboard::empty();
[INFO] [stderr]     |             ----^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sq`
[INFO] [stderr]    --> src/play/board/mod.rs:308:38
[INFO] [stderr]     |
[INFO] [stderr] 308 |     pub fn attackers_bitboard(&self, sq: Square, color: Color) -> Bitboard {
[INFO] [stderr]     |                                      ^^ help: if this is intentional, prefix it with an underscore: `_sq`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `color`
[INFO] [stderr]    --> src/play/board/mod.rs:308:50
[INFO] [stderr]     |
[INFO] [stderr] 308 |     pub fn attackers_bitboard(&self, sq: Square, color: Color) -> Bitboard {
[INFO] [stderr]     |                                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_color`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/play/board/mod.rs:315:13
[INFO] [stderr]     |
[INFO] [stderr] 315 |         let mut bb = Bitboard::empty();
[INFO] [stderr]     |             ----^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sq`
[INFO] [stderr]    --> src/play/board/mod.rs:314:36
[INFO] [stderr]     |
[INFO] [stderr] 314 |     pub fn pinners_bitboard(&self, sq: Square, color: Color) -> Bitboard {
[INFO] [stderr]     |                                    ^^ help: if this is intentional, prefix it with an underscore: `_sq`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `color`
[INFO] [stderr]    --> src/play/board/mod.rs:314:48
[INFO] [stderr]     |
[INFO] [stderr] 314 |     pub fn pinners_bitboard(&self, sq: Square, color: Color) -> Bitboard {
[INFO] [stderr]     |                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_color`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/play/board/mod.rs:321:13
[INFO] [stderr]     |
[INFO] [stderr] 321 |         let mut bb = Bitboard::empty();
[INFO] [stderr]     |             ----^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sq`
[INFO] [stderr]    --> src/play/board/mod.rs:320:37
[INFO] [stderr]     |
[INFO] [stderr] 320 |     pub fn blockers_bitboard(&self, sq: Square, color: Color) -> Bitboard {
[INFO] [stderr]     |                                     ^^ help: if this is intentional, prefix it with an underscore: `_sq`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `color`
[INFO] [stderr]    --> src/play/board/mod.rs:320:49
[INFO] [stderr]     |
[INFO] [stderr] 320 |     pub fn blockers_bitboard(&self, sq: Square, color: Color) -> Bitboard {
[INFO] [stderr]     |                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_color`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]  --> src/uci/mod.rs:5:20
[INFO] [stderr]   |
[INFO] [stderr] 5 | fn handle_position(mut buf: String) -> GameState {
[INFO] [stderr]   |                    ----^^^
[INFO] [stderr]   |                    |
[INFO] [stderr]   |                    help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: method `print_board` is never used
[INFO] [stderr]   --> src/play/mod.rs:41:12
[INFO] [stderr]    |
[INFO] [stderr] 40 | impl GameState {
[INFO] [stderr]    | -------------- method in this implementation
[INFO] [stderr] 41 |     pub fn print_board(&self) {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: methods `attackers_bitboard`, `pinners_bitboard`, and `blockers_bitboard` are never used
[INFO] [stderr]    --> src/play/board/mod.rs:308:12
[INFO] [stderr]     |
[INFO] [stderr]  29 | impl Board {
[INFO] [stderr]     | ---------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 308 |     pub fn attackers_bitboard(&self, sq: Square, color: Color) -> Bitboard {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 314 |     pub fn pinners_bitboard(&self, sq: Square, color: Color) -> Bitboard {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 320 |     pub fn blockers_bitboard(&self, sq: Square, color: Color) -> Bitboard {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `A1_H8_DIAGONAL` is never used
[INFO] [stderr]  --> src/play/constants.rs:7:11
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub const A1_H8_DIAGONAL: u64 = 0x8040201008040201;
[INFO] [stderr]   |           ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `H1_A1_DIAGONAL` is never used
[INFO] [stderr]  --> src/play/constants.rs:8:11
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub const H1_A1_DIAGONAL: u64 = 0x0102040810204080;
[INFO] [stderr]   |           ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `WHITE_SQUARES` is never used
[INFO] [stderr]  --> src/play/constants.rs:9:7
[INFO] [stderr]   |
[INFO] [stderr] 9 | const WHITE_SQUARES: u64 = 0x55AA55AA55AA55AA;
[INFO] [stderr]   |       ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BLACK_SQUARES` is never used
[INFO] [stderr]   --> src/play/constants.rs:10:7
[INFO] [stderr]    |
[INFO] [stderr] 10 | const BLACK_SQUARES: u64 = 0xAA55AA55AA55AA55;
[INFO] [stderr]    |       ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `COLORS` is never used
[INFO] [stderr]   --> src/play/constants.rs:12:11
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub const COLORS: [Color; 2] = [Color::White, Color::Black];
[INFO] [stderr]    |           ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PIECE_VALUES` is never used
[INFO] [stderr]   --> src/play/constants.rs:70:11
[INFO] [stderr]    |
[INFO] [stderr] 70 | pub const PIECE_VALUES: [u32; 12] = [
[INFO] [stderr]    |           ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `IS_MINOR_PIECE` is never used
[INFO] [stderr]   --> src/play/constants.rs:74:11
[INFO] [stderr]    |
[INFO] [stderr] 74 | pub const IS_MINOR_PIECE: [bool; 12] = [
[INFO] [stderr]    |           ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `IS_MAJOR_PIECE` is never used
[INFO] [stderr]   --> src/play/constants.rs:78:11
[INFO] [stderr]    |
[INFO] [stderr] 78 | pub const IS_MAJOR_PIECE: [bool; 12] = [
[INFO] [stderr]    |           ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `msg` is never read
[INFO] [stderr]   --> src/play/error.rs:56:5
[INFO] [stderr]    |
[INFO] [stderr] 55 | pub struct FENParsingError {
[INFO] [stderr]    |            --------------- field in this struct
[INFO] [stderr] 56 |     msg: String,
[INFO] [stderr]    |     ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `FENParsingError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `key` is never read
[INFO] [stderr]  --> src/play/key.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub struct PositionKeyGenerator {
[INFO] [stderr]   |            -------------------- field in this struct
[INFO] [stderr] 6 |     key: u64,
[INFO] [stderr]   |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `key` is never used
[INFO] [stderr]   --> src/play/key.rs:42:12
[INFO] [stderr]    |
[INFO] [stderr] 13 | impl PositionKeyGenerator {
[INFO] [stderr]    | ------------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 42 |     pub fn key(&self) -> u64 {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `MoveType` is never used
[INFO] [stderr]    --> src/play/move/mod.rs:176:10
[INFO] [stderr]     |
[INFO] [stderr] 176 | pub enum MoveType {
[INFO] [stderr]     |          ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `move_type` is never used
[INFO] [stderr]    --> src/play/move/mod.rs:289:12
[INFO] [stderr]     |
[INFO] [stderr] 214 | impl Move {
[INFO] [stderr]     | --------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 289 |     pub fn move_type(&self) -> MoveType {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `count` is never used
[INFO] [stderr]    --> src/play/move/mod.rs:366:12
[INFO] [stderr]     |
[INFO] [stderr] 335 | impl MoveList {
[INFO] [stderr]     | ------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 366 |     pub fn count(&self) -> u8 {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `is_minor`, `is_major`, and `move_direction_idx` are never used
[INFO] [stderr]    --> src/play/types.rs:207:8
[INFO] [stderr]     |
[INFO] [stderr] 206 | impl Piece {
[INFO] [stderr]     | ---------- methods in this implementation
[INFO] [stderr] 207 |     fn is_minor(self) -> bool {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 211 |     fn is_major(self) -> bool {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 278 |     pub fn move_direction_idx(&self) -> Range<usize> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]  --> src/main.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 |     uci::uci_loop();
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]   = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]   |
[INFO] [stderr] 6 |     let _ = uci::uci_loop();
[INFO] [stderr]   |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/play/move/mod.rs:197:13
[INFO] [stderr]     |
[INFO] [stderr] 197 |             f.write_str("0-0-0");
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 197 |             let _ = f.write_str("0-0-0");
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/play/move/mod.rs:199:13
[INFO] [stderr]     |
[INFO] [stderr] 199 |             f.write_str("0-0");
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 199 |             let _ = f.write_str("0-0");
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/play/types.rs:150:9
[INFO] [stderr]     |
[INFO] [stderr] 150 |         f.write_char(self.into());
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 150 |         let _ = f.write_char(self.into());
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `lasker` (bin "lasker" test) generated 31 warnings (run `cargo fix --bin "lasker" -p lasker --tests` to apply 10 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/lasker-f30fab279b466604)
[INFO] [stdout] 
[INFO] [stdout] running 69 tests
[INFO] [stdout] test play::board::bitboard::tests::test_bit_and ... ok
[INFO] [stdout] test play::board::bitboard::tests::flip ... ok
[INFO] [stdout] test play::board::bitboard::tests::test_bit_and_assign ... ok
[INFO] [stdout] test play::board::bitboard::tests::test_bit_or ... ok
[INFO] [stdout] test play::board::bitboard::tests::test_bit_or_assign ... ok
[INFO] [stdout] test play::board::bitboard::tests::test_bit_xor ... ok
[INFO] [stdout] test play::board::bitboard::tests::test_bit_xor_assign ... ok
[INFO] [stdout] test play::board::bitboard::tests::test_empty ... ok
[INFO] [stdout] test play::board::bitboard::tests::test_from_u64 ... ok
[INFO] [stdout] test play::board::bitboard::tests::test_from_vec_square ... ok
[INFO] [stdout] test play::board::bitboard::tests::test_into_iter ... ok
[INFO] [stdout] test play::board::bitboard::tests::test_into_u64 ... ok
[INFO] [stdout] test play::board::bitboard::tests::test_debug ... ok
[INFO] [stdout] test play::board::bitboard::tests::test_into_vec_square ... ok
[INFO] [stdout] test play::board::bitboard::tests::test_pop_count ... ok
[INFO] [stdout] test play::board::bitboard::tests::test_universe ... ok
[INFO] [stdout] test play::board::tests::test_add_piece ... ok
[INFO] [stdout] test play::board::tests::test_bitboard_union ... ok
[INFO] [stdout] test play::board::tests::test_board_from_fen ... ok
[INFO] [stdout] test play::board::tests::test_empty_board ... ok
[INFO] [stdout] test play::board::tests::test_remove_piece ... ok
[INFO] [stdout] test play::board::tests::test_default_board ... ok
[INFO] [stdout] test play::board::tests::test_king_sq ... ok
[INFO] [stdout] test play::board::tests::test_is_square_pinned ... ok
[INFO] [stdout] test play::board::tests::test_sq_taken ... ok
[INFO] [stdout] test play::move_gen::tests::test_generate_pawn_moves_capture ... ok
[INFO] [stdout] test play::move_gen::tests::test_generate_pawn_moves_capture_promotion ... ok
[INFO] [stdout] test play::move_gen::tests::test_generate_pawn_moves_en_passant_capture ... ok
[INFO] [stdout] test play::move_gen::tests::test_generate_pawn_moves_forward ... ok
[INFO] [stdout] test play::move_gen::tests::test_generate_pawn_moves_promotion ... ok
[INFO] [stdout] test play::move_gen::tests::test_generate_pawn_moves_respect_block ... ok
[INFO] [stdout] test play::position::tests::test_from_fields ... ok
[INFO] [stdout] test play::move_gen::tests::test_pawn_blocks_check_capture ... ok
[INFO] [stdout] test play::position::tests::test_legal_moves ... ok
[INFO] [stdout] test play::r#move::tests::test_make_unmake_move_capture ... ok
[INFO] [stdout] test play::move_gen::tests::test_generate_pawn_moves_respect_pin ... ok
[INFO] [stdout] test play::move_gen::tests::test_pawn_blocks_check_pawn_start ... ok
[INFO] [stdout] test play::key::tests::test_hash_board ... ok
[INFO] [stdout] test play::r#move::tests::test_make_unmake_move_promotion ... ok
[INFO] [stdout] test play::move_gen::tests::test_pawn_blocks_check_promo ... ok
[INFO] [stdout] test play::r#move::tests::test_make_unmake_move_simple ... ok
[INFO] [stdout] test play::r#move::tests::test_move_list_push ... ok
[INFO] [stdout] test play::r#move::tests::test_move_new ... ok
[INFO] [stdout] test play::r#move::tests::test_make_unmake_move_castling ... ok
[INFO] [stdout] test play::position::tests::test_from_fen ... ok
[INFO] [stdout] test play::tests::test_game_state_from_fen ... ok
[INFO] [stdout] test play::types::tests::test_castling_rights_from_fen ... ok
[INFO] [stdout] test play::types::tests::test_castling_rights_getters ... ok
[INFO] [stdout] test play::types::tests::test_castling_rights_unset_bits ... ok
[INFO] [stdout] test play::r#move::tests::test_make_unmake_move_capture_promotion ... ok
[INFO] [stdout] test play::types::tests::test_direction_offboard_moves ... ok
[INFO] [stdout] test play::r#move::tests::test_make_unmake_move_en_passant ... ok
[INFO] [stdout] test play::r#move::tests::test_make_unmake_move_pawn_start ... ok
[INFO] [stdout] test play::r#move::tests::test_move_display ... ok
[INFO] [stdout] test play::types::tests::test_direction_valid_moves ... ok
[INFO] [stdout] test play::move_gen::tests::test_generate_pawn_moves_pawn_start ... ok
[INFO] [stdout] test play::types::tests::test_rank_to_bitboard ... ok
[INFO] [stdout] test play::types::tests::test_file_to_bitboard ... ok
[INFO] [stdout] test play::types::tests::test_square_into_bitboard ... ok
[INFO] [stdout] test play::types::tests::test_square_from_usize ... ok
[INFO] [stdout] test play::types::tests::test_square_file ... ok
[INFO] [stdout] test play::types::tests::test_square_rank ... ok
[INFO] [stdout] test play::types::tests::test_square_new ... ok
[INFO] [stdout] test play::types::tests::test_square_mailbox_idx ... ok
[INFO] [stdout] test play::types::tests::test_try_from_fen_sq ... ok
[INFO] [stdout] test play::types::tests::test_try_from_usize_for_sq ... ok
[INFO] [stdout] test play::utils::tests::test_set_bits ... ok
[INFO] [stdout] test play::types::tests::test_try_from_char_for_file ... ok
[INFO] [stdout] test play::types::tests::test_try_from_char_for_rank ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 69 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "2d8517e52ebec0a24ae00873d35be45ac57b240d837059a02dbe08ce454bccd9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2d8517e52ebec0a24ae00873d35be45ac57b240d837059a02dbe08ce454bccd9", kill_on_drop: false }`
[INFO] [stdout] 2d8517e52ebec0a24ae00873d35be45ac57b240d837059a02dbe08ce454bccd9
