[INFO] cloning repository https://github.com/fangs124/pp0 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/fangs124/pp0" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffangs124%2Fpp0", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffangs124%2Fpp0'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 752357849b4f09ff6013a8d159d7ed8b7841f278 [INFO] checking fangs124/pp0 against try#4f260f0f20b3133d20cfb50353c0221943af5796+rustflags=-Dunmustuse_in_always_ok for pr-148577 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffangs124%2Fpp0" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/fangs124/pp0 [INFO] finished tweaking git repo https://github.com/fangs124/pp0 [INFO] tweaked toml for git repo https://github.com/fangs124/pp0 written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/fangs124/pp0 on toolchain 4f260f0f20b3133d20cfb50353c0221943af5796 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/fangs124/pp0 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" "+4f260f0f20b3133d20cfb50353c0221943af5796" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d13b756150251724700fb06bc115cc13a7efe151f3d17533ccca592d5c90ee90 [INFO] running `Command { std: "docker" "start" "-a" "d13b756150251724700fb06bc115cc13a7efe151f3d17533ccca592d5c90ee90", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d13b756150251724700fb06bc115cc13a7efe151f3d17533ccca592d5c90ee90", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d13b756150251724700fb06bc115cc13a7efe151f3d17533ccca592d5c90ee90", kill_on_drop: false }` [INFO] [stdout] d13b756150251724700fb06bc115cc13a7efe151f3d17533ccca592d5c90ee90 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dunmustuse_in_always_ok" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c2ebf69af6c4b344188e05eae0d0729bb47bc59e7aeaee80432e4a22435e709b [INFO] running `Command { std: "docker" "start" "-a" "c2ebf69af6c4b344188e05eae0d0729bb47bc59e7aeaee80432e4a22435e709b", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.103 [INFO] [stderr] Compiling unicode-ident v1.0.20 [INFO] [stderr] Compiling libc v0.2.177 [INFO] [stderr] Checking cfg-if v1.0.4 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling zerocopy v0.8.27 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling typenum v1.19.0 [INFO] [stderr] Checking rawpointer v0.2.1 [INFO] [stderr] Checking either v1.15.0 [INFO] [stderr] Compiling libm v0.2.15 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling matrixmultiply v0.3.10 [INFO] [stderr] Compiling serde_json v1.0.145 [INFO] [stderr] Checking ryu v1.0.20 [INFO] [stderr] Checking itoa v1.0.15 [INFO] [stderr] Checking memchr v2.7.6 [INFO] [stderr] Checking arrayvec v0.7.6 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling rayon-core v1.13.0 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Checking itertools v0.14.0 [INFO] [stderr] Compiling find-msvc-tools v0.1.4 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Checking smallvec v1.15.1 [INFO] [stderr] Compiling rustix v1.1.2 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Compiling cc v1.2.43 [INFO] [stderr] Checking log v0.4.28 [INFO] [stderr] Checking lock_api v0.4.14 [INFO] [stderr] Compiling litrs v1.0.0 [INFO] [stderr] Checking linux-raw-sys v0.11.0 [INFO] [stderr] Checking bitflags v2.10.0 [INFO] [stderr] Checking thread_local v1.1.9 [INFO] [stderr] Checking unicode-segmentation v1.12.0 [INFO] [stderr] Checking dyn-clone v1.0.20 [INFO] [stderr] Compiling quote v1.0.41 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Checking numtoa v0.2.4 [INFO] [stderr] Checking unicode-width v0.2.2 [INFO] [stderr] Checking fuzzy-matcher v0.3.7 [INFO] [stderr] Checking crossbeam-deque v0.8.6 [INFO] [stderr] Compiling syn v2.0.108 [INFO] [stderr] Compiling document-features v0.2.12 [INFO] [stderr] Checking signal-hook-registry v1.4.6 [INFO] [stderr] Checking mio v1.1.0 [INFO] [stderr] Checking termion v4.0.5 [INFO] [stderr] Checking parking_lot v0.12.5 [INFO] [stderr] Checking rayon v1.11.0 [INFO] [stderr] Checking signal-hook-mio v0.2.5 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Compiling libmimalloc-sys v0.1.44 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking approx v0.5.1 [INFO] [stderr] Checking num-rational v0.4.2 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling bytemuck_derive v1.10.2 [INFO] [stderr] Compiling nalgebra-macros v0.3.0 [INFO] [stderr] Compiling derive_more-impl v2.0.1 [INFO] [stderr] Checking derive_more v2.0.1 [INFO] [stderr] Checking bytemuck v1.24.0 [INFO] [stderr] Checking crossterm v0.29.0 [INFO] [stderr] Checking safe_arch v0.7.4 [INFO] [stderr] Checking atomic v0.6.1 [INFO] [stderr] Checking inquire v0.9.1 [INFO] [stderr] Checking wide v0.7.33 [INFO] [stderr] Checking mimalloc v0.1.48 [INFO] [stderr] Checking rand_core v0.9.3 [INFO] [stderr] Checking num-complex v0.4.6 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Checking rand v0.9.2 [INFO] [stderr] Checking simba v0.9.1 [INFO] [stderr] Checking rand_distr v0.5.1 [INFO] [stderr] Checking nalgebra v0.34.1 [INFO] [stderr] Checking nnue v0.1.0 (/opt/rustwide/workdir/nnue) [INFO] [stdout] warning: unexpected `cfg` condition value: `mimalloc` [INFO] [stdout] --> nnue/src/lib.rs:8:7 [INFO] [stdout] | [INFO] [stdout] 8 | #[cfg(feature = "mimalloc")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `arrayvec` [INFO] [stdout] = help: consider adding `mimalloc` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `mimalloc` [INFO] [stdout] --> nnue/src/lib.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | #[cfg(feature = "mimalloc")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `arrayvec` [INFO] [stdout] = help: consider adding `mimalloc` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Error`, `Read`, `Write`, `from_raw_parts_mut`, `from_raw_parts`, `mem::MaybeUninit`, and `ptr::addr_of_mut` [INFO] [stdout] --> nnue/src/lib.rs:2:10 [INFO] [stdout] | [INFO] [stdout] 2 | io::{Error, Read, Write}, [INFO] [stdout] | ^^^^^ ^^^^ ^^^^^ [INFO] [stdout] 3 | mem::MaybeUninit, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 4 | ptr::addr_of_mut, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 5 | slice::{from_raw_parts, from_raw_parts_mut}, [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SMatrix` and `SVector` [INFO] [stdout] --> nnue/src/lib.rs:17:34 [INFO] [stdout] | [INFO] [stdout] 17 | use nalgebra::{DMatrix, DVector, SMatrix, SVector}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num_traits::Zero` [INFO] [stdout] --> nnue/src/lib.rs:18:35 [INFO] [stdout] | [INFO] [stdout] 18 | use rand_distr::{Normal, Uniform, num_traits::Zero}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `mem::MaybeUninit` and `ptr::addr_of_mut` [INFO] [stdout] --> nnue/src/grad.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | mem::MaybeUninit, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 3 | ops::{Add, Mul}, [INFO] [stdout] 4 | ptr::addr_of_mut, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SMatrix` and `SVector` [INFO] [stdout] --> nnue/src/grad.rs:7:48 [INFO] [stdout] | [INFO] [stdout] 7 | use nalgebra::{ComplexField, DMatrix, DVector, SMatrix, SVector}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> nnue/src/grad.rs:8:13 [INFO] [stdout] | [INFO] [stdout] 8 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `mimalloc` [INFO] [stdout] --> nnue/src/lib.rs:8:7 [INFO] [stdout] | [INFO] [stdout] 8 | #[cfg(feature = "mimalloc")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `arrayvec` [INFO] [stdout] = help: consider adding `mimalloc` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `mimalloc` [INFO] [stdout] --> nnue/src/lib.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | #[cfg(feature = "mimalloc")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `arrayvec` [INFO] [stdout] = help: consider adding `mimalloc` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Error`, `Read`, `Write`, `from_raw_parts_mut`, `from_raw_parts`, `mem::MaybeUninit`, and `ptr::addr_of_mut` [INFO] [stdout] --> nnue/src/lib.rs:2:10 [INFO] [stdout] | [INFO] [stdout] 2 | io::{Error, Read, Write}, [INFO] [stdout] | ^^^^^ ^^^^ ^^^^^ [INFO] [stdout] 3 | mem::MaybeUninit, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 4 | ptr::addr_of_mut, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 5 | slice::{from_raw_parts, from_raw_parts_mut}, [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SMatrix` and `SVector` [INFO] [stdout] --> nnue/src/lib.rs:17:34 [INFO] [stdout] | [INFO] [stdout] 17 | use nalgebra::{DMatrix, DVector, SMatrix, SVector}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num_traits::Zero` [INFO] [stdout] --> nnue/src/lib.rs:18:35 [INFO] [stdout] | [INFO] [stdout] 18 | use rand_distr::{Normal, Uniform, num_traits::Zero}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `mem::MaybeUninit` and `ptr::addr_of_mut` [INFO] [stdout] --> nnue/src/grad.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | mem::MaybeUninit, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 3 | ops::{Add, Mul}, [INFO] [stdout] 4 | ptr::addr_of_mut, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SMatrix` and `SVector` [INFO] [stdout] --> nnue/src/grad.rs:7:48 [INFO] [stdout] | [INFO] [stdout] 7 | use nalgebra::{ComplexField, DMatrix, DVector, SMatrix, SVector}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> nnue/src/grad.rs:8:13 [INFO] [stdout] | [INFO] [stdout] 8 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ComplexField` [INFO] [stdout] --> nnue/src/grad.rs:7:16 [INFO] [stdout] | [INFO] [stdout] 7 | use nalgebra::{ComplexField, DMatrix, DVector, SMatrix, SVector}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DATA_LEN` is never used [INFO] [stdout] --> nnue/src/lib.rs:98:7 [INFO] [stdout] | [INFO] [stdout] 98 | const DATA_LEN: usize = size_of::(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `dphi` is never used [INFO] [stdout] --> nnue/src/lib.rs:318:8 [INFO] [stdout] | [INFO] [stdout] 305 | impl Layer { [INFO] [stdout] | -------------------------------------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 318 | fn dphi(&self, input: &DVector) -> DVector { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `safesoftmax` is never used [INFO] [stdout] --> nnue/src/phi.rs:136:8 [INFO] [stdout] | [INFO] [stdout] 136 | pub fn safesoftmax(xs: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ComplexField` [INFO] [stdout] --> nnue/src/grad.rs:7:16 [INFO] [stdout] | [INFO] [stdout] 7 | use nalgebra::{ComplexField, DMatrix, DVector, SMatrix, SVector}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DATA_LEN` is never used [INFO] [stdout] --> nnue/src/lib.rs:98:7 [INFO] [stdout] | [INFO] [stdout] 98 | const DATA_LEN: usize = size_of::(); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `dphi` is never used [INFO] [stdout] --> nnue/src/lib.rs:318:8 [INFO] [stdout] | [INFO] [stdout] 305 | impl Layer { [INFO] [stdout] | -------------------------------------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 318 | fn dphi(&self, input: &DVector) -> DVector { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `safesoftmax` is never used [INFO] [stdout] --> nnue/src/phi.rs:136:8 [INFO] [stdout] | [INFO] [stdout] 136 | pub fn safesoftmax(xs: &Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking chessbb v0.1.0 (/opt/rustwide/workdir/chessbb) [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> chessbb/src/chessboard/mod.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Instant` [INFO] [stdout] --> chessbb/src/chessboard/mod.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::time::Instant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::chessboard` [INFO] [stdout] --> chessbb/src/chessboard/mod.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::chessboard; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `iter` [INFO] [stdout] --> chessbb/src/chessboard/mailbox.rs:1:23 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{fmt::Debug, iter, ops::Index}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::hint::unreachable_unchecked` [INFO] [stdout] --> chessbb/src/chessmove/mod.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::hint::unreachable_unchecked; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SVector` [INFO] [stdout] --> chessbb/src/nnue.rs:1:25 [INFO] [stdout] | [INFO] [stdout] 1 | use nalgebra::{DVector, SVector}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> chessbb/src/chessboard/mod.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Instant` [INFO] [stdout] --> chessbb/src/chessboard/mod.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::time::Instant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::chessboard` [INFO] [stdout] --> chessbb/src/chessboard/mod.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::chessboard; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `iter` [INFO] [stdout] --> chessbb/src/chessboard/mailbox.rs:1:23 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{fmt::Debug, iter, ops::Index}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::hint::unreachable_unchecked` [INFO] [stdout] --> chessbb/src/chessmove/mod.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::hint::unreachable_unchecked; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SVector` [INFO] [stdout] --> chessbb/src/nnue.rs:1:25 [INFO] [stdout] | [INFO] [stdout] 1 | use nalgebra::{DVector, SVector}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bishops` [INFO] [stdout] --> chessbb/src/chessboard/mod.rs:558:64 [INFO] [stdout] | [INFO] [stdout] 558 | return matches!(bishops.bit_and(&Bitboard::WHITE), bishops) || matches!(bishops.bit_and(&Bitboard::BLACK), bishops); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bishops` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bishops` [INFO] [stdout] --> chessbb/src/chessboard/mod.rs:558:120 [INFO] [stdout] | [INFO] [stdout] 558 | return matches!(bishops.bit_and(&Bitboard::WHITE), bishops) || matches!(bishops.bit_and(&Bitboard::BLACK), bishops); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bishops` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bishops` [INFO] [stdout] --> chessbb/src/chessboard/mod.rs:558:64 [INFO] [stdout] | [INFO] [stdout] 558 | return matches!(bishops.bit_and(&Bitboard::WHITE), bishops) || matches!(bishops.bit_and(&Bitboard::BLACK), bishops); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bishops` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bishops` [INFO] [stdout] --> chessbb/src/chessboard/mod.rs:558:120 [INFO] [stdout] | [INFO] [stdout] 558 | return matches!(bishops.bit_and(&Bitboard::WHITE), bishops) || matches!(bishops.bit_and(&Bitboard::BLACK), bishops); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bishops` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PROMOTION_ROWS` is never used [INFO] [stdout] --> chessbb/src/bitboard/attack.rs:54:7 [INFO] [stdout] | [INFO] [stdout] 54 | const PROMOTION_ROWS: [usize; 2] = [7, 0]; [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 `promotion_row` is never used [INFO] [stdout] --> chessbb/src/bitboard/attack.rs:56:21 [INFO] [stdout] | [INFO] [stdout] 56 | pub(crate) const fn promotion_row(side: Side) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `starting_row` is never used [INFO] [stdout] --> chessbb/src/bitboard/attack.rs:62:21 [INFO] [stdout] | [INFO] [stdout] 62 | pub(crate) const fn starting_row(side: Side) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_occ_bb` is never used [INFO] [stdout] --> chessbb/src/bitboard/attack/magic.rs:77:10 [INFO] [stdout] | [INFO] [stdout] 77 | const fn compute_occ_bb(index: usize, mask_bitcount: usize, attack_mask: Bitboard) -> Bitboard { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bishop_attack_mbb` is never used [INFO] [stdout] --> chessbb/src/bitboard/attack/magic.rs:167:10 [INFO] [stdout] | [INFO] [stdout] 167 | const fn bishop_attack_mbb() -> [[Bitboard; SIZE_BISHOP]; 64] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rook_attack_mbb` is never used [INFO] [stdout] --> chessbb/src/bitboard/attack/magic.rs:194:10 [INFO] [stdout] | [INFO] [stdout] 194 | const fn rook_attack_mbb() -> [[Bitboard; SIZE_ROOK]; 64] { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sym_index` is never used [INFO] [stdout] --> chessbb/src/chessboard/mod.rs:160:14 [INFO] [stdout] | [INFO] [stdout] 160 | pub const fn sym_index(c: char) -> usize { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `COLOUR_PIECE_SYMBOLS` is never used [INFO] [stdout] --> chessbb/src/chessboard/mod.rs:180:11 [INFO] [stdout] | [INFO] [stdout] 180 | pub const COLOUR_PIECE_SYMBOLS: [char; 12] = ['P', 'N', 'B', 'R', 'Q', 'K', 'p', 'n', 'b', 'r', 'q', 'k']; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `king_square` is never used [INFO] [stdout] --> chessbb/src/chessboard/mod.rs:208:14 [INFO] [stdout] | [INFO] [stdout] 202 | impl ChessGame { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 208 | const fn king_square(&self, side: Side) -> Square { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_king_in_check` is never used [INFO] [stdout] --> chessbb/src/chessboard/mod.rs:410:25 [INFO] [stdout] | [INFO] [stdout] 400 | impl ChessBoard { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 410 | pub(crate) const fn is_king_in_check(&self, king_side: Side) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `MailboxIterator` is never used [INFO] [stdout] --> chessbb/src/chessboard/mailbox.rs:49:10 [INFO] [stdout] | [INFO] [stdout] 49 | pub type MailboxIterator = OptionMailboxIterator; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MaybeMailbox` is never constructed [INFO] [stdout] --> chessbb/src/chessboard/mailbox.rs:84:12 [INFO] [stdout] | [INFO] [stdout] 84 | pub struct MaybeMailbox([MaybeChessPiece; 64]); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MaybeMailboxIterator` is never constructed [INFO] [stdout] --> chessbb/src/chessboard/mailbox.rs:87:12 [INFO] [stdout] | [INFO] [stdout] 87 | pub struct MaybeMailboxIterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `NONE` and `convert` are never used [INFO] [stdout] --> chessbb/src/chessboard/mailbox.rs:127:11 [INFO] [stdout] | [INFO] [stdout] 126 | impl MaybeChessPiece { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 127 | const NONE: MaybeChessPiece = MaybeChessPiece(0b0000_0000); [INFO] [stdout] | ^^^^ [INFO] [stdout] 128 | [INFO] [stdout] 129 | const fn convert(value: MaybeChessPiece) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `square_index`, `index`, `set`, `iter`, `EMPTY_MAILBOX`, and `START_MAILBOX` are never used [INFO] [stdout] --> chessbb/src/chessboard/mailbox.rs:178:25 [INFO] [stdout] | [INFO] [stdout] 177 | impl MaybeMailbox { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 178 | pub(crate) const fn square_index(&self, s: Square) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 182 | pub(crate) const fn index(&self, i: usize) -> Option { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 186 | pub(crate) fn set(&mut self, piece: Option, square: Square) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | pub fn iter(&self) -> MaybeMailboxIterator { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 194 | pub(crate) const EMPTY_MAILBOX: MaybeMailbox = MaybeMailbox([MaybeChessPiece::NONE; 64]); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 197 | pub(crate) const START_MAILBOX: MaybeMailbox = MaybeMailbox([ [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `index` is never used [INFO] [stdout] --> chessbb/src/chessboard/mailbox.rs:281:25 [INFO] [stdout] | [INFO] [stdout] 276 | impl OptionMailbox { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 281 | pub(crate) const fn index(&self, i: usize) -> Option { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `calculate_attacking_pawns` is never used [INFO] [stdout] --> chessbb/src/chessboard/movegen.rs:363:14 [INFO] [stdout] | [INFO] [stdout] 15 | impl ChessBoard { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 363 | const fn calculate_attacking_pawns(&self) -> Bitboard { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PieceBoard` is never constructed [INFO] [stdout] --> chessbb/src/chessboard/pieceboard.rs:91:12 [INFO] [stdout] | [INFO] [stdout] 91 | pub struct PieceBoard([Bitboard; 12]); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> chessbb/src/chessboard/pieceboard.rs:101:22 [INFO] [stdout] | [INFO] [stdout] 100 | impl PieceBoard { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 101 | pub(crate) const EMPTY_BOARD: PieceBoard = PieceBoard([Bitboard::ZERO; 12]); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 102 | [INFO] [stdout] 103 | pub(crate) const START_BOARD: PieceBoard = PieceBoard([ [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | pub const fn piece_bitboard(&self, index: ChessPiece) -> Bitboard { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | pub(crate) const fn colour_blockers(&self, side: Side) -> Bitboard { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 128 | pub(crate) const fn white_blockers(&self) -> Bitboard { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | pub(crate) const fn black_blockers(&self) -> Bitboard { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 136 | pub(crate) const fn blockers(&self) -> Bitboard { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | pub(crate) const fn set_bit(&mut self, piece: ChessPiece, square: Square) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | pub(crate) const fn pop_bit(&mut self, piece: ChessPiece, square: Square) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `to_u64`, `new`, and `compute_castle_hash` are never used [INFO] [stdout] --> chessbb/src/chessboard/zobrist/mod.rs:82:25 [INFO] [stdout] | [INFO] [stdout] 78 | impl ZobristHash { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 82 | pub(crate) const fn to_u64(&self) -> u64 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub(crate) const fn new(value: u64) -> ZobristHash { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | pub(crate) const fn compute_castle_hash(chessboard: &ChessBoard) -> ZobristHash { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `PROMOTION_PIECE`, `CASTLING`, `set_source`, and `set_target` are never used [INFO] [stdout] --> chessbb/src/chessmove/mod.rs:108:11 [INFO] [stdout] | [INFO] [stdout] 97 | impl ChessMove { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 108 | const PROMOTION_PIECE: [PieceType; 4] = [PieceType::Knight, PieceType::Bishop, PieceType::Rook, PieceType::Queen]; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 109 | [INFO] [stdout] 110 | const CASTLING: [Castling; 4] = [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | pub(crate) const fn set_source(&mut self, index: usize) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | pub(crate) const fn set_target(&mut self, index: usize) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FLIPPED_INDEX` is never used [INFO] [stdout] --> chessbb/src/square.rs:57:7 [INFO] [stdout] | [INFO] [stdout] 57 | const FLIPPED_INDEX: [usize; 64] = [ [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> chessbb/src/square.rs:106:24 [INFO] [stdout] | [INFO] [stdout] 74 | impl Square { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 106 | pub(crate)const fn is_same_diag(s1: Square, s2: Square, s3: Square) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | pub(crate)const fn is_same_ddiag(s1: Square, s2: Square) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | pub(crate)const fn is_same_adiag(s1: Square, s2: Square) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | pub(crate)const fn is_same_row(s1: Square, s2: Square) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | pub(crate) const fn is_same_col(s1: Square, s2: Square) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | const DDIAG: [u8; 64] = [ [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | const ADIAG: [u8; 64] = [ [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | const ROWS: [u8; 64] = [ [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 200 | const COLS: [u8; 64] = [ [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PROMOTION_ROWS` is never used [INFO] [stdout] --> chessbb/src/bitboard/attack.rs:54:7 [INFO] [stdout] | [INFO] [stdout] 54 | const PROMOTION_ROWS: [usize; 2] = [7, 0]; [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 `promotion_row` is never used [INFO] [stdout] --> chessbb/src/bitboard/attack.rs:56:21 [INFO] [stdout] | [INFO] [stdout] 56 | pub(crate) const fn promotion_row(side: Side) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `starting_row` is never used [INFO] [stdout] --> chessbb/src/bitboard/attack.rs:62:21 [INFO] [stdout] | [INFO] [stdout] 62 | pub(crate) const fn starting_row(side: Side) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compute_occ_bb` is never used [INFO] [stdout] --> chessbb/src/bitboard/attack/magic.rs:77:10 [INFO] [stdout] | [INFO] [stdout] 77 | const fn compute_occ_bb(index: usize, mask_bitcount: usize, attack_mask: Bitboard) -> Bitboard { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bishop_attack_mbb` is never used [INFO] [stdout] --> chessbb/src/bitboard/attack/magic.rs:167:10 [INFO] [stdout] | [INFO] [stdout] 167 | const fn bishop_attack_mbb() -> [[Bitboard; SIZE_BISHOP]; 64] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rook_attack_mbb` is never used [INFO] [stdout] --> chessbb/src/bitboard/attack/magic.rs:194:10 [INFO] [stdout] | [INFO] [stdout] 194 | const fn rook_attack_mbb() -> [[Bitboard; SIZE_ROOK]; 64] { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sym_index` is never used [INFO] [stdout] --> chessbb/src/chessboard/mod.rs:160:14 [INFO] [stdout] | [INFO] [stdout] 160 | pub const fn sym_index(c: char) -> usize { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `COLOUR_PIECE_SYMBOLS` is never used [INFO] [stdout] --> chessbb/src/chessboard/mod.rs:180:11 [INFO] [stdout] | [INFO] [stdout] 180 | pub const COLOUR_PIECE_SYMBOLS: [char; 12] = ['P', 'N', 'B', 'R', 'Q', 'K', 'p', 'n', 'b', 'r', 'q', 'k']; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `king_square` is never used [INFO] [stdout] --> chessbb/src/chessboard/mod.rs:208:14 [INFO] [stdout] | [INFO] [stdout] 202 | impl ChessGame { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 208 | const fn king_square(&self, side: Side) -> Square { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_king_in_check` is never used [INFO] [stdout] --> chessbb/src/chessboard/mod.rs:410:25 [INFO] [stdout] | [INFO] [stdout] 400 | impl ChessBoard { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 410 | pub(crate) const fn is_king_in_check(&self, king_side: Side) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `MailboxIterator` is never used [INFO] [stdout] --> chessbb/src/chessboard/mailbox.rs:49:10 [INFO] [stdout] | [INFO] [stdout] 49 | pub type MailboxIterator = OptionMailboxIterator; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MaybeMailbox` is never constructed [INFO] [stdout] --> chessbb/src/chessboard/mailbox.rs:84:12 [INFO] [stdout] | [INFO] [stdout] 84 | pub struct MaybeMailbox([MaybeChessPiece; 64]); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MaybeMailboxIterator` is never constructed [INFO] [stdout] --> chessbb/src/chessboard/mailbox.rs:87:12 [INFO] [stdout] | [INFO] [stdout] 87 | pub struct MaybeMailboxIterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `NONE` and `convert` are never used [INFO] [stdout] --> chessbb/src/chessboard/mailbox.rs:127:11 [INFO] [stdout] | [INFO] [stdout] 126 | impl MaybeChessPiece { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 127 | const NONE: MaybeChessPiece = MaybeChessPiece(0b0000_0000); [INFO] [stdout] | ^^^^ [INFO] [stdout] 128 | [INFO] [stdout] 129 | const fn convert(value: MaybeChessPiece) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `square_index`, `index`, `set`, `iter`, `EMPTY_MAILBOX`, and `START_MAILBOX` are never used [INFO] [stdout] --> chessbb/src/chessboard/mailbox.rs:178:25 [INFO] [stdout] | [INFO] [stdout] 177 | impl MaybeMailbox { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 178 | pub(crate) const fn square_index(&self, s: Square) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 182 | pub(crate) const fn index(&self, i: usize) -> Option { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 186 | pub(crate) fn set(&mut self, piece: Option, square: Square) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | pub fn iter(&self) -> MaybeMailboxIterator { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 194 | pub(crate) const EMPTY_MAILBOX: MaybeMailbox = MaybeMailbox([MaybeChessPiece::NONE; 64]); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 197 | pub(crate) const START_MAILBOX: MaybeMailbox = MaybeMailbox([ [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `index` is never used [INFO] [stdout] --> chessbb/src/chessboard/mailbox.rs:281:25 [INFO] [stdout] | [INFO] [stdout] 276 | impl OptionMailbox { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 281 | pub(crate) const fn index(&self, i: usize) -> Option { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `calculate_attacking_pawns` is never used [INFO] [stdout] --> chessbb/src/chessboard/movegen.rs:363:14 [INFO] [stdout] | [INFO] [stdout] 15 | impl ChessBoard { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 363 | const fn calculate_attacking_pawns(&self) -> Bitboard { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PieceBoard` is never constructed [INFO] [stdout] --> chessbb/src/chessboard/pieceboard.rs:91:12 [INFO] [stdout] | [INFO] [stdout] 91 | pub struct PieceBoard([Bitboard; 12]); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> chessbb/src/chessboard/pieceboard.rs:101:22 [INFO] [stdout] | [INFO] [stdout] 100 | impl PieceBoard { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 101 | pub(crate) const EMPTY_BOARD: PieceBoard = PieceBoard([Bitboard::ZERO; 12]); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 102 | [INFO] [stdout] 103 | pub(crate) const START_BOARD: PieceBoard = PieceBoard([ [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | pub const fn piece_bitboard(&self, index: ChessPiece) -> Bitboard { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | pub(crate) const fn colour_blockers(&self, side: Side) -> Bitboard { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 128 | pub(crate) const fn white_blockers(&self) -> Bitboard { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 132 | pub(crate) const fn black_blockers(&self) -> Bitboard { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 136 | pub(crate) const fn blockers(&self) -> Bitboard { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | pub(crate) const fn set_bit(&mut self, piece: ChessPiece, square: Square) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | pub(crate) const fn pop_bit(&mut self, piece: ChessPiece, square: Square) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `to_u64`, `new`, and `compute_castle_hash` are never used [INFO] [stdout] --> chessbb/src/chessboard/zobrist/mod.rs:82:25 [INFO] [stdout] | [INFO] [stdout] 78 | impl ZobristHash { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 82 | pub(crate) const fn to_u64(&self) -> u64 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub(crate) const fn new(value: u64) -> ZobristHash { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | pub(crate) const fn compute_castle_hash(chessboard: &ChessBoard) -> ZobristHash { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `PROMOTION_PIECE`, `CASTLING`, `set_source`, and `set_target` are never used [INFO] [stdout] --> chessbb/src/chessmove/mod.rs:108:11 [INFO] [stdout] | [INFO] [stdout] 97 | impl ChessMove { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 108 | const PROMOTION_PIECE: [PieceType; 4] = [PieceType::Knight, PieceType::Bishop, PieceType::Rook, PieceType::Queen]; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 109 | [INFO] [stdout] 110 | const CASTLING: [Castling; 4] = [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | pub(crate) const fn set_source(&mut self, index: usize) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | pub(crate) const fn set_target(&mut self, index: usize) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FLIPPED_INDEX` is never used [INFO] [stdout] --> chessbb/src/square.rs:57:7 [INFO] [stdout] | [INFO] [stdout] 57 | const FLIPPED_INDEX: [usize; 64] = [ [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> chessbb/src/square.rs:106:24 [INFO] [stdout] | [INFO] [stdout] 74 | impl Square { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 106 | pub(crate)const fn is_same_diag(s1: Square, s2: Square, s3: Square) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | pub(crate)const fn is_same_ddiag(s1: Square, s2: Square) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | pub(crate)const fn is_same_adiag(s1: Square, s2: Square) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | pub(crate)const fn is_same_row(s1: Square, s2: Square) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | pub(crate) const fn is_same_col(s1: Square, s2: Square) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | const DDIAG: [u8; 64] = [ [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | const ADIAG: [u8; 64] = [ [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | const ROWS: [u8; 64] = [ [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 200 | const COLS: [u8; 64] = [ [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking pp0 v0.1.0 (/opt/rustwide/workdir/pp0) [INFO] [stdout] warning: unused import: `core::error` [INFO] [stdout] --> chessbb/src/main.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use core::error; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Instant` [INFO] [stdout] --> chessbb/src/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::time::Instant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `START_DEPTH` is never used [INFO] [stdout] --> chessbb/src/main.rs:22:7 [INFO] [stdout] | [INFO] [stdout] 22 | const START_DEPTH: usize = 1; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_DEPTH` is never used [INFO] [stdout] --> chessbb/src/main.rs:23:7 [INFO] [stdout] | [INFO] [stdout] 23 | const MAX_DEPTH: usize = 1; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `perft_test` is never used [INFO] [stdout] --> chessbb/src/main.rs:26:4 [INFO] [stdout] | [INFO] [stdout] 26 | fn perft_test(fen: &str, raw_moves: Vec, is_bulk: bool) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SIZE` is never used [INFO] [stdout] --> chessbb/src/main.rs:71:11 [INFO] [stdout] | [INFO] [stdout] 71 | const SIZE: usize = size_of::(); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ChessBoard` and `index` [INFO] [stdout] --> pp0/src/evaluator.rs:1:15 [INFO] [stdout] | [INFO] [stdout] 1 | use chessbb::{ChessBoard, ChessGame, ChessMove, ChessPiece, MoveType, PieceType, Side, Square, castle_index, index_pair, index}; [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: `core::time` [INFO] [stdout] --> pp0/src/search.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use core::time; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AtomicU64`, `IndexMut`, and `Index` [INFO] [stdout] --> pp0/src/transposition.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | ops::{Index, IndexMut}, [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] 4 | sync::atomic::{AtomicU64, Ordering}, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Square` [INFO] [stdout] --> pp0/src/uci.rs:8:43 [INFO] [stdout] | [INFO] [stdout] 8 | use chessbb::{ChessGame, ChessMove, Side, Square}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TimeLimit` and `self` [INFO] [stdout] --> pp0/src/uci.rs:12:41 [INFO] [stdout] | [INFO] [stdout] 12 | Evaluator, SearchData, SearchLimit, TimeLimit, TranspositionTable, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 13 | search::{self, WIN_SCORE}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> pp0/src/uci.rs:209:41 [INFO] [stdout] | [INFO] [stdout] 209 | let mating_depth: i16 = (((eval_data.signum() * WIN_SCORE - eval_data) / 2) + 1); [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] 209 - let mating_depth: i16 = (((eval_data.signum() * WIN_SCORE - eval_data) / 2) + 1); [INFO] [stdout] 209 + let mating_depth: i16 = ((eval_data.signum() * WIN_SCORE - eval_data) / 2) + 1 ; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::error` [INFO] [stdout] --> chessbb/src/main.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use core::error; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Instant` [INFO] [stdout] --> chessbb/src/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::time::Instant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ChessBoard` and `index` [INFO] [stdout] --> pp0/src/evaluator.rs:1:15 [INFO] [stdout] | [INFO] [stdout] 1 | use chessbb::{ChessBoard, ChessGame, ChessMove, ChessPiece, MoveType, PieceType, Side, Square, castle_index, index_pair, index}; [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: `core::time` [INFO] [stdout] --> pp0/src/search.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use core::time; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `AtomicU64`, `IndexMut`, and `Index` [INFO] [stdout] --> pp0/src/transposition.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | ops::{Index, IndexMut}, [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] 4 | sync::atomic::{AtomicU64, Ordering}, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Square` [INFO] [stdout] --> pp0/src/uci.rs:8:43 [INFO] [stdout] | [INFO] [stdout] 8 | use chessbb::{ChessGame, ChessMove, Side, Square}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TimeLimit` and `self` [INFO] [stdout] --> pp0/src/uci.rs:12:41 [INFO] [stdout] | [INFO] [stdout] 12 | Evaluator, SearchData, SearchLimit, TimeLimit, TranspositionTable, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 13 | search::{self, WIN_SCORE}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> pp0/src/uci.rs:209:41 [INFO] [stdout] | [INFO] [stdout] 209 | let mating_depth: i16 = (((eval_data.signum() * WIN_SCORE - eval_data) / 2) + 1); [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] 209 - let mating_depth: i16 = (((eval_data.signum() * WIN_SCORE - eval_data) / 2) + 1); [INFO] [stdout] 209 + let mating_depth: i16 = ((eval_data.signum() * WIN_SCORE - eval_data) / 2) + 1 ; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `START_DEPTH` is never used [INFO] [stdout] --> chessbb/src/main.rs:22:7 [INFO] [stdout] | [INFO] [stdout] 22 | const START_DEPTH: usize = 1; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_DEPTH` is never used [INFO] [stdout] --> chessbb/src/main.rs:23:7 [INFO] [stdout] | [INFO] [stdout] 23 | const MAX_DEPTH: usize = 1; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `perft_test` is never used [INFO] [stdout] --> chessbb/src/main.rs:26:4 [INFO] [stdout] | [INFO] [stdout] 26 | fn perft_test(fen: &str, raw_moves: Vec, is_bulk: bool) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SIZE` is never used [INFO] [stdout] --> chessbb/src/main.rs:71:11 [INFO] [stdout] | [INFO] [stdout] 71 | const SIZE: usize = size_of::(); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chessgame` [INFO] [stdout] --> pp0/src/evaluator.rs:198:26 [INFO] [stdout] | [INFO] [stdout] 198 | fn update(&mut self, chessgame: &ChessGame, chessmove: &ChessMove) {} [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chessgame` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chessmove` [INFO] [stdout] --> pp0/src/evaluator.rs:198:49 [INFO] [stdout] | [INFO] [stdout] 198 | fn update(&mut self, chessgame: &ChessGame, chessmove: &ChessMove) {} [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chessmove` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chessgame` [INFO] [stdout] --> pp0/src/evaluator.rs:199:26 [INFO] [stdout] | [INFO] [stdout] 199 | fn revert(&mut self, chessgame: &ChessGame, chessmove: &ChessMove) {} [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chessgame` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chessmove` [INFO] [stdout] --> pp0/src/evaluator.rs:199:49 [INFO] [stdout] | [INFO] [stdout] 199 | fn revert(&mut self, chessgame: &ChessGame, chessmove: &ChessMove) {} [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chessmove` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chessgame` [INFO] [stdout] --> pp0/src/evaluator.rs:200:30 [INFO] [stdout] | [INFO] [stdout] 200 | fn initialize(&mut self, chessgame: &ChessGame) {} [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chessgame` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chessgame` [INFO] [stdout] --> pp0/src/evaluator.rs:246:26 [INFO] [stdout] | [INFO] [stdout] 246 | fn update(&mut self, chessgame: &ChessGame, chessmove: &ChessMove) {} [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chessgame` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chessmove` [INFO] [stdout] --> pp0/src/evaluator.rs:246:49 [INFO] [stdout] | [INFO] [stdout] 246 | fn update(&mut self, chessgame: &ChessGame, chessmove: &ChessMove) {} [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chessmove` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chessgame` [INFO] [stdout] --> pp0/src/evaluator.rs:247:26 [INFO] [stdout] | [INFO] [stdout] 247 | fn revert(&mut self, chessgame: &ChessGame, chessmove: &ChessMove) {} [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chessgame` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chessmove` [INFO] [stdout] --> pp0/src/evaluator.rs:247:49 [INFO] [stdout] | [INFO] [stdout] 247 | fn revert(&mut self, chessgame: &ChessGame, chessmove: &ChessMove) {} [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chessmove` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chessgame` [INFO] [stdout] --> pp0/src/evaluator.rs:248:30 [INFO] [stdout] | [INFO] [stdout] 248 | fn initialize(&mut self, chessgame: &ChessGame) {} [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chessgame` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `last_fen` [INFO] [stdout] --> pp0/src/uci.rs:90:63 [INFO] [stdout] | [INFO] [stdout] 90 | pub fn uci_position(chessgame: &mut ChessGame, cmd_str: &str, last_fen: &mut Vec) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_fen` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> pp0/src/uci.rs:148:9 [INFO] [stdout] | [INFO] [stdout] 148 | let mut soft_time_limit: Duration = match chessgame.side() { [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] --> pp0/src/uci.rs:175:9 [INFO] [stdout] | [INFO] [stdout] 175 | let mut moves = chessgame.try_generate_moves::().0; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `moves_len` [INFO] [stdout] --> pp0/src/uci.rs:176:9 [INFO] [stdout] | [INFO] [stdout] 176 | let moves_len = moves.len(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_moves_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> pp0/src/transposition.rs:75:8 [INFO] [stdout] | [INFO] [stdout] 73 | impl PositionData { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 74 | #[inline(always)] [INFO] [stdout] 75 | fn new(key: ZobristHash, depth: u16, eval: i16, ty: NodeType, best: Option) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | const fn const_default() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn is_valid(&self, hash: ZobristHash) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | pub const fn key(&self) -> ZobristHash { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub const fn depth(&self) -> u16 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | pub const fn eval(&self) -> i16 { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | pub const fn ty(&self) -> NodeType { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub fn best(&self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AtomicTranspositionTable` is never constructed [INFO] [stdout] --> pp0/src/transposition.rs:129:12 [INFO] [stdout] | [INFO] [stdout] 129 | pub struct AtomicTranspositionTable { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AtomicPositionData` is never constructed [INFO] [stdout] --> pp0/src/transposition.rs:135:12 [INFO] [stdout] | [INFO] [stdout] 135 | pub struct AtomicPositionData(Atomic); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IS_POSITION_DATA_LOCK_FREE` is never used [INFO] [stdout] --> pp0/src/transposition.rs:136:7 [INFO] [stdout] | [INFO] [stdout] 136 | const IS_POSITION_DATA_LOCK_FREE: bool = Atomic::::is_lock_free(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> pp0/src/transposition.rs:152:8 [INFO] [stdout] | [INFO] [stdout] 150 | impl AtomicPositionData { [INFO] [stdout] | ----------------------- associated items in this implementation [INFO] [stdout] 151 | #[inline(always)] [INFO] [stdout] 152 | fn new(key: ZobristHash, depth: u16, eval: i16, ty: NodeType, best: Option) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | pub fn get_mut(&mut self) -> &mut PositionData { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 162 | pub fn into_inner(self) -> PositionData { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | pub fn load(&self, order: Ordering) -> PositionData { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 172 | pub fn store(&self, val: PositionData, order: Ordering) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 177 | pub fn swap(&self, val: PositionData, order: Ordering) -> PositionData { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 182 | const fn const_default() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `update_tt`, `store`, `load`, `permil_count`, and `size_of` are never used [INFO] [stdout] --> pp0/src/transposition.rs:189:12 [INFO] [stdout] | [INFO] [stdout] 187 | impl AtomicTranspositionTable { [INFO] [stdout] | ----------------------------- associated items in this implementation [INFO] [stdout] 188 | #[inline(always)] [INFO] [stdout] 189 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 197 | pub fn update_tt(&self, hash: ZobristHash, value: i16, chess_move: Option, a: i16, b: i16, d: u16, order: Ordering) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 207 | pub fn store(&self, hash: ZobristHash, depth: u16, eval: i16, ty: NodeType, best: Option, order: Ordering) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 212 | pub(crate) fn load(&self, hash: ZobristHash, order: Ordering) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn permil_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub const fn size_of() -> usize { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IS_SMALL_POSITION_DATA_LOCK_FREE` is never used [INFO] [stdout] --> pp0/src/transposition.rs:245:7 [INFO] [stdout] | [INFO] [stdout] 245 | const IS_SMALL_POSITION_DATA_LOCK_FREE: bool = Atomic::::is_lock_free(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IS_ZOBRIST_HASH_LOCK_FREE` is never used [INFO] [stdout] --> pp0/src/transposition.rs:246:7 [INFO] [stdout] | [INFO] [stdout] 246 | const IS_ZOBRIST_HASH_LOCK_FREE: bool = Atomic::::is_lock_free(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> pp0/src/transposition.rs:298:8 [INFO] [stdout] | [INFO] [stdout] 294 | impl SmallAtomicPositionData { [INFO] [stdout] | ---------------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 298 | fn new(key: ZobristHash, depth: u16, eval: i16, ty: NodeType, best: Option) -> SmallAtomicPositionData { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chessgame` [INFO] [stdout] --> pp0/src/evaluator.rs:198:26 [INFO] [stdout] | [INFO] [stdout] 198 | fn update(&mut self, chessgame: &ChessGame, chessmove: &ChessMove) {} [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chessgame` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chessmove` [INFO] [stdout] --> pp0/src/evaluator.rs:198:49 [INFO] [stdout] | [INFO] [stdout] 198 | fn update(&mut self, chessgame: &ChessGame, chessmove: &ChessMove) {} [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chessmove` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chessgame` [INFO] [stdout] --> pp0/src/evaluator.rs:199:26 [INFO] [stdout] | [INFO] [stdout] 199 | fn revert(&mut self, chessgame: &ChessGame, chessmove: &ChessMove) {} [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chessgame` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chessmove` [INFO] [stdout] --> pp0/src/evaluator.rs:199:49 [INFO] [stdout] | [INFO] [stdout] 199 | fn revert(&mut self, chessgame: &ChessGame, chessmove: &ChessMove) {} [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chessmove` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chessgame` [INFO] [stdout] --> pp0/src/evaluator.rs:200:30 [INFO] [stdout] | [INFO] [stdout] 200 | fn initialize(&mut self, chessgame: &ChessGame) {} [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chessgame` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chessgame` [INFO] [stdout] --> pp0/src/evaluator.rs:246:26 [INFO] [stdout] | [INFO] [stdout] 246 | fn update(&mut self, chessgame: &ChessGame, chessmove: &ChessMove) {} [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chessgame` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chessmove` [INFO] [stdout] --> pp0/src/evaluator.rs:246:49 [INFO] [stdout] | [INFO] [stdout] 246 | fn update(&mut self, chessgame: &ChessGame, chessmove: &ChessMove) {} [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chessmove` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chessgame` [INFO] [stdout] --> pp0/src/evaluator.rs:247:26 [INFO] [stdout] | [INFO] [stdout] 247 | fn revert(&mut self, chessgame: &ChessGame, chessmove: &ChessMove) {} [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chessgame` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chessmove` [INFO] [stdout] --> pp0/src/evaluator.rs:247:49 [INFO] [stdout] | [INFO] [stdout] 247 | fn revert(&mut self, chessgame: &ChessGame, chessmove: &ChessMove) {} [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chessmove` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `chessgame` [INFO] [stdout] --> pp0/src/evaluator.rs:248:30 [INFO] [stdout] | [INFO] [stdout] 248 | fn initialize(&mut self, chessgame: &ChessGame) {} [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chessgame` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking trainer v0.1.0 (/opt/rustwide/workdir/trainer) [INFO] [stdout] warning: unused variable: `last_fen` [INFO] [stdout] --> pp0/src/uci.rs:90:63 [INFO] [stdout] | [INFO] [stdout] 90 | pub fn uci_position(chessgame: &mut ChessGame, cmd_str: &str, last_fen: &mut Vec) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_fen` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> pp0/src/uci.rs:148:9 [INFO] [stdout] | [INFO] [stdout] 148 | let mut soft_time_limit: Duration = match chessgame.side() { [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] --> pp0/src/uci.rs:175:9 [INFO] [stdout] | [INFO] [stdout] 175 | let mut moves = chessgame.try_generate_moves::().0; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `moves_len` [INFO] [stdout] --> pp0/src/uci.rs:176:9 [INFO] [stdout] | [INFO] [stdout] 176 | let moves_len = moves.len(); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_moves_len` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> pp0/src/transposition.rs:75:8 [INFO] [stdout] | [INFO] [stdout] 73 | impl PositionData { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 74 | #[inline(always)] [INFO] [stdout] 75 | fn new(key: ZobristHash, depth: u16, eval: i16, ty: NodeType, best: Option) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | const fn const_default() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn is_valid(&self, hash: ZobristHash) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | pub const fn key(&self) -> ZobristHash { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub const fn depth(&self) -> u16 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | pub const fn eval(&self) -> i16 { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | pub const fn ty(&self) -> NodeType { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub fn best(&self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AtomicTranspositionTable` is never constructed [INFO] [stdout] --> pp0/src/transposition.rs:129:12 [INFO] [stdout] | [INFO] [stdout] 129 | pub struct AtomicTranspositionTable { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AtomicPositionData` is never constructed [INFO] [stdout] --> pp0/src/transposition.rs:135:12 [INFO] [stdout] | [INFO] [stdout] 135 | pub struct AtomicPositionData(Atomic); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IS_POSITION_DATA_LOCK_FREE` is never used [INFO] [stdout] --> pp0/src/transposition.rs:136:7 [INFO] [stdout] | [INFO] [stdout] 136 | const IS_POSITION_DATA_LOCK_FREE: bool = Atomic::::is_lock_free(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> pp0/src/transposition.rs:152:8 [INFO] [stdout] | [INFO] [stdout] 150 | impl AtomicPositionData { [INFO] [stdout] | ----------------------- associated items in this implementation [INFO] [stdout] 151 | #[inline(always)] [INFO] [stdout] 152 | fn new(key: ZobristHash, depth: u16, eval: i16, ty: NodeType, best: Option) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | pub fn get_mut(&mut self) -> &mut PositionData { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 162 | pub fn into_inner(self) -> PositionData { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | pub fn load(&self, order: Ordering) -> PositionData { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 172 | pub fn store(&self, val: PositionData, order: Ordering) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 177 | pub fn swap(&self, val: PositionData, order: Ordering) -> PositionData { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 182 | const fn const_default() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `update_tt`, `store`, `load`, `permil_count`, and `size_of` are never used [INFO] [stdout] --> pp0/src/transposition.rs:189:12 [INFO] [stdout] | [INFO] [stdout] 187 | impl AtomicTranspositionTable { [INFO] [stdout] | ----------------------------- associated items in this implementation [INFO] [stdout] 188 | #[inline(always)] [INFO] [stdout] 189 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 197 | pub fn update_tt(&self, hash: ZobristHash, value: i16, chess_move: Option, a: i16, b: i16, d: u16, order: Ordering) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 207 | pub fn store(&self, hash: ZobristHash, depth: u16, eval: i16, ty: NodeType, best: Option, order: Ordering) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 212 | pub(crate) fn load(&self, hash: ZobristHash, order: Ordering) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn permil_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | pub const fn size_of() -> usize { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IS_SMALL_POSITION_DATA_LOCK_FREE` is never used [INFO] [stdout] --> pp0/src/transposition.rs:245:7 [INFO] [stdout] | [INFO] [stdout] 245 | const IS_SMALL_POSITION_DATA_LOCK_FREE: bool = Atomic::::is_lock_free(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IS_ZOBRIST_HASH_LOCK_FREE` is never used [INFO] [stdout] --> pp0/src/transposition.rs:246:7 [INFO] [stdout] | [INFO] [stdout] 246 | const IS_ZOBRIST_HASH_LOCK_FREE: bool = Atomic::::is_lock_free(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> pp0/src/transposition.rs:298:8 [INFO] [stdout] | [INFO] [stdout] 294 | impl SmallAtomicPositionData { [INFO] [stdout] | ---------------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 298 | fn new(key: ZobristHash, depth: u16, eval: i16, ty: NodeType, best: Option) -> SmallAtomicPositionData { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SVector` [INFO] [stdout] --> trainer/src/adam.rs:2:25 [INFO] [stdout] | [INFO] [stdout] 2 | use nalgebra::{DVector, SVector}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `f32::EPSILON` and `os::unix::process` [INFO] [stdout] --> trainer/src/adam.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | f32::EPSILON, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 8 | os::unix::process, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `LOOP_COUNT_CHECK_LIMIT` [INFO] [stdout] --> trainer/src/adam.rs:21:36 [INFO] [stdout] | [INFO] [stdout] 21 | use crate::{LAMBDA, LEARNING_RATE, LOOP_COUNT_CHECK_LIMIT, simulation::MatchResult}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration`, `Instant`, `f32::consts::E`, and `num::NonZero` [INFO] [stdout] --> trainer/src/player.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | f32::consts::E, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 3 | num::NonZero, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 4 | time::{Duration, Instant}, [INFO] [stdout] | ^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chessbb::ChessBoard` [INFO] [stdout] --> trainer/src/player.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use chessbb::ChessBoard; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `STATIC_EVAL` [INFO] [stdout] --> trainer/src/player.rs:9:41 [INFO] [stdout] | [INFO] [stdout] 9 | use pp0::{Evaluator, MaterialEvaluator, STATIC_EVAL, SearchLimit, StaticEvaluator}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sync::atomic::Ordering` [INFO] [stdout] --> trainer/src/scoreboard.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | sync::atomic::Ordering, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Mutex`, `SendError`, `Sender`, and `fs::File` [INFO] [stdout] --> trainer/src/simulation.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | fs::File, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 3 | sync::{ [INFO] [stdout] 4 | Arc, Mutex, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 5 | mpsc::{SendError, Sender}, [INFO] [stdout] | ^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufWriter` and `Write` [INFO] [stdout] --> trainer/src/simulation.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | use std::io::{BufWriter, Write}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sgd` [INFO] [stdout] --> trainer/src/main.rs:24:34 [INFO] [stdout] | [INFO] [stdout] 24 | adam::{adam_single_threaded, sgd}, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ChessGame` [INFO] [stdout] --> trainer/src/main.rs:29:15 [INFO] [stdout] | [INFO] [stdout] 29 | use chessbb::{ChessGame, GameResult, Side}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nnue::SparseInputType` [INFO] [stdout] --> trainer/src/main.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | use nnue::SparseInputType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `MATERIAL_EVAL` and `MaterialEvaluator` [INFO] [stdout] --> trainer/src/main.rs:34:11 [INFO] [stdout] | [INFO] [stdout] 34 | use pp0::{MATERIAL_EVAL, MaterialEvaluator}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SVector` [INFO] [stdout] --> trainer/src/adam.rs:2:25 [INFO] [stdout] | [INFO] [stdout] 2 | use nalgebra::{DVector, SVector}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `f32::EPSILON` and `os::unix::process` [INFO] [stdout] --> trainer/src/adam.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | f32::EPSILON, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 8 | os::unix::process, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `LOOP_COUNT_CHECK_LIMIT` [INFO] [stdout] --> trainer/src/adam.rs:21:36 [INFO] [stdout] | [INFO] [stdout] 21 | use crate::{LAMBDA, LEARNING_RATE, LOOP_COUNT_CHECK_LIMIT, simulation::MatchResult}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration`, `Instant`, `f32::consts::E`, and `num::NonZero` [INFO] [stdout] --> trainer/src/player.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | f32::consts::E, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 3 | num::NonZero, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 4 | time::{Duration, Instant}, [INFO] [stdout] | ^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chessbb::ChessBoard` [INFO] [stdout] --> trainer/src/player.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use chessbb::ChessBoard; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `STATIC_EVAL` [INFO] [stdout] --> trainer/src/player.rs:9:41 [INFO] [stdout] | [INFO] [stdout] 9 | use pp0::{Evaluator, MaterialEvaluator, STATIC_EVAL, SearchLimit, StaticEvaluator}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sync::atomic::Ordering` [INFO] [stdout] --> trainer/src/scoreboard.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | sync::atomic::Ordering, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Mutex`, `SendError`, `Sender`, and `fs::File` [INFO] [stdout] --> trainer/src/simulation.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | fs::File, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 3 | sync::{ [INFO] [stdout] 4 | Arc, Mutex, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 5 | mpsc::{SendError, Sender}, [INFO] [stdout] | ^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufWriter` and `Write` [INFO] [stdout] --> trainer/src/simulation.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 14 | use std::io::{BufWriter, Write}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sgd` [INFO] [stdout] --> trainer/src/main.rs:24:34 [INFO] [stdout] | [INFO] [stdout] 24 | adam::{adam_single_threaded, sgd}, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ChessGame` [INFO] [stdout] --> trainer/src/main.rs:29:15 [INFO] [stdout] | [INFO] [stdout] 29 | use chessbb::{ChessGame, GameResult, Side}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nnue::SparseInputType` [INFO] [stdout] --> trainer/src/main.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 31 | use nnue::SparseInputType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `MATERIAL_EVAL` and `MaterialEvaluator` [INFO] [stdout] --> trainer/src/main.rs:34:11 [INFO] [stdout] | [INFO] [stdout] 34 | use pp0::{MATERIAL_EVAL, MaterialEvaluator}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufReader`, `Read`, and `fs::File` [INFO] [stdout] --> pp0/src/main.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | fs::File, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 4 | io::{BufReader, Read}, [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: `Evaluator` [INFO] [stdout] --> trainer/src/main.rs:33:11 [INFO] [stdout] | [INFO] [stdout] 33 | use pp0::{Evaluator, STATIC_EVAL, SearchLimit}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Evaluator` [INFO] [stdout] --> trainer/src/main.rs:33:11 [INFO] [stdout] | [INFO] [stdout] 33 | use pp0::{Evaluator, STATIC_EVAL, SearchLimit}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `time_limit` [INFO] [stdout] --> trainer/src/scoreboard.rs:57:36 [INFO] [stdout] | [INFO] [stdout] 57 | pp0::SearchLimit::Time(time_limit) => self.p1_identifier = format!("{} ", p1_string,), [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_time_limit` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `time_limit` [INFO] [stdout] --> trainer/src/scoreboard.rs:63:36 [INFO] [stdout] | [INFO] [stdout] 63 | pp0::SearchLimit::Time(time_limit) => self.p2_identifier = format!("{} ", p2_string,), [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_time_limit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `time_limit` [INFO] [stdout] --> trainer/src/scoreboard.rs:57:36 [INFO] [stdout] | [INFO] [stdout] 57 | pp0::SearchLimit::Time(time_limit) => self.p1_identifier = format!("{} ", p1_string,), [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_time_limit` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `time_limit` [INFO] [stdout] --> trainer/src/scoreboard.rs:63:36 [INFO] [stdout] | [INFO] [stdout] 63 | pp0::SearchLimit::Time(time_limit) => self.p2_identifier = format!("{} ", p2_string,), [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_time_limit` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufReader`, `Read`, and `fs::File` [INFO] [stdout] --> pp0/src/main.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | fs::File, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 4 | io::{BufReader, Read}, [INFO] [stdout] | ^^^^^^^^^ ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> trainer/src/main.rs:132:9 [INFO] [stdout] | [INFO] [stdout] 132 | let mut net_ident: String = String::from_str("Net").unwrap(); [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] --> trainer/src/main.rs:133:9 [INFO] [stdout] | [INFO] [stdout] 133 | let mut mat_eval_ident: String = String::from_str("Material Eval").unwrap(); [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] --> trainer/src/main.rs:134:9 [INFO] [stdout] | [INFO] [stdout] 134 | let mut static_eval_ident: String = String::from_str("Static Eval").unwrap(); [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] --> trainer/src/main.rs:346:49 [INFO] [stdout] | [INFO] [stdout] 346 | ... let mut file = File::create(ENM_FILENAME)?; [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] --> trainer/src/main.rs:365:37 [INFO] [stdout] | [INFO] [stdout] 365 | ... let mut file = File::create(ENM_FILENAME)?; [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] --> trainer/src/main.rs:405:45 [INFO] [stdout] | [INFO] [stdout] 405 | ... let mut file = File::create(ENM_FILENAME)?; [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] --> trainer/src/main.rs:423:33 [INFO] [stdout] | [INFO] [stdout] 423 | ... let mut file = File::create(ENM_FILENAME)?; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `network` [INFO] [stdout] --> trainer/src/main.rs:294:42 [INFO] [stdout] | [INFO] [stdout] 294 | PlayerEvaluator::Network(network) => &net_ident, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_network` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `static_evaluator` [INFO] [stdout] --> trainer/src/main.rs:295:45 [INFO] [stdout] | [INFO] [stdout] 295 | PlayerEvaluator::StaticEval(static_evaluator) => &static_eval_ident, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you might have meant to pattern match on the similarly named struct `StaticEvaluator` [INFO] [stdout] | [INFO] [stdout] 295 - PlayerEvaluator::StaticEval(static_evaluator) => &static_eval_ident, [INFO] [stdout] 295 + PlayerEvaluator::StaticEval(pp0::StaticEvaluator) => &static_eval_ident, [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 295 | PlayerEvaluator::StaticEval(_static_evaluator) => &static_eval_ident, [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `material_evaluator` [INFO] [stdout] --> trainer/src/main.rs:296:52 [INFO] [stdout] | [INFO] [stdout] 296 | PlayerEvaluator::MaterialEvaluator(material_evaluator) => &mat_eval_ident, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you might have meant to pattern match on the similarly named struct `MaterialEvaluator` [INFO] [stdout] | [INFO] [stdout] 296 - PlayerEvaluator::MaterialEvaluator(material_evaluator) => &mat_eval_ident, [INFO] [stdout] 296 + PlayerEvaluator::MaterialEvaluator(pp0::MaterialEvaluator) => &mat_eval_ident, [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 296 | PlayerEvaluator::MaterialEvaluator(_material_evaluator) => &mat_eval_ident, [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> trainer/src/main.rs:132:9 [INFO] [stdout] | [INFO] [stdout] 132 | let mut net_ident: String = String::from_str("Net").unwrap(); [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: constant `ENM_START_DEPTH` is never used [INFO] [stdout] --> trainer/src/main.rs:62:7 [INFO] [stdout] | [INFO] [stdout] 62 | const ENM_START_DEPTH: usize = 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEBUG_FILENAME` is never used [INFO] [stdout] --> trainer/src/main.rs:69:7 [INFO] [stdout] | [INFO] [stdout] 69 | const DEBUG_FILENAME: &str = "debug.txt"; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEBUG_COLLECT_HISTORY` is never used [INFO] [stdout] --> trainer/src/main.rs:111:7 [INFO] [stdout] | [INFO] [stdout] 111 | const DEBUG_COLLECT_HISTORY: bool = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEBUG_GAMES_TOTAL` is never used [INFO] [stdout] --> trainer/src/main.rs:112:7 [INFO] [stdout] | [INFO] [stdout] 112 | const DEBUG_GAMES_TOTAL: usize = 5; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DEBUG_GAMES_COLLECTED` is never used [INFO] [stdout] --> trainer/src/main.rs:113:8 [INFO] [stdout] | [INFO] [stdout] 113 | static DEBUG_GAMES_COLLECTED: AtomicUsize = AtomicUsize::new(0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> trainer/src/main.rs:133:9 [INFO] [stdout] | [INFO] [stdout] 133 | let mut mat_eval_ident: String = String::from_str("Material Eval").unwrap(); [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] --> trainer/src/main.rs:134:9 [INFO] [stdout] | [INFO] [stdout] 134 | let mut static_eval_ident: String = String::from_str("Static Eval").unwrap(); [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] --> trainer/src/main.rs:346:49 [INFO] [stdout] | [INFO] [stdout] 346 | ... let mut file = File::create(ENM_FILENAME)?; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DEBUG_GRADIENT_COLLECTED` is never used [INFO] [stdout] --> trainer/src/main.rs:114:8 [INFO] [stdout] | [INFO] [stdout] 114 | static DEBUG_GRADIENT_COLLECTED: AtomicUsize = AtomicUsize::new(0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sgd` is never used [INFO] [stdout] --> trainer/src/adam.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn sgd(net: &mut Network, results: Vec) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GRADIENT_MINIBATCH` is never used [INFO] [stdout] --> trainer/src/adam.rs:48:7 [INFO] [stdout] | [INFO] [stdout] 48 | const GRADIENT_MINIBATCH: usize = 1000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_GRADIENT_THREAD_COUNT` is never used [INFO] [stdout] --> trainer/src/adam.rs:49:7 [INFO] [stdout] | [INFO] [stdout] 49 | const MAX_GRADIENT_THREAD_COUNT: usize = 24; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> trainer/src/main.rs:365:37 [INFO] [stdout] | [INFO] [stdout] 365 | ... let mut file = File::create(ENM_FILENAME)?; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `INSTANCE_COUNT` is never used [INFO] [stdout] --> trainer/src/adam.rs:50:8 [INFO] [stdout] | [INFO] [stdout] 50 | static INSTANCE_COUNT: AtomicU8 = AtomicU8::new(0); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GRADIENT_LOOP_COUNT_CHECK_LIMIT` is never used [INFO] [stdout] --> trainer/src/adam.rs:51:7 [INFO] [stdout] | [INFO] [stdout] 51 | const GRADIENT_LOOP_COUNT_CHECK_LIMIT: usize = 2048 * 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `adam` is never used [INFO] [stdout] --> trainer/src/adam.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn adam(net: &mut Network, results: Vec, beta1: f32, beta2: f32, m: &mut Gradient, v: &mut Gradient) -> io::Result<()> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> trainer/src/main.rs:405:45 [INFO] [stdout] | [INFO] [stdout] 405 | ... let mut file = File::create(ENM_FILENAME)?; [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] --> trainer/src/main.rs:423:33 [INFO] [stdout] | [INFO] [stdout] 423 | ... let mut file = File::create(ENM_FILENAME)?; [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> trainer/src/player.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl Player { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 18 | pub fn new(evaluator: PlayerEvaluator, search_limit: SearchLimit) -> Player { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `MaterialEvaluator` is never constructed [INFO] [stdout] --> trainer/src/player.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub enum PlayerEvaluator { [INFO] [stdout] | --------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 27 | MaterialEvaluator(MaterialEvaluator), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PlayerEvaluator` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `now` is never used [INFO] [stdout] --> trainer/src/scoreboard.rs:67:12 [INFO] [stdout] | [INFO] [stdout] 33 | impl ScoreBoard { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn now(&mut self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EPS` is never used [INFO] [stdout] --> trainer/src/simulation.rs:16:11 [INFO] [stdout] | [INFO] [stdout] 16 | pub const EPS: f64 = 0.005; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BASE_TIME` is never used [INFO] [stdout] --> trainer/src/simulation.rs:34:7 [INFO] [stdout] | [INFO] [stdout] 34 | const BASE_TIME: Duration = Duration::from_secs(5); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INCREMENT_TIME` is never used [INFO] [stdout] --> trainer/src/simulation.rs:35:7 [INFO] [stdout] | [INFO] [stdout] 35 | const INCREMENT_TIME: Duration = Duration::from_millis(5); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TimeControl` is never constructed [INFO] [stdout] --> trainer/src/simulation.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 38 | pub struct TimeControl { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> trainer/src/simulation.rs:44:18 [INFO] [stdout] | [INFO] [stdout] 43 | impl TimeControl { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 44 | pub const fn new(base: Duration, increment: Duration) -> TimeControl { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `network` [INFO] [stdout] --> trainer/src/main.rs:294:42 [INFO] [stdout] | [INFO] [stdout] 294 | PlayerEvaluator::Network(network) => &net_ident, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_network` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> trainer/src/main.rs:132:33 [INFO] [stdout] | [INFO] [stdout] 132 | let mut net_ident: String = String::from_str("Net").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: requested on the command line with `-D unmustuse-in-always-ok` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> trainer/src/main.rs:133:38 [INFO] [stdout] | [INFO] [stdout] 133 | let mut mat_eval_ident: String = String::from_str("Material Eval").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> trainer/src/main.rs:134:41 [INFO] [stdout] | [INFO] [stdout] 134 | let mut static_eval_ident: String = String::from_str("Static Eval").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `static_evaluator` [INFO] [stdout] --> trainer/src/main.rs:295:45 [INFO] [stdout] | [INFO] [stdout] 295 | PlayerEvaluator::StaticEval(static_evaluator) => &static_eval_ident, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you might have meant to pattern match on the similarly named struct `StaticEvaluator` [INFO] [stdout] | [INFO] [stdout] 295 - PlayerEvaluator::StaticEval(static_evaluator) => &static_eval_ident, [INFO] [stdout] 295 + PlayerEvaluator::StaticEval(pp0::StaticEvaluator) => &static_eval_ident, [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 295 | PlayerEvaluator::StaticEval(_static_evaluator) => &static_eval_ident, [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `material_evaluator` [INFO] [stdout] --> trainer/src/main.rs:296:52 [INFO] [stdout] | [INFO] [stdout] 296 | PlayerEvaluator::MaterialEvaluator(material_evaluator) => &mat_eval_ident, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: you might have meant to pattern match on the similarly named struct `MaterialEvaluator` [INFO] [stdout] | [INFO] [stdout] 296 - PlayerEvaluator::MaterialEvaluator(material_evaluator) => &mat_eval_ident, [INFO] [stdout] 296 + PlayerEvaluator::MaterialEvaluator(pp0::MaterialEvaluator) => &mat_eval_ident, [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 296 | PlayerEvaluator::MaterialEvaluator(_material_evaluator) => &mat_eval_ident, [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ENM_START_DEPTH` is never used [INFO] [stdout] --> trainer/src/main.rs:62:7 [INFO] [stdout] | [INFO] [stdout] 62 | const ENM_START_DEPTH: usize = 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEBUG_FILENAME` is never used [INFO] [stdout] --> trainer/src/main.rs:69:7 [INFO] [stdout] | [INFO] [stdout] 69 | const DEBUG_FILENAME: &str = "debug.txt"; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEBUG_COLLECT_HISTORY` is never used [INFO] [stdout] --> trainer/src/main.rs:111:7 [INFO] [stdout] | [INFO] [stdout] 111 | const DEBUG_COLLECT_HISTORY: bool = true; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEBUG_GAMES_TOTAL` is never used [INFO] [stdout] --> trainer/src/main.rs:112:7 [INFO] [stdout] | [INFO] [stdout] 112 | const DEBUG_GAMES_TOTAL: usize = 5; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DEBUG_GAMES_COLLECTED` is never used [INFO] [stdout] --> trainer/src/main.rs:113:8 [INFO] [stdout] | [INFO] [stdout] 113 | static DEBUG_GAMES_COLLECTED: AtomicUsize = AtomicUsize::new(0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DEBUG_GRADIENT_COLLECTED` is never used [INFO] [stdout] --> trainer/src/main.rs:114:8 [INFO] [stdout] | [INFO] [stdout] 114 | static DEBUG_GRADIENT_COLLECTED: AtomicUsize = AtomicUsize::new(0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sgd` is never used [INFO] [stdout] --> trainer/src/adam.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn sgd(net: &mut Network, results: Vec) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GRADIENT_MINIBATCH` is never used [INFO] [stdout] --> trainer/src/adam.rs:48:7 [INFO] [stdout] | [INFO] [stdout] 48 | const GRADIENT_MINIBATCH: usize = 1000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_GRADIENT_THREAD_COUNT` is never used [INFO] [stdout] --> trainer/src/adam.rs:49:7 [INFO] [stdout] | [INFO] [stdout] 49 | const MAX_GRADIENT_THREAD_COUNT: usize = 24; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `INSTANCE_COUNT` is never used [INFO] [stdout] --> trainer/src/adam.rs:50:8 [INFO] [stdout] | [INFO] [stdout] 50 | static INSTANCE_COUNT: AtomicU8 = AtomicU8::new(0); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GRADIENT_LOOP_COUNT_CHECK_LIMIT` is never used [INFO] [stdout] --> trainer/src/adam.rs:51:7 [INFO] [stdout] | [INFO] [stdout] 51 | const GRADIENT_LOOP_COUNT_CHECK_LIMIT: usize = 2048 * 4; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `adam` is never used [INFO] [stdout] --> trainer/src/adam.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn adam(net: &mut Network, results: Vec, beta1: f32, beta2: f32, m: &mut Gradient, v: &mut Gradient) -> io::Result<()> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> trainer/src/player.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl Player { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 18 | pub fn new(evaluator: PlayerEvaluator, search_limit: SearchLimit) -> Player { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `MaterialEvaluator` is never constructed [INFO] [stdout] --> trainer/src/player.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub enum PlayerEvaluator { [INFO] [stdout] | --------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 27 | MaterialEvaluator(MaterialEvaluator), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PlayerEvaluator` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `now` is never used [INFO] [stdout] --> trainer/src/scoreboard.rs:67:12 [INFO] [stdout] | [INFO] [stdout] 33 | impl ScoreBoard { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn now(&mut self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EPS` is never used [INFO] [stdout] --> trainer/src/simulation.rs:16:11 [INFO] [stdout] | [INFO] [stdout] 16 | pub const EPS: f64 = 0.005; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BASE_TIME` is never used [INFO] [stdout] --> trainer/src/simulation.rs:34:7 [INFO] [stdout] | [INFO] [stdout] 34 | const BASE_TIME: Duration = Duration::from_secs(5); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INCREMENT_TIME` is never used [INFO] [stdout] --> trainer/src/simulation.rs:35:7 [INFO] [stdout] | [INFO] [stdout] 35 | const INCREMENT_TIME: Duration = Duration::from_millis(5); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TimeControl` is never constructed [INFO] [stdout] --> trainer/src/simulation.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 38 | pub struct TimeControl { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> trainer/src/simulation.rs:44:18 [INFO] [stdout] | [INFO] [stdout] 43 | impl TimeControl { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 44 | pub const fn new(base: Duration, increment: Duration) -> TimeControl { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> trainer/src/main.rs:132:33 [INFO] [stdout] | [INFO] [stdout] 132 | let mut net_ident: String = String::from_str("Net").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: requested on the command line with `-D unmustuse-in-always-ok` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> trainer/src/main.rs:133:38 [INFO] [stdout] | [INFO] [stdout] 133 | let mut mat_eval_ident: String = String::from_str("Material Eval").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> trainer/src/main.rs:134:41 [INFO] [stdout] | [INFO] [stdout] 134 | let mut static_eval_ident: String = String::from_str("Static Eval").unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `trainer` (bin "trainer" test) due to 3 previous errors; 46 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `trainer` (bin "trainer") due to 3 previous errors; 46 warnings emitted [INFO] running `Command { std: "docker" "inspect" "c2ebf69af6c4b344188e05eae0d0729bb47bc59e7aeaee80432e4a22435e709b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c2ebf69af6c4b344188e05eae0d0729bb47bc59e7aeaee80432e4a22435e709b", kill_on_drop: false }` [INFO] [stdout] c2ebf69af6c4b344188e05eae0d0729bb47bc59e7aeaee80432e4a22435e709b