[INFO] cloning repository https://github.com/sanj0/chessian
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sanj0/chessian" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsanj0%2Fchessian", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsanj0%2Fchessian'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 72b4dad509def9e4151437c7a60f04da9df757ef
[INFO] building sanj0/chessian against master#c7f6aa2869acdbf014d094c6e427e554e160b6db for pr-146237-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsanj0%2Fchessian" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/sanj0/chessian
[INFO] finished tweaking git repo https://github.com/sanj0/chessian
[INFO] tweaked toml for git repo https://github.com/sanj0/chessian written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/sanj0/chessian on toolchain c7f6aa2869acdbf014d094c6e427e554e160b6db
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/sanj0/chessian 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" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded macroquad_macro v0.1.8
[INFO] [stderr]   Downloaded objc-rs v0.2.8
[INFO] [stderr]   Downloaded fontdue v0.9.3
[INFO] [stderr]   Downloaded failure_derive v0.1.8
[INFO] [stderr]   Downloaded rand_pcg v0.2.1
[INFO] [stderr]   Downloaded failure v0.1.8
[INFO] [stderr]   Downloaded chess v3.2.0
[INFO] [stderr]   Downloaded synstructure v0.12.6
[INFO] [stderr]   Downloaded nodrop v0.1.14
[INFO] [stderr]   Downloaded criterion v0.5.1
[INFO] [stderr]   Downloaded criterion-plot v0.5.0
[INFO] [stderr]   Downloaded quad-rand v0.2.3
[INFO] [stderr]   Downloaded anes v0.1.6
[INFO] [stderr]   Downloaded ndk-sys v0.2.2
[INFO] [stderr]   Downloaded serde_json v1.0.141
[INFO] [stderr]   Downloaded glam v0.27.0
[INFO] [stderr]   Downloaded macroquad v0.4.14
[INFO] [stderr]   Downloaded ttf-parser v0.21.1
[INFO] [stderr]   Downloaded miniquad v0.4.8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 462c83d019329a0eb5103f3e064e7809dbd8802f6868060f34645667c14d017d
[INFO] running `Command { std: "docker" "start" "-a" "462c83d019329a0eb5103f3e064e7809dbd8802f6868060f34645667c14d017d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "462c83d019329a0eb5103f3e064e7809dbd8802f6868060f34645667c14d017d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "462c83d019329a0eb5103f3e064e7809dbd8802f6868060f34645667c14d017d", kill_on_drop: false }`
[INFO] [stdout] 462c83d019329a0eb5103f3e064e7809dbd8802f6868060f34645667c14d017d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4bbb7a8f65b9b0143e88a94478b684e92625056f713f4e72667d641c47ee8e05
[INFO] running `Command { std: "docker" "start" "-a" "4bbb7a8f65b9b0143e88a94478b684e92625056f713f4e72667d641c47ee8e05", kill_on_drop: false }`
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling cfg-if v1.0.1
[INFO] [stderr]    Compiling simd-adler32 v0.3.7
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling object v0.36.7
[INFO] [stderr]    Compiling memchr v2.7.5
[INFO] [stderr]    Compiling gimli v0.31.1
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]    Compiling rustc-demangle v0.1.25
[INFO] [stderr]    Compiling libc v0.2.174
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling zerocopy v0.8.26
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling miniquad v0.4.8
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling rand_pcg v0.2.1
[INFO] [stderr]    Compiling fdeflate v0.3.7
[INFO] [stderr]    Compiling hashbrown v0.15.4
[INFO] [stderr]    Compiling bytemuck v1.23.1
[INFO] [stderr]    Compiling ttf-parser v0.21.1
[INFO] [stderr]    Compiling color_quant v1.1.0
[INFO] [stderr]    Compiling quad-rand v0.2.3
[INFO] [stderr]    Compiling macroquad_macro v0.1.8
[INFO] [stderr]    Compiling arrayvec v0.5.2
[INFO] [stderr]    Compiling nodrop v0.1.14
[INFO] [stderr]    Compiling glam v0.27.0
[INFO] [stderr]    Compiling flate2 v1.1.2
[INFO] [stderr]    Compiling png v0.17.16
[INFO] [stderr]    Compiling image v0.24.9
[INFO] [stderr]    Compiling fontdue v0.9.3
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]    Compiling addr2line v0.24.2
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling macroquad v0.4.14
[INFO] [stderr]    Compiling backtrace v0.3.75
[INFO] [stderr]    Compiling failure v0.1.8
[INFO] [stderr]    Compiling chess v3.2.0
[INFO] [stderr]    Compiling chessian v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/chooser.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[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: `BufWriter`
[INFO] [stdout]  --> src/chooser.rs:2:28
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{self, Write, BufWriter};
[INFO] [stdout]   |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/chooser.rs:165:21
[INFO] [stdout]     |
[INFO] [stdout] 165 |                     (MATE_SCORE / 2)
[INFO] [stdout]     |                     ^              ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 165 -                     (MATE_SCORE / 2)
[INFO] [stdout] 165 +                     MATE_SCORE / 2 
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/eval.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let mut is_endgame = board.combined().popcnt() < 20;
[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: variable does not need to be mutable
[INFO] [stdout]   --> src/eval.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |     let mut is_endgame = board.combined().popcnt() < 20;
[INFO] [stdout]    |         ----^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kings`
[INFO] [stdout]    --> src/eval.rs:137:9
[INFO] [stdout]     |
[INFO] [stdout] 137 |     let kings = board.pieces(Piece::King);
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_kings`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]    --> src/lib.rs:138:4
[INFO] [stdout]     |
[INFO] [stdout] 138 | fn main() {
[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 `is_quiet` is never used
[INFO] [stdout]    --> src/chooser.rs:206:4
[INFO] [stdout]     |
[INFO] [stdout] 206 | fn is_quiet(m: &ChessMove, board: &Board) -> bool {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_relative_capture_value` is never used
[INFO] [stdout]    --> src/chooser.rs:224:4
[INFO] [stdout]     |
[INFO] [stdout] 224 | fn get_relative_capture_value(m: &ChessMove, board: &Board) -> i32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/chooser.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |         write!(log, "\ndepth {depth}");
[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] 59 |         let _ = write!(log, "\ndepth {depth}");
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/chooser.rs:72:17
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 write!(log, "\nout of time!");
[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] 72 |                 let _ = write!(log, "\nout of time!");
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/chooser.rs:80:13
[INFO] [stdout]    |
[INFO] [stdout] 80 | /             write!(
[INFO] [stdout] 81 | |                 log,
[INFO] [stdout] 82 | |                 "\r{:.2} % depth {depth}",
[INFO] [stdout] 83 | |                 (i + 1) as f32 / num_candidates as f32 * 100.0
[INFO] [stdout] 84 | |             );
[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] 80 |             let _ = write!(
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/chooser.rs:93:17
[INFO] [stdout]    |
[INFO] [stdout] 93 |                 writeln!(log, "!!! MATE AT DEPTH {} !!!", depth);
[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] 93 |                 let _ = writeln!(log, "!!! MATE AT DEPTH {} !!!", depth);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/chooser.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 | /         writeln!(
[INFO] [stdout] 101 | |             log,
[INFO] [stdout] 102 | |             "\nbest move position: {} / {num_candidates}",
[INFO] [stdout] 103 | |             curr_best_move_index + 1
[INFO] [stdout] 104 | |         );
[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] 100 |         let _ = writeln!(
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/chooser.rs:106:13
[INFO] [stdout]     |
[INFO] [stdout] 106 |             writeln!(log, "!!! WE LOSE IN MATE IN {} !!!", depth);
[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] 106 |             let _ = writeln!(log, "!!! WE LOSE IN MATE IN {} !!!", depth);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/chooser.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 | ...   writeln!(uci_sink, "info depth 2 seldepth {depth} multipv 1 score cp {alpha}  nodes {node_count} nps {:.0} time {time} pv {} {}", node_count as f32 / (time as f32 / 1000.0), curr_best_move.unwrap(), curr_response.unwrap());
[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] 110 |         let _ = writeln!(uci_sink, "info depth 2 seldepth {depth} multipv 1 score cp {alpha}  nodes {node_count} nps {:.0} time {time} pv {} {}", node_count as f32 / (time as f32 / 1000.0), curr_best_move.unwrap(), curr_response.unwrap());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/chooser.rs:124:9
[INFO] [stdout]     |
[INFO] [stdout] 124 |         writeln!(log, "chose {m} at depth {depth}\n");
[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] 124 |         let _ = writeln!(log, "chose {m} at depth {depth}\n");
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env::args`
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::env::args;
[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: `stdin`
[INFO] [stdout]  --> src/main.rs:2:28
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{self, Write, stdin, stdout};
[INFO] [stdout]   |                            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/main.rs:445:5
[INFO] [stdout]     |
[INFO] [stdout]  88 | /     loop {
[INFO] [stdout]  89 | |         root_ui().window(
[INFO] [stdout]  90 | |             hash!(),
[INFO] [stdout]  91 | |             Vec2::new(FIELD_SIZE * 8.0 + EVAL_BAR_W as f32, 0.0),
[INFO] [stdout] ...   |
[INFO] [stdout] 442 | |         next_frame().await
[INFO] [stdout] 443 | |     }
[INFO] [stdout]     | |_____- any code following this expression is unreachable
[INFO] [stdout] 444 |
[INFO] [stdout] 445 |       Ok(())
[INFO] [stdout]     |       ^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `otherwise`
[INFO] [stdout]    --> src/main.rs:438:17
[INFO] [stdout]     |
[INFO] [stdout] 438 |                 otherwise => (),
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_otherwise`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:190:13
[INFO] [stdout]     |
[INFO] [stdout] 190 |         for mut y in 0..=7 {
[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: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:191:17
[INFO] [stdout]     |
[INFO] [stdout] 191 |             for mut x in 0..=7 {
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:381:25
[INFO] [stdout]     |
[INFO] [stdout] 381 |                     let mut mov = *m;
[INFO] [stdout]     |                         ----^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `choose_promotion` is never used
[INFO] [stdout]    --> src/main.rs:506:4
[INFO] [stdout]     |
[INFO] [stdout] 506 | fn choose_promotion() -> Piece {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 22s
[INFO] running `Command { std: "docker" "inspect" "4bbb7a8f65b9b0143e88a94478b684e92625056f713f4e72667d641c47ee8e05", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4bbb7a8f65b9b0143e88a94478b684e92625056f713f4e72667d641c47ee8e05", kill_on_drop: false }`
[INFO] [stdout] 4bbb7a8f65b9b0143e88a94478b684e92625056f713f4e72667d641c47ee8e05
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5ff521c298984961b6cbb2380b7522b530c733bbf847f15687becec7a25ed7c9
[INFO] running `Command { std: "docker" "start" "-a" "5ff521c298984961b6cbb2380b7522b530c733bbf847f15687becec7a25ed7c9", kill_on_drop: false }`
[INFO] [stderr]    Compiling memchr v2.7.5
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling serde_json v1.0.141
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling half v2.6.0
[INFO] [stderr]    Compiling clap_lex v0.7.5
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling anstyle v1.0.11
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling is-terminal v0.4.16
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling clap_builder v4.5.41
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling object v0.36.7
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling rayon v1.10.0
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling clap v4.5.41
[INFO] [stderr]    Compiling backtrace v0.3.75
[INFO] [stderr]    Compiling failure v0.1.8
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling chess v3.2.0
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling chessian v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/chooser.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[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: `BufWriter`
[INFO] [stdout]  --> src/chooser.rs:2:28
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{self, Write, BufWriter};
[INFO] [stdout]   |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/chooser.rs:165:21
[INFO] [stdout]     |
[INFO] [stdout] 165 |                     (MATE_SCORE / 2)
[INFO] [stdout]     |                     ^              ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 165 -                     (MATE_SCORE / 2)
[INFO] [stdout] 165 +                     MATE_SCORE / 2 
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/eval.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let mut is_endgame = board.combined().popcnt() < 20;
[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: variable does not need to be mutable
[INFO] [stdout]   --> src/eval.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |     let mut is_endgame = board.combined().popcnt() < 20;
[INFO] [stdout]    |         ----^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kings`
[INFO] [stdout]    --> src/eval.rs:137:9
[INFO] [stdout]     |
[INFO] [stdout] 137 |     let kings = board.pieces(Piece::King);
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_kings`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]    --> src/lib.rs:138:4
[INFO] [stdout]     |
[INFO] [stdout] 138 | fn main() {
[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 `is_quiet` is never used
[INFO] [stdout]    --> src/chooser.rs:206:4
[INFO] [stdout]     |
[INFO] [stdout] 206 | fn is_quiet(m: &ChessMove, board: &Board) -> bool {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_relative_capture_value` is never used
[INFO] [stdout]    --> src/chooser.rs:224:4
[INFO] [stdout]     |
[INFO] [stdout] 224 | fn get_relative_capture_value(m: &ChessMove, board: &Board) -> i32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/chooser.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |         write!(log, "\ndepth {depth}");
[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] 59 |         let _ = write!(log, "\ndepth {depth}");
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/chooser.rs:72:17
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 write!(log, "\nout of time!");
[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] 72 |                 let _ = write!(log, "\nout of time!");
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/chooser.rs:80:13
[INFO] [stdout]    |
[INFO] [stdout] 80 | /             write!(
[INFO] [stdout] 81 | |                 log,
[INFO] [stdout] 82 | |                 "\r{:.2} % depth {depth}",
[INFO] [stdout] 83 | |                 (i + 1) as f32 / num_candidates as f32 * 100.0
[INFO] [stdout] 84 | |             );
[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] 80 |             let _ = write!(
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/chooser.rs:93:17
[INFO] [stdout]    |
[INFO] [stdout] 93 |                 writeln!(log, "!!! MATE AT DEPTH {} !!!", depth);
[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] 93 |                 let _ = writeln!(log, "!!! MATE AT DEPTH {} !!!", depth);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/chooser.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 | /         writeln!(
[INFO] [stdout] 101 | |             log,
[INFO] [stdout] 102 | |             "\nbest move position: {} / {num_candidates}",
[INFO] [stdout] 103 | |             curr_best_move_index + 1
[INFO] [stdout] 104 | |         );
[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] 100 |         let _ = writeln!(
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/chooser.rs:106:13
[INFO] [stdout]     |
[INFO] [stdout] 106 |             writeln!(log, "!!! WE LOSE IN MATE IN {} !!!", depth);
[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] 106 |             let _ = writeln!(log, "!!! WE LOSE IN MATE IN {} !!!", depth);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/chooser.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 | ...   writeln!(uci_sink, "info depth 2 seldepth {depth} multipv 1 score cp {alpha}  nodes {node_count} nps {:.0} time {time} pv {} {}", node_count as f32 / (time as f32 / 1000.0), curr_best_move.unwrap(), curr_response.unwrap());
[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] 110 |         let _ = writeln!(uci_sink, "info depth 2 seldepth {depth} multipv 1 score cp {alpha}  nodes {node_count} nps {:.0} time {time} pv {} {}", node_count as f32 / (time as f32 / 1000.0), curr_best_move.unwrap(), curr_response.unwrap());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/chooser.rs:124:9
[INFO] [stdout]     |
[INFO] [stdout] 124 |         writeln!(log, "chose {m} at depth {depth}\n");
[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] 124 |         let _ = writeln!(log, "chose {m} at depth {depth}\n");
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/chooser.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[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: `BufWriter`
[INFO] [stdout]  --> src/chooser.rs:2:28
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{self, Write, BufWriter};
[INFO] [stdout]   |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/chooser.rs:165:21
[INFO] [stdout]     |
[INFO] [stdout] 165 |                     (MATE_SCORE / 2)
[INFO] [stdout]     |                     ^              ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 165 -                     (MATE_SCORE / 2)
[INFO] [stdout] 165 +                     MATE_SCORE / 2 
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/eval.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let mut is_endgame = board.combined().popcnt() < 20;
[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: variable does not need to be mutable
[INFO] [stdout]   --> src/eval.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |     let mut is_endgame = board.combined().popcnt() < 20;
[INFO] [stdout]    |         ----^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kings`
[INFO] [stdout]    --> src/eval.rs:137:9
[INFO] [stdout]     |
[INFO] [stdout] 137 |     let kings = board.pieces(Piece::King);
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_kings`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_quiet` is never used
[INFO] [stdout]    --> src/chooser.rs:206:4
[INFO] [stdout]     |
[INFO] [stdout] 206 | fn is_quiet(m: &ChessMove, board: &Board) -> bool {
[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 `get_relative_capture_value` is never used
[INFO] [stdout]    --> src/chooser.rs:224:4
[INFO] [stdout]     |
[INFO] [stdout] 224 | fn get_relative_capture_value(m: &ChessMove, board: &Board) -> i32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/chooser.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |         write!(log, "\ndepth {depth}");
[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] 59 |         let _ = write!(log, "\ndepth {depth}");
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/chooser.rs:72:17
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 write!(log, "\nout of time!");
[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] 72 |                 let _ = write!(log, "\nout of time!");
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/chooser.rs:80:13
[INFO] [stdout]    |
[INFO] [stdout] 80 | /             write!(
[INFO] [stdout] 81 | |                 log,
[INFO] [stdout] 82 | |                 "\r{:.2} % depth {depth}",
[INFO] [stdout] 83 | |                 (i + 1) as f32 / num_candidates as f32 * 100.0
[INFO] [stdout] 84 | |             );
[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] 80 |             let _ = write!(
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/chooser.rs:93:17
[INFO] [stdout]    |
[INFO] [stdout] 93 |                 writeln!(log, "!!! MATE AT DEPTH {} !!!", depth);
[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] 93 |                 let _ = writeln!(log, "!!! MATE AT DEPTH {} !!!", depth);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/chooser.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 | /         writeln!(
[INFO] [stdout] 101 | |             log,
[INFO] [stdout] 102 | |             "\nbest move position: {} / {num_candidates}",
[INFO] [stdout] 103 | |             curr_best_move_index + 1
[INFO] [stdout] 104 | |         );
[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] 100 |         let _ = writeln!(
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/chooser.rs:106:13
[INFO] [stdout]     |
[INFO] [stdout] 106 |             writeln!(log, "!!! WE LOSE IN MATE IN {} !!!", depth);
[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] 106 |             let _ = writeln!(log, "!!! WE LOSE IN MATE IN {} !!!", depth);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/chooser.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 | ...   writeln!(uci_sink, "info depth 2 seldepth {depth} multipv 1 score cp {alpha}  nodes {node_count} nps {:.0} time {time} pv {} {}", node_count as f32 / (time as f32 / 1000.0), curr_best_move.unwrap(), curr_response.unwrap());
[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] 110 |         let _ = writeln!(uci_sink, "info depth 2 seldepth {depth} multipv 1 score cp {alpha}  nodes {node_count} nps {:.0} time {time} pv {} {}", node_count as f32 / (time as f32 / 1000.0), curr_best_move.unwrap(), curr_response.unwrap());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/chooser.rs:124:9
[INFO] [stdout]     |
[INFO] [stdout] 124 |         writeln!(log, "chose {m} at depth {depth}\n");
[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] 124 |         let _ = writeln!(log, "chose {m} at depth {depth}\n");
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env::args`
[INFO] [stdout]  --> src/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::env::args;
[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: `stdin`
[INFO] [stdout]  --> src/main.rs:2:28
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{self, Write, stdin, stdout};
[INFO] [stdout]   |                            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/main.rs:445:5
[INFO] [stdout]     |
[INFO] [stdout]  88 | /     loop {
[INFO] [stdout]  89 | |         root_ui().window(
[INFO] [stdout]  90 | |             hash!(),
[INFO] [stdout]  91 | |             Vec2::new(FIELD_SIZE * 8.0 + EVAL_BAR_W as f32, 0.0),
[INFO] [stdout] ...   |
[INFO] [stdout] 442 | |         next_frame().await
[INFO] [stdout] 443 | |     }
[INFO] [stdout]     | |_____- any code following this expression is unreachable
[INFO] [stdout] 444 |
[INFO] [stdout] 445 |       Ok(())
[INFO] [stdout]     |       ^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `otherwise`
[INFO] [stdout]    --> src/main.rs:438:17
[INFO] [stdout]     |
[INFO] [stdout] 438 |                 otherwise => (),
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_otherwise`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:190:13
[INFO] [stdout]     |
[INFO] [stdout] 190 |         for mut y in 0..=7 {
[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: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:191:17
[INFO] [stdout]     |
[INFO] [stdout] 191 |             for mut x in 0..=7 {
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:381:25
[INFO] [stdout]     |
[INFO] [stdout] 381 |                     let mut mov = *m;
[INFO] [stdout]     |                         ----^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `choose_promotion` is never used
[INFO] [stdout]    --> src/main.rs:506:4
[INFO] [stdout]     |
[INFO] [stdout] 506 | fn choose_promotion() -> Piece {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 23s
[INFO] running `Command { std: "docker" "inspect" "5ff521c298984961b6cbb2380b7522b530c733bbf847f15687becec7a25ed7c9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5ff521c298984961b6cbb2380b7522b530c733bbf847f15687becec7a25ed7c9", kill_on_drop: false }`
[INFO] [stdout] 5ff521c298984961b6cbb2380b7522b530c733bbf847f15687becec7a25ed7c9
