[INFO] cloning repository https://github.com/Jakur/topaz-tak
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Jakur/topaz-tak" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJakur%2Ftopaz-tak", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJakur%2Ftopaz-tak'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 961170f17b8da80006379999a236c865fbe7dd1b
[INFO] checking Jakur/topaz-tak against master#5518eaa946291f00471af8b254b2a1715f234882 for pr-120393
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJakur%2Ftopaz-tak" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Jakur/topaz-tak on toolchain 5518eaa946291f00471af8b254b2a1715f234882
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Jakur/topaz-tak
[INFO] finished tweaking git repo https://github.com/Jakur/topaz-tak
[INFO] tweaked toml for git repo https://github.com/Jakur/topaz-tak written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/Jakur/topaz-tak 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" "+5518eaa946291f00471af8b254b2a1715f234882" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded termtree v0.2.3
[INFO] [stderr]   Downloaded bitintr v0.3.0
[INFO] [stderr]   Downloaded mini-internal v0.1.24
[INFO] [stderr]   Downloaded colorful v0.2.1
[INFO] [stderr]   Downloaded miniserde v0.1.24
[INFO] [stderr]   Downloaded telnet v0.2.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b8020e20e841f580426219eb2b7e957ff175f9b4ecae9ccde7c6403751284a25
[INFO] running `Command { std: "docker" "start" "-a" "b8020e20e841f580426219eb2b7e957ff175f9b4ecae9ccde7c6403751284a25", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b8020e20e841f580426219eb2b7e957ff175f9b4ecae9ccde7c6403751284a25", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b8020e20e841f580426219eb2b7e957ff175f9b4ecae9ccde7c6403751284a25", kill_on_drop: false }`
[INFO] [stdout] b8020e20e841f580426219eb2b7e957ff175f9b4ecae9ccde7c6403751284a25
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 041ffe26d1b3de938d981d1819ba704e8ec49652fe22bdc7d65d348fdc251aaf
[INFO] running `Command { std: "docker" "start" "-a" "041ffe26d1b3de938d981d1819ba704e8ec49652fe22bdc7d65d348fdc251aaf", kill_on_drop: false }`
[INFO] [stderr]    Compiling crossbeam-utils v0.8.5
[INFO] [stderr]    Compiling libc v0.2.102
[INFO] [stderr]    Compiling proc-macro2 v1.0.29
[INFO] [stderr]    Compiling serde v1.0.130
[INFO] [stderr]    Compiling syn v1.0.77
[INFO] [stderr]    Compiling memoffset v0.6.4
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.5
[INFO] [stderr]    Compiling rayon-core v1.9.1
[INFO] [stderr]    Compiling cast v0.2.7
[INFO] [stderr]    Compiling serde_json v1.0.68
[INFO] [stderr]     Checking crossbeam-channel v0.5.1
[INFO] [stderr]     Checking itoa v0.4.8
[INFO] [stderr]    Compiling anyhow v1.0.44
[INFO] [stderr]    Compiling bitintr v0.3.0
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]    Compiling rayon v1.5.1
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stderr]     Checking crossbeam-deque v0.8.1
[INFO] [stderr]     Checking regex-automata v0.1.10
[INFO] [stderr]    Compiling serde_derive v1.0.130
[INFO] [stderr]     Checking plotters-backend v0.3.2
[INFO] [stderr]     Checking rand_xoshiro v0.6.0
[INFO] [stderr]     Checking plotters-svg v0.3.1
[INFO] [stderr]     Checking csv-core v0.1.10
[INFO] [stderr]     Checking itertools v0.10.1
[INFO] [stderr]     Checking getrandom v0.2.3
[INFO] [stderr]     Checking getopts v0.2.21
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking dotenv v0.15.0
[INFO] [stderr]     Checking telnet v0.2.1
[INFO] [stderr]     Checking colorful v0.2.1
[INFO] [stderr]     Checking termtree v0.2.3
[INFO] [stderr]     Checking half v1.7.1
[INFO] [stderr]     Checking clap v2.33.3
[INFO] [stderr]     Checking regex v1.5.4
[INFO] [stderr]     Checking plotters v0.3.1
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking oorandom v11.1.3
[INFO] [stderr]     Checking criterion-plot v0.4.4
[INFO] [stderr]     Checking bstr v0.2.17
[INFO] [stderr]     Checking serde_cbor v0.11.2
[INFO] [stderr]     Checking csv v1.1.6
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]    Compiling mini-internal v0.1.24
[INFO] [stderr]     Checking miniserde v0.1.24
[INFO] [stderr]     Checking topaz-tak v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Stack`
[INFO] [stdout]  --> src/eval.rs:1:30
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{Bitboard, Piece, Stack};
[INFO] [stdout]   |                              ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> src/lib.rs:38:29
[INFO] [stdout]    |
[INFO] [stdout] 38 |             Color::White => ("White"),
[INFO] [stdout]    |                             ^       ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 38 -             Color::White => ("White"),
[INFO] [stdout] 38 +             Color::White => "White",
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> src/lib.rs:39:29
[INFO] [stdout]    |
[INFO] [stdout] 39 |             Color::Black => ("Black"),
[INFO] [stdout]    |                             ^       ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 39 -             Color::Black => ("Black"),
[INFO] [stdout] 39 +             Color::Black => "Black",
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ply`
[INFO] [stdout]    --> src/move_gen/move_order.rs:181:32
[INFO] [stdout]     |
[INFO] [stdout] 181 |     pub fn get_best(&mut self, ply: usize, info: &SearchInfo) -> GameMove {
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_ply`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]    --> src/move_gen/move_order.rs:181:44
[INFO] [stdout]     |
[INFO] [stdout] 181 |     pub fn get_best(&mut self, ply: usize, info: &SearchInfo) -> GameMove {
[INFO] [stdout]     |                                            ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `real_idx`
[INFO] [stdout]    --> src/move_gen/magic.rs:106:13
[INFO] [stdout]     |
[INFO] [stdout] 106 |         let real_idx = self.offsets[idx].lookup(board.bits().wall.raw_bits(), shift);
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_real_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `board`
[INFO] [stdout]    --> src/move_gen/magic.rs:144:37
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub fn get_move_limits<T: TakBoard>(board: &T, sq_idx: usize) -> MoveLimits {
[INFO] [stdout]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_board`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sq_idx`
[INFO] [stdout]    --> src/move_gen/magic.rs:144:48
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub fn get_move_limits<T: TakBoard>(board: &T, sq_idx: usize) -> MoveLimits {
[INFO] [stdout]     |                                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sq_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `magic` is never read
[INFO] [stdout]    --> src/move_gen/magic.rs:198:17
[INFO] [stdout]     |
[INFO] [stdout] 198 |         let mut magic = 0;
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offsets`
[INFO] [stdout]    --> src/move_gen/magic.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 224 |     let offsets: Vec<_> = builder.offsets.iter().cloned().map(|x| x.offset).collect();
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_offsets`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `vec` is never read
[INFO] [stdout]    --> src/move_gen/move_order.rs:371:5
[INFO] [stdout]     |
[INFO] [stdout] 370 | pub struct HistoryMoves {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] 371 |     vec: Vec<u32>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `HistoryMoves` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `update`, `square_data`, and `score` are never used
[INFO] [stdout]    --> src/move_gen/move_order.rs:375:12
[INFO] [stdout]     |
[INFO] [stdout] 374 | impl HistoryMoves {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 375 |     pub fn new(board_size: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 380 |     pub fn update(&mut self, depth: usize, mv: GameMove) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 384 |     pub fn square_data(&self, square: usize) -> &[u32] {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 387 |     pub fn score(&self, mv: GameMove) -> i16 {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MagicMoveArray` is never constructed
[INFO] [stdout]   --> src/move_gen/magic.rs:98:8
[INFO] [stdout]    |
[INFO] [stdout] 98 | struct MagicMoveArray<const N: usize, const FULL: usize> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `lookup` is never used
[INFO] [stdout]    --> src/move_gen/magic.rs:104:8
[INFO] [stdout]     |
[INFO] [stdout] 103 | impl<const N: usize, const FULL: usize> MagicMoveArray<N, FULL> {
[INFO] [stdout]     | --------------------------------------------------------------- method in this implementation
[INFO] [stdout] 104 |     fn lookup<T: TakBoard>(&self, board: &T, idx: usize) -> MoveLimits {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `magic` is never read
[INFO] [stdout]    --> src/move_gen/magic.rs:114:5
[INFO] [stdout]     |
[INFO] [stdout] 112 | struct Offset {
[INFO] [stdout]     |        ------ field in this struct
[INFO] [stdout] 113 |     offset: usize,
[INFO] [stdout] 114 |     magic: u64,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Offset` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `lookup` is never used
[INFO] [stdout]    --> src/move_gen/magic.rs:121:8
[INFO] [stdout]     |
[INFO] [stdout] 117 | impl Offset {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 121 |     fn lookup(&self, key: u64, shift: usize) -> usize {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MoveGenValue` is never constructed
[INFO] [stdout]    --> src/move_gen/magic.rs:148:8
[INFO] [stdout]     |
[INFO] [stdout] 148 | struct MoveGenValue {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get` is never used
[INFO] [stdout]    --> src/move_gen/magic.rs:157:8
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl MoveGenValue {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] 157 |     fn get<T: TakBoard>(&self, board: &T, idx: usize) -> MoveLimits {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gen_mask6` is never used
[INFO] [stdout]    --> src/move_gen/magic.rs:246:4
[INFO] [stdout]     |
[INFO] [stdout] 246 | fn gen_mask6() -> Vec<u64> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `check` is never used
[INFO] [stdout]    --> src/search.rs:403:8
[INFO] [stdout]     |
[INFO] [stdout] 392 | impl TakHistory {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 403 |     fn check(self, depth: usize) -> bool {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 20 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking criterion v0.3.5
[INFO] [stdout] warning: unused import: `LOSE_SCORE`
[INFO] [stdout]  --> benches/benchmark.rs:4:44
[INFO] [stdout]   |
[INFO] [stdout] 4 | use topaz_tak::eval::{Evaluator, Weights6, LOSE_SCORE};
[INFO] [stdout]   |                                            ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eval`
[INFO] [stdout]   --> benches/benchmark.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let eval = Weights6::default();
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_eval`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `execute_small_perft` is never used
[INFO] [stdout]   --> benches/benchmark.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn execute_small_perft(depth: usize) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `captives_count` is never used
[INFO] [stdout]   --> benches/benchmark.rs:43:4
[INFO] [stdout]    |
[INFO] [stdout] 43 | fn captives_count(boards: &[Board6]) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evaluate_positions` is never used
[INFO] [stdout]   --> benches/benchmark.rs:72:4
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn evaluate_positions<E: Evaluator<Game = Board6>>(positions: &[Board6], eval: &E) -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `placement_road` is never used
[INFO] [stdout]   --> benches/benchmark.rs:80:4
[INFO] [stdout]    |
[INFO] [stdout] 80 | fn placement_road(_x: ()) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 6 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Stack`
[INFO] [stdout]  --> src/eval.rs:1:30
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::{Bitboard, Piece, Stack};
[INFO] [stdout]   |                              ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> src/lib.rs:38:29
[INFO] [stdout]    |
[INFO] [stdout] 38 |             Color::White => ("White"),
[INFO] [stdout]    |                             ^       ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 38 -             Color::White => ("White"),
[INFO] [stdout] 38 +             Color::White => "White",
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> src/lib.rs:39:29
[INFO] [stdout]    |
[INFO] [stdout] 39 |             Color::Black => ("Black"),
[INFO] [stdout]    |                             ^       ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 39 -             Color::Black => ("Black"),
[INFO] [stdout] 39 +             Color::Black => "Black",
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ply`
[INFO] [stdout]    --> src/move_gen/move_order.rs:181:32
[INFO] [stdout]     |
[INFO] [stdout] 181 |     pub fn get_best(&mut self, ply: usize, info: &SearchInfo) -> GameMove {
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_ply`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]    --> src/move_gen/move_order.rs:181:44
[INFO] [stdout]     |
[INFO] [stdout] 181 |     pub fn get_best(&mut self, ply: usize, info: &SearchInfo) -> GameMove {
[INFO] [stdout]     |                                            ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `real_idx`
[INFO] [stdout]    --> src/move_gen/magic.rs:106:13
[INFO] [stdout]     |
[INFO] [stdout] 106 |         let real_idx = self.offsets[idx].lookup(board.bits().wall.raw_bits(), shift);
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_real_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `board`
[INFO] [stdout]    --> src/move_gen/magic.rs:144:37
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub fn get_move_limits<T: TakBoard>(board: &T, sq_idx: usize) -> MoveLimits {
[INFO] [stdout]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_board`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sq_idx`
[INFO] [stdout]    --> src/move_gen/magic.rs:144:48
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub fn get_move_limits<T: TakBoard>(board: &T, sq_idx: usize) -> MoveLimits {
[INFO] [stdout]     |                                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sq_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `magic` is never read
[INFO] [stdout]    --> src/move_gen/magic.rs:198:17
[INFO] [stdout]     |
[INFO] [stdout] 198 |         let mut magic = 0;
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offsets`
[INFO] [stdout]    --> src/move_gen/magic.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 224 |     let offsets: Vec<_> = builder.offsets.iter().cloned().map(|x| x.offset).collect();
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_offsets`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `bits` is never read
[INFO] [stdout]    --> src/eval.rs:268:5
[INFO] [stdout]     |
[INFO] [stdout] 267 | struct BitOutcome<B> {
[INFO] [stdout]     |        ---------- field in this struct
[INFO] [stdout] 268 |     bits: B,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `vec` is never read
[INFO] [stdout]    --> src/move_gen/move_order.rs:371:5
[INFO] [stdout]     |
[INFO] [stdout] 370 | pub struct HistoryMoves {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] 371 |     vec: Vec<u32>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `HistoryMoves` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `update`, `square_data`, and `score` are never used
[INFO] [stdout]    --> src/move_gen/move_order.rs:375:12
[INFO] [stdout]     |
[INFO] [stdout] 374 | impl HistoryMoves {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 375 |     pub fn new(board_size: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 380 |     pub fn update(&mut self, depth: usize, mv: GameMove) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 384 |     pub fn square_data(&self, square: usize) -> &[u32] {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 387 |     pub fn score(&self, mv: GameMove) -> i16 {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MagicMoveArray` is never constructed
[INFO] [stdout]   --> src/move_gen/magic.rs:98:8
[INFO] [stdout]    |
[INFO] [stdout] 98 | struct MagicMoveArray<const N: usize, const FULL: usize> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `lookup` is never used
[INFO] [stdout]    --> src/move_gen/magic.rs:104:8
[INFO] [stdout]     |
[INFO] [stdout] 103 | impl<const N: usize, const FULL: usize> MagicMoveArray<N, FULL> {
[INFO] [stdout]     | --------------------------------------------------------------- method in this implementation
[INFO] [stdout] 104 |     fn lookup<T: TakBoard>(&self, board: &T, idx: usize) -> MoveLimits {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `magic` is never read
[INFO] [stdout]    --> src/move_gen/magic.rs:114:5
[INFO] [stdout]     |
[INFO] [stdout] 112 | struct Offset {
[INFO] [stdout]     |        ------ field in this struct
[INFO] [stdout] 113 |     offset: usize,
[INFO] [stdout] 114 |     magic: u64,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Offset` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `lookup` is never used
[INFO] [stdout]    --> src/move_gen/magic.rs:121:8
[INFO] [stdout]     |
[INFO] [stdout] 117 | impl Offset {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 121 |     fn lookup(&self, key: u64, shift: usize) -> usize {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MoveGenValue` is never constructed
[INFO] [stdout]    --> src/move_gen/magic.rs:148:8
[INFO] [stdout]     |
[INFO] [stdout] 148 | struct MoveGenValue {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get` is never used
[INFO] [stdout]    --> src/move_gen/magic.rs:157:8
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl MoveGenValue {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] 157 |     fn get<T: TakBoard>(&self, board: &T, idx: usize) -> MoveLimits {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gen_mask6` is never used
[INFO] [stdout]    --> src/move_gen/magic.rs:246:4
[INFO] [stdout]     |
[INFO] [stdout] 246 | fn gen_mask6() -> Vec<u64> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `check` is never used
[INFO] [stdout]    --> src/search.rs:403:8
[INFO] [stdout]     |
[INFO] [stdout] 392 | impl TakHistory {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 403 |     fn check(self, depth: usize) -> bool {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 21 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 8.58s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: criterion v0.3.5
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "041ffe26d1b3de938d981d1819ba704e8ec49652fe22bdc7d65d348fdc251aaf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "041ffe26d1b3de938d981d1819ba704e8ec49652fe22bdc7d65d348fdc251aaf", kill_on_drop: false }`
[INFO] [stdout] 041ffe26d1b3de938d981d1819ba704e8ec49652fe22bdc7d65d348fdc251aaf
