[INFO] fetching crate chess-vector-engine 0.5.1... [INFO] checking chess-vector-engine-0.5.1 against try#a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d for pr-145342-1 [INFO] extracting crate chess-vector-engine 0.5.1 into /workspace/builds/worker-0-tc2/source [INFO] started tweaking crates.io crate chess-vector-engine 0.5.1 [INFO] removed 0 missing examples [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate chess-vector-engine 0.5.1 [INFO] tweaked toml for crates.io crate chess-vector-engine 0.5.1 written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate chess-vector-engine 0.5.1 on toolchain a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate chess-vector-engine 0.5.1 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" "+a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 852c1b7fb473cd8cf7f9c6ee7f243ad3b5a2c2468a47d0268430e196f8e89900 [INFO] running `Command { std: "docker" "start" "-a" "852c1b7fb473cd8cf7f9c6ee7f243ad3b5a2c2468a47d0268430e196f8e89900", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "852c1b7fb473cd8cf7f9c6ee7f243ad3b5a2c2468a47d0268430e196f8e89900", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "852c1b7fb473cd8cf7f9c6ee7f243ad3b5a2c2468a47d0268430e196f8e89900", kill_on_drop: false }` [INFO] [stdout] 852c1b7fb473cd8cf7f9c6ee7f243ad3b5a2c2468a47d0268430e196f8e89900 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+a4980311fb7bb9e7893708e6bd3fbbfb2819fd3d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 879e2c3ce77d348f02d4f8ba46bab0ebdb3ebabd538b7a628d583e1a98771bb1 [INFO] running `Command { std: "docker" "start" "-a" "879e2c3ce77d348f02d4f8ba46bab0ebdb3ebabd538b7a628d583e1a98771bb1", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.95 [INFO] [stderr] Compiling libc v0.2.174 [INFO] [stderr] Compiling unicode-ident v1.0.18 [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Checking cfg-if v1.0.1 [INFO] [stderr] Compiling libm v0.2.15 [INFO] [stderr] Compiling zerocopy v0.8.26 [INFO] [stderr] Checking once_cell v1.21.3 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Checking either v1.15.0 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling rayon-core v1.12.1 [INFO] [stderr] Compiling paste v1.0.15 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Checking reborrow v0.5.5 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling syn v2.0.104 [INFO] [stderr] Checking bitflags v2.9.1 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling seq-macro v0.3.6 [INFO] [stderr] Checking memchr v2.7.5 [INFO] [stderr] Checking crossbeam-deque v0.8.6 [INFO] [stderr] Checking rand_core v0.9.3 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling pulp v0.21.5 [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Compiling jobserver v0.1.33 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Checking raw-cpuid v11.5.0 [INFO] [stderr] Compiling object v0.36.7 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Compiling cc v1.2.27 [INFO] [stderr] Compiling pkg-config v0.3.32 [INFO] [stderr] Checking raw-cpuid v10.7.0 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Checking ryu v1.0.20 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling hashbrown v0.15.4 [INFO] [stderr] Checking itoa v1.0.15 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Compiling unicode-xid v0.2.6 [INFO] [stderr] Compiling winnow v0.7.11 [INFO] [stderr] Checking rand v0.9.1 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling indexmap v2.9.0 [INFO] [stderr] Compiling failure_derive v0.1.8 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Checking rand_distr v0.5.1 [INFO] [stderr] Checking allocator-api2 v0.2.21 [INFO] [stderr] Compiling adler2 v2.0.1 [INFO] [stderr] Checking foldhash v0.1.5 [INFO] [stderr] Compiling gimli v0.31.1 [INFO] [stderr] Compiling rustversion v1.0.21 [INFO] [stderr] Checking pin-project-lite v0.2.16 [INFO] [stderr] Compiling rand_core v0.5.1 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling zstd-sys v2.0.15+zstd.1.5.7 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Checking btoi v0.4.3 [INFO] [stderr] Compiling synstructure v0.12.6 [INFO] [stderr] Checking getrandom v0.2.16 [INFO] [stderr] Compiling lock_api v0.4.13 [INFO] [stderr] Checking tracing-core v0.1.34 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Checking stable_deref_trait v1.2.0 [INFO] [stderr] Checking arrayvec v0.7.6 [INFO] [stderr] Compiling addr2line v0.24.2 [INFO] [stderr] Checking utf8parse v0.2.2 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Checking smallvec v1.15.1 [INFO] [stderr] Compiling rustc-demangle v0.1.25 [INFO] [stderr] Checking anstyle-parse v0.2.7 [INFO] [stderr] Checking num-rational v0.4.2 [INFO] [stderr] Compiling rand_chacha v0.2.2 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Compiling proc-macro-crate v3.3.0 [INFO] [stderr] Compiling rand_pcg v0.2.1 [INFO] [stderr] Checking num-iter v0.1.45 [INFO] [stderr] Compiling matrixmultiply v0.3.10 [INFO] [stderr] Checking anstyle-query v1.1.3 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Checking anstyle v1.0.11 [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Checking colorchoice v1.0.4 [INFO] [stderr] Checking is_terminal_polyfill v1.70.1 [INFO] [stderr] Compiling zip v1.1.4 [INFO] [stderr] Checking anstream v0.6.19 [INFO] [stderr] Compiling rand v0.7.3 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Compiling libsqlite3-sys v0.30.1 [INFO] [stderr] Compiling bytemuck_derive v1.9.3 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling tracing-attributes v0.1.30 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling backtrace v0.3.74 [INFO] [stderr] Checking bytemuck v1.23.1 [INFO] [stderr] Checking num-complex v0.4.6 [INFO] [stderr] Checking half v2.6.0 [INFO] [stderr] Checking dyn-stack v0.13.0 [INFO] [stderr] Checking dyn-stack v0.10.0 [INFO] [stderr] Checking zerofrom v0.1.6 [INFO] [stderr] Checking tracing v0.1.41 [INFO] [stderr] Compiling num_enum_derive v0.7.4 [INFO] [stderr] Compiling yoke-derive v0.7.5 [INFO] [stderr] Checking pulp v0.18.22 [INFO] [stderr] Checking num v0.4.3 [INFO] [stderr] Compiling failure v0.1.8 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking memmap2 v0.9.5 [INFO] [stderr] Checking num_enum v0.7.4 [INFO] [stderr] Checking yoke v0.7.5 [INFO] [stderr] Checking num_cpus v1.17.0 [INFO] [stderr] Checking crc32fast v1.4.2 [INFO] [stderr] Checking libloading v0.8.8 [INFO] [stderr] Checking rawpointer v0.2.1 [INFO] [stderr] Checking strsim v0.11.1 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling portable-atomic v1.11.1 [INFO] [stderr] Checking gemm-common v0.17.1 [INFO] [stderr] Checking clap_lex v0.7.5 [INFO] [stderr] Compiling zstd-safe v7.2.4 [INFO] [stderr] Compiling shakmaty v0.23.1 [INFO] [stderr] Checking gemm-f32 v0.17.1 [INFO] [stderr] Checking gemm-c32 v0.17.1 [INFO] [stderr] Checking gemm-c64 v0.17.1 [INFO] [stderr] Checking gemm-f64 v0.17.1 [INFO] [stderr] Checking gemm-f16 v0.17.1 [INFO] [stderr] Checking clap_builder v4.5.40 [INFO] [stderr] Checking gemm-common v0.18.2 [INFO] [stderr] Compiling clap_derive v4.5.40 [INFO] [stderr] Checking gemm v0.17.1 [INFO] [stderr] Checking gemm-f32 v0.18.2 [INFO] [stderr] Checking gemm-c32 v0.18.2 [INFO] [stderr] Checking gemm-c64 v0.18.2 [INFO] [stderr] Checking gemm-f16 v0.18.2 [INFO] [stderr] Checking gemm-f64 v0.18.2 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Compiling chess v3.2.0 [INFO] [stderr] Checking gemm v0.18.2 [INFO] [stderr] Checking unicode-width v0.2.1 [INFO] [stderr] Compiling shakmaty v0.25.0 [INFO] [stderr] Checking rand_distr v0.4.3 [INFO] [stderr] Checking clap v4.5.40 [INFO] [stderr] Checking console v0.15.11 [INFO] [stderr] Checking ndarray v0.16.1 [INFO] [stderr] Checking parking_lot v0.12.4 [INFO] [stderr] Checking safetensors v0.4.5 [INFO] [stderr] Checking hashlink v0.9.1 [INFO] [stderr] Checking ug v0.4.0 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Checking rmp v0.8.14 [INFO] [stderr] Checking shakmaty v0.27.3 [INFO] [stderr] Checking csv-core v0.1.12 [INFO] [stderr] Checking signal-hook-registry v1.4.5 [INFO] [stderr] Checking socket2 v0.5.10 [INFO] [stderr] Checking mio v1.0.4 [INFO] [stderr] Checking crossbeam-channel v0.5.15 [INFO] [stderr] Checking crossbeam-queue v0.3.12 [INFO] [stderr] Checking fastrand v2.3.0 [INFO] [stderr] Checking candle-core v0.9.1 [INFO] [stderr] Checking rustc-hash v2.1.1 [INFO] [stderr] Checking circular v0.3.0 [INFO] [stderr] Checking number_prefix v0.4.0 [INFO] [stderr] Checking iana-time-zone v0.1.63 [INFO] [stderr] Checking fallible-streaming-iterator v0.1.9 [INFO] [stderr] Checking bytes v1.10.1 [INFO] [stderr] Checking arrayvec v0.5.2 [INFO] [stderr] Checking nodrop v0.1.14 [INFO] [stderr] Checking fallible-iterator v0.3.0 [INFO] [stderr] Checking twox-hash v2.1.1 [INFO] [stderr] Checking lz4_flex v0.11.5 [INFO] [stderr] Checking tokio v1.45.1 [INFO] [stderr] Checking ndarray-rand v0.15.0 [INFO] [stderr] Checking chrono v0.4.41 [INFO] [stderr] Checking indicatif v0.17.11 [INFO] [stderr] Checking pgn-reader v0.22.0 [INFO] [stderr] Checking crossbeam v0.8.4 [INFO] [stderr] Checking csv v1.3.1 [INFO] [stderr] Checking rmp-serde v1.3.0 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking zstd v0.13.3 [INFO] [stderr] Checking dashmap v5.5.3 [INFO] [stderr] Checking lru v0.12.5 [INFO] [stderr] Checking regex-syntax v0.8.5 [INFO] [stderr] Checking candle-nn v0.9.1 [INFO] [stderr] Checking ciborium-io v0.2.2 [INFO] [stderr] Checking plotters-backend v0.3.7 [INFO] [stderr] Compiling rustix v1.0.7 [INFO] [stderr] Checking plotters-svg v0.3.7 [INFO] [stderr] Checking ciborium-ll v0.2.2 [INFO] [stderr] Checking itertools v0.10.5 [INFO] [stderr] Checking same-file v1.0.6 [INFO] [stderr] Checking linux-raw-sys v0.9.4 [INFO] [stderr] Checking cast v0.3.0 [INFO] [stderr] Checking walkdir v2.5.0 [INFO] [stderr] Checking ciborium v0.2.2 [INFO] [stderr] Checking regex-automata v0.4.9 [INFO] [stderr] Checking plotters v0.3.7 [INFO] [stderr] Checking criterion-plot v0.5.0 [INFO] [stderr] Checking tinytemplate v1.2.1 [INFO] [stderr] Checking is-terminal v0.4.16 [INFO] [stderr] Checking anes v0.1.6 [INFO] [stderr] Checking oorandom v11.1.5 [INFO] [stderr] Checking regex v1.11.1 [INFO] [stderr] Checking tempfile v3.20.0 [INFO] [stderr] Checking criterion v0.5.1 [INFO] [stderr] Checking shakmaty-syzygy v0.25.3 [INFO] [stderr] Checking rusqlite v0.32.1 [INFO] [stderr] Checking chess-vector-engine v0.5.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/utils/object_pool.rs:257:1 [INFO] [stdout] | [INFO] [stdout] 257 | /// Thread-local vector pool instance [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/utils/object_pool.rs:262:1 [INFO] [stdout] | [INFO] [stdout] 262 | /// Thread-local vector pool for efficient reuse [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Mutex` [INFO] [stdout] --> src/utils/lazy.rs:623:32 [INFO] [stdout] | [INFO] [stdout] 623 | let counter = Arc::new(Mutex::new(0)); [INFO] [stdout] | ^^^^^ use of undeclared type `Mutex` [INFO] [stdout] | [INFO] [stdout] = note: struct `crate::ultra_fast_loader::tests::Mutex` exists but is inaccessible [INFO] [stdout] help: consider importing one of these structs [INFO] [stdout] | [INFO] [stdout] 617 + use std::sync::Mutex; [INFO] [stdout] | [INFO] [stdout] 617 + use std::sync::nonpoison::Mutex; [INFO] [stdout] | [INFO] [stdout] 617 + use tokio::sync::Mutex; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Mutex` [INFO] [stdout] --> src/utils/lazy.rs:678:49 [INFO] [stdout] | [INFO] [stdout] 678 | manager.register("counter", || Arc::new(Mutex::new(42))); [INFO] [stdout] | ^^^^^ use of undeclared type `Mutex` [INFO] [stdout] | [INFO] [stdout] = note: struct `crate::ultra_fast_loader::tests::Mutex` exists but is inaccessible [INFO] [stdout] help: consider importing one of these structs [INFO] [stdout] | [INFO] [stdout] 617 + use std::sync::Mutex; [INFO] [stdout] | [INFO] [stdout] 617 + use std::sync::nonpoison::Mutex; [INFO] [stdout] | [INFO] [stdout] 617 + use tokio::sync::Mutex; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Mutex` in this scope [INFO] [stdout] --> src/utils/lazy.rs:680:27 [INFO] [stdout] | [INFO] [stdout] 680 | let counter1: Arc> = manager.get("counter").unwrap(); [INFO] [stdout] | ^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] = note: struct `crate::ultra_fast_loader::tests::Mutex` exists but is inaccessible [INFO] [stdout] help: consider importing one of these structs [INFO] [stdout] | [INFO] [stdout] 617 + use std::sync::Mutex; [INFO] [stdout] | [INFO] [stdout] 617 + use std::sync::nonpoison::Mutex; [INFO] [stdout] | [INFO] [stdout] 617 + use tokio::sync::Mutex; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Mutex` in this scope [INFO] [stdout] --> src/utils/lazy.rs:681:27 [INFO] [stdout] | [INFO] [stdout] 681 | let counter2: Arc> = manager.get("counter").unwrap(); [INFO] [stdout] | ^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] = note: struct `crate::ultra_fast_loader::tests::Mutex` exists but is inaccessible [INFO] [stdout] help: consider importing one of these structs [INFO] [stdout] | [INFO] [stdout] 617 + use std::sync::Mutex; [INFO] [stdout] | [INFO] [stdout] 617 + use std::sync::nonpoison::Mutex; [INFO] [stdout] | [INFO] [stdout] 617 + use tokio::sync::Mutex; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tempfile::TempDir` [INFO] [stdout] --> src/utils/lazy_motifs.rs:549:9 [INFO] [stdout] | [INFO] [stdout] 549 | use tempfile::TempDir; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/utils/object_pool.rs:257:1 [INFO] [stdout] | [INFO] [stdout] 257 | /// Thread-local vector pool instance [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/utils/object_pool.rs:262:1 [INFO] [stdout] | [INFO] [stdout] 262 | /// Thread-local vector pool for efficient reuse [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed for `std::sync::Arc<_, _>` [INFO] [stdout] --> src/utils/lazy.rs:624:13 [INFO] [stdout] | [INFO] [stdout] 624 | let counter_clone = Arc::clone(&counter); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 627 | let mut count = counter_clone.lock().unwrap(); [INFO] [stdout] | ---- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving `counter_clone` an explicit type, where the type for type parameter `T` is specified [INFO] [stdout] | [INFO] [stdout] 624 | let counter_clone: std::sync::Arc = Arc::clone(&counter); [INFO] [stdout] | ++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `nnue_weight` is never read [INFO] [stdout] --> src/nnue.rs:436:17 [INFO] [stdout] | [INFO] [stdout] 436 | let mut nnue_weight = 0.7; // Base NNUE weight [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `vector_weight` is never read [INFO] [stdout] --> src/nnue.rs:437:17 [INFO] [stdout] | [INFO] [stdout] 437 | let mut vector_weight = 0.2; // Base vector weight [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `tactical_weight` is never read [INFO] [stdout] --> src/nnue.rs:438:17 [INFO] [stdout] | [INFO] [stdout] 438 | let mut tactical_weight = 0.1; // Base tactical weight [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/position_encoder.rs:656:13 [INFO] [stdout] | [INFO] [stdout] 656 | let mut idx = offset; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/position_encoder.rs:702:13 [INFO] [stdout] | [INFO] [stdout] 702 | let mut idx = offset; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/position_encoder.rs:720:13 [INFO] [stdout] | [INFO] [stdout] 720 | let mut idx = offset; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tactical_search.rs:823:13 [INFO] [stdout] | [INFO] [stdout] 823 | let mut moves: Vec = MoveGen::new_legal(board).collect(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tactical_search.rs:925:9 [INFO] [stdout] | [INFO] [stdout] 925 | mut alpha: f32, [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `space_score` is never read [INFO] [stdout] --> src/tactical_search.rs:6454:17 [INFO] [stdout] | [INFO] [stdout] 6454 | let mut space_score = 0.0; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `color` [INFO] [stdout] --> src/tactical_search.rs:6741:50 [INFO] [stdout] | [INFO] [stdout] 6741 | fn count_forcing_moves(&self, board: &Board, color: Color) -> u8 { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_color` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `target_piece` [INFO] [stdout] --> src/tactical_search.rs:6917:25 [INFO] [stdout] | [INFO] [stdout] 6917 | if let Some(target_piece) = board.piece_on(target_square) { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_piece` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `piece` [INFO] [stdout] --> src/tactical_search.rs:7831:13 [INFO] [stdout] | [INFO] [stdout] 7831 | let piece = moving_piece.unwrap(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_piece` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `moving_color` [INFO] [stdout] --> src/tactical_search.rs:7832:13 [INFO] [stdout] | [INFO] [stdout] 7832 | let moving_color = board.side_to_move(); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_moving_color` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `source_square` [INFO] [stdout] --> src/tactical_search.rs:7988:13 [INFO] [stdout] | [INFO] [stdout] 7988 | let source_square = chess_move.get_source(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_square` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `predicted_evaluation` [INFO] [stdout] --> src/hybrid_evaluation.rs:379:9 [INFO] [stdout] | [INFO] [stdout] 379 | predicted_evaluation: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_predicted_evaluation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/hybrid_evaluation.rs:388:13 [INFO] [stdout] | [INFO] [stdout] 388 | let mut eval_results = EvaluationResults::new(); [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `board` [INFO] [stdout] --> src/hybrid_evaluation.rs:952:36 [INFO] [stdout] | [INFO] [stdout] 952 | fn count_isolated_pawns(&self, board: &Board) -> u8 { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_board` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `piece` [INFO] [stdout] --> src/hybrid_evaluation.rs:1672:9 [INFO] [stdout] | [INFO] [stdout] 1672 | piece: Piece, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_piece` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start_time` [INFO] [stdout] --> src/strategic_initiative.rs:58:13 [INFO] [stdout] | [INFO] [stdout] 58 | let start_time = std::time::Instant::now(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_time` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/stockfish_testing.rs:194:13 [INFO] [stdout] | [INFO] [stdout] 194 | let mut best_move = None; [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/uci.rs:568:13 [INFO] [stdout] | [INFO] [stdout] 568 | let mut engine = self.engine.clone(); // Clone the engine for threaded evaluation [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `SearchMetrics` is more private than the item `ChessMetrics::search_metrics` [INFO] [stdout] --> src/utils/profiler.rs:526:5 [INFO] [stdout] | [INFO] [stdout] 526 | pub search_metrics: SearchMetrics, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `ChessMetrics::search_metrics` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `SearchMetrics` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/utils/profiler.rs:380:1 [INFO] [stdout] | [INFO] [stdout] 380 | struct SearchMetrics { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `EvaluationMetrics` is more private than the item `ChessMetrics::evaluation_metrics` [INFO] [stdout] --> src/utils/profiler.rs:527:5 [INFO] [stdout] | [INFO] [stdout] 527 | pub evaluation_metrics: EvaluationMetrics, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `ChessMetrics::evaluation_metrics` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `EvaluationMetrics` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/utils/profiler.rs:390:1 [INFO] [stdout] | [INFO] [stdout] 390 | struct EvaluationMetrics { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `EvaluationResults` is more private than the item `hybrid_evaluation::EvaluationBlender::compute_blend_weights` [INFO] [stdout] --> src/hybrid_evaluation.rs:1767:5 [INFO] [stdout] | [INFO] [stdout] 1767 | / pub fn compute_blend_weights( [INFO] [stdout] 1768 | | &self, [INFO] [stdout] 1769 | | complexity_score: f32, [INFO] [stdout] 1770 | | game_phase: &GamePhase, [INFO] [stdout] 1771 | | evaluation_results: &EvaluationResults, [INFO] [stdout] 1772 | | ) -> BlendWeights { [INFO] [stdout] | |_____________________^ method `hybrid_evaluation::EvaluationBlender::compute_blend_weights` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `EvaluationResults` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/hybrid_evaluation.rs:467:1 [INFO] [stdout] | [INFO] [stdout] 467 | struct EvaluationResults { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `EvaluationResults` is more private than the item `hybrid_evaluation::EvaluationBlender::blend_evaluations` [INFO] [stdout] --> src/hybrid_evaluation.rs:1934:5 [INFO] [stdout] | [INFO] [stdout] 1934 | / pub fn blend_evaluations( [INFO] [stdout] 1935 | | &self, [INFO] [stdout] 1936 | | evaluation_results: &EvaluationResults, [INFO] [stdout] 1937 | | weights: &BlendWeights, [INFO] [stdout] 1938 | | ) -> f32 { [INFO] [stdout] | |____________^ method `hybrid_evaluation::EvaluationBlender::blend_evaluations` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `EvaluationResults` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/hybrid_evaluation.rs:467:1 [INFO] [stdout] | [INFO] [stdout] 467 | struct EvaluationResults { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `EvaluationResults` is more private than the item `ConfidenceScorer::compute_confidence` [INFO] [stdout] --> src/hybrid_evaluation.rs:2019:5 [INFO] [stdout] | [INFO] [stdout] 2019 | / pub fn compute_confidence( [INFO] [stdout] 2020 | | &self, [INFO] [stdout] 2021 | | evaluation_results: &EvaluationResults, [INFO] [stdout] 2022 | | blend_weights: &BlendWeights, [INFO] [stdout] 2023 | | complexity_score: f32, [INFO] [stdout] 2024 | | position_context: &PositionContext, [INFO] [stdout] 2025 | | ) -> ConfidenceAnalysisResult { [INFO] [stdout] | |_________________________________^ method `ConfidenceScorer::compute_confidence` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `EvaluationResults` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/hybrid_evaluation.rs:467:1 [INFO] [stdout] | [INFO] [stdout] 467 | struct EvaluationResults { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `EvaluationResults` is more private than the item `ConfidenceScorer::compute_simple_confidence` [INFO] [stdout] --> src/hybrid_evaluation.rs:2090:5 [INFO] [stdout] | [INFO] [stdout] 2090 | / pub fn compute_simple_confidence( [INFO] [stdout] 2091 | | &self, [INFO] [stdout] 2092 | | evaluation_results: &EvaluationResults, [INFO] [stdout] 2093 | | blend_weights: &BlendWeights, [INFO] [stdout] 2094 | | complexity_score: f32, [INFO] [stdout] 2095 | | ) -> f32 { [INFO] [stdout] | |____________^ method `ConfidenceScorer::compute_simple_confidence` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `EvaluationResults` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/hybrid_evaluation.rs:467:1 [INFO] [stdout] | [INFO] [stdout] 467 | struct EvaluationResults { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `EvaluationResults` is more private than the item `ConfidenceScorer::update_accuracy_history` [INFO] [stdout] --> src/hybrid_evaluation.rs:2481:5 [INFO] [stdout] | [INFO] [stdout] 2481 | / pub fn update_accuracy_history( [INFO] [stdout] 2482 | | &self, [INFO] [stdout] 2483 | | evaluation_results: &EvaluationResults, [INFO] [stdout] 2484 | | blend_weights: &BlendWeights, [INFO] [stdout] ... | [INFO] [stdout] 2487 | | predicted_outcome: f32, [INFO] [stdout] 2488 | | ) { [INFO] [stdout] | |_____^ method `ConfidenceScorer::update_accuracy_history` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `EvaluationResults` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/hybrid_evaluation.rs:467:1 [INFO] [stdout] | [INFO] [stdout] 467 | struct EvaluationResults { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `EvaluationResults` is more private than the item `PatternClarityAnalyzer::analyze_pattern_clarity` [INFO] [stdout] --> src/hybrid_evaluation.rs:2955:5 [INFO] [stdout] | [INFO] [stdout] 2955 | / pub fn analyze_pattern_clarity( [INFO] [stdout] 2956 | | &self, [INFO] [stdout] 2957 | | evaluation_results: &EvaluationResults, [INFO] [stdout] 2958 | | position_context: &PositionContext, [INFO] [stdout] 2959 | | ) -> PatternClarityResult { [INFO] [stdout] | |_____________________________^ method `PatternClarityAnalyzer::analyze_pattern_clarity` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `EvaluationResults` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/hybrid_evaluation.rs:467:1 [INFO] [stdout] | [INFO] [stdout] 467 | struct EvaluationResults { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `EvaluationResults` is more private than the item `EvaluatorCombination::from_results` [INFO] [stdout] --> src/hybrid_evaluation.rs:3244:5 [INFO] [stdout] | [INFO] [stdout] 3244 | / pub fn from_results( [INFO] [stdout] 3245 | | evaluation_results: &EvaluationResults, [INFO] [stdout] 3246 | | blend_weights: &BlendWeights, [INFO] [stdout] 3247 | | ) -> Self { [INFO] [stdout] | |_____________^ associated function `EvaluatorCombination::from_results` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `EvaluationResults` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/hybrid_evaluation.rs:467:1 [INFO] [stdout] | [INFO] [stdout] 467 | struct EvaluationResults { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `calculate_adaptive_search_depth` is never used [INFO] [stdout] --> src/lib.rs:1170:8 [INFO] [stdout] | [INFO] [stdout] 341 | impl ChessVectorEngine { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 1170 | fn calculate_adaptive_search_depth( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `format_parsers` is never read [INFO] [stdout] --> src/utils/lazy.rs:340:5 [INFO] [stdout] | [INFO] [stdout] 337 | pub struct LazyPositionDataset { [INFO] [stdout] | ------------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 340 | format_parsers: [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `load_positions_impl` is never used [INFO] [stdout] --> src/utils/lazy.rs:387:8 [INFO] [stdout] | [INFO] [stdout] 344 | impl LazyPositionDataset { [INFO] [stdout] | ------------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 387 | fn load_positions_impl(&self, filename: &str) -> Result, f32)>> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `access_count` is never read [INFO] [stdout] --> src/utils/lazy_motifs.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 73 | struct CachedMotif { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 76 | access_count: u32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CachedMotif` 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: fields `last_accessed` and `max_handles` are never read [INFO] [stdout] --> src/utils/lazy_motifs.rs:82:5 [INFO] [stdout] | [INFO] [stdout] 80 | struct FileHandleCache { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 81 | handles: HashMap>, [INFO] [stdout] 82 | last_accessed: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 83 | max_handles: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `evict_old_handles` is never used [INFO] [stdout] --> src/utils/lazy_motifs.rs:95:8 [INFO] [stdout] | [INFO] [stdout] 86 | impl FileHandleCache { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 95 | fn evict_old_handles(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `config` is never read [INFO] [stdout] --> src/utils/lazy_motifs.rs:441:5 [INFO] [stdout] | [INFO] [stdout] 440 | pub struct MotifSegmentBuilder { [INFO] [stdout] | ------------------- field in this struct [INFO] [stdout] 441 | config: LazyLoadConfig, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `deallocate` is never used [INFO] [stdout] --> src/utils/memory_pool.rs:81:8 [INFO] [stdout] | [INFO] [stdout] 22 | impl FixedSizeMemoryPool { [INFO] [stdout] | ------------------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 81 | fn deallocate(&self, ptr: NonNull) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `file` is never read [INFO] [stdout] --> src/utils/mmap_loader.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct MmapLoader { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 11 | file: File, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `id` is never read [INFO] [stdout] --> src/utils/parallel.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 36 | struct WorkerHandle { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] 37 | handle: thread::JoinHandle<()>, [INFO] [stdout] 38 | id: usize, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `pruned_branches` and `transposition_hits` are never read [INFO] [stdout] --> src/utils/profiler.rs:385:5 [INFO] [stdout] | [INFO] [stdout] 380 | struct SearchMetrics { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 385 | pruned_branches: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 386 | transposition_hits: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SearchMetrics` 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: field `initiative_factors` is never read [INFO] [stdout] --> src/core_evaluation.rs:335:5 [INFO] [stdout] | [INFO] [stdout] 334 | pub struct StrategicAnalyzer { [INFO] [stdout] | ----------------- field in this struct [INFO] [stdout] 335 | initiative_factors: InitiativeFactors, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `development_weight`, `center_weight`, and `activity_weight` are never read [INFO] [stdout] --> src/core_evaluation.rs:496:5 [INFO] [stdout] | [INFO] [stdout] 495 | struct InitiativeFactors { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] 496 | development_weight: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 497 | center_weight: f32, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 498 | activity_weight: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InitiativeFactors` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LichessPuzzle` is never constructed [INFO] [stdout] --> src/lichess_loader.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | struct LichessPuzzle { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/motif_extractor.rs:213:8 [INFO] [stdout] | [INFO] [stdout] 55 | impl MotifExtractor { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 213 | fn extract_pawn_patterns(&mut self, board: &Board, evaluation: f32, game_phase: &GamePhase) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 243 | fn extract_piece_patterns(&mut self, board: &Board, evaluation: f32, game_phase: &GamePhase) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 273 | fn extract_king_safety_patterns( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 298 | fn extract_initiative_patterns( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 486 | fn find_isolated_pawns(&self, board: &Board, color: Color) -> Vec<(File, Square)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 526 | fn find_passed_pawns(&self, _board: &Board, _color: Color) -> Vec<(Square, f32)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 531 | fn find_doubled_pawns(&self, board: &Board, color: Color) -> Vec<(File, u8)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 551 | fn find_knight_outposts(&self, _board: &Board, _color: Color) -> Vec<(Square, f32)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 556 | fn has_bishop_pair(&self, board: &Board, color: Color) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 561 | fn count_open_diagonals(&self, _board: &Board, _color: Color) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 566 | fn analyze_rook_activity(&self, _board: &Board, _color: Color) -> Vec<(String, Square)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 571 | fn evaluate_castling_safety( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 581 | fn analyze_pawn_shield(&self, _board: &Board, _color: Color, _king_square: Square) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 586 | fn calculate_space_advantage(&self, _board: &Board, _color: Color) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 591 | fn calculate_development_score(&self, _board: &Board, _color: Color) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 679 | fn hash_isolated_pawn_pattern(&self, file: File, color: Color) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 686 | fn hash_passed_pawn_pattern(&self, square: Square, color: Color, advancement: f32) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 694 | fn hash_doubled_pawn_pattern(&self, file: File, color: Color, count: u8) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 702 | fn hash_knight_outpost_pattern(&self, square: Square, color: Color, strength: f32) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 710 | fn hash_bishop_pair_pattern(&self, color: Color, open_diagonals: u8) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 717 | fn hash_rook_pattern(&self, pattern_type: String, square: Square, color: Color) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 725 | fn hash_king_safety_pattern( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 738 | fn hash_pawn_shield_pattern( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 751 | fn hash_space_pattern(&self, color: Color, space_value: f32) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 758 | fn hash_development_pattern(&self, color: Color, development_score: f32) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `extract_features_optimized` and `get_feature_index_fast` are never used [INFO] [stdout] --> src/nnue.rs:619:8 [INFO] [stdout] | [INFO] [stdout] 586 | impl NNUE { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 619 | fn extract_features_optimized(&self, board: &Board) -> CandleResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 659 | fn get_feature_index_fast( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `reset_accumulator` is never used [INFO] [stdout] --> src/nnue.rs:1304:8 [INFO] [stdout] | [INFO] [stdout] 1196 | impl FeatureTransformer { [INFO] [stdout] | ----------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 1304 | fn reset_accumulator(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/position_encoder.rs:48:8 [INFO] [stdout] | [INFO] [stdout] 12 | impl PositionEncoder { [INFO] [stdout] | -------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 48 | fn encode_piece_positions(&self, board: &Board, features: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | fn encode_piece_interactions(&self, board: &Board, features: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | fn encode_game_state(&self, board: &Board, features: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 162 | fn encode_material_balance(&self, board: &Board, features: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 183 | fn encode_positional_features(&self, board: &Board, features: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | fn distance_to_center(&self, square: Square) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | fn count_surrounding_pieces(&self, board: &Board, center: Square) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 255 | fn calculate_mobility(&self, board: &Board, color: Color) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 270 | fn encode_pawn_structure(&self, board: &Board, features: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 339 | fn encode_tactical_patterns(&self, board: &Board, features: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 390 | fn encode_center_control(&self, board: &Board, features: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 451 | fn encode_piece_coordination(&self, board: &Board, features: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PIECE_INDICES` is never used [INFO] [stdout] --> src/position_encoder.rs:627:15 [INFO] [stdout] | [INFO] [stdout] 627 | const PIECE_INDICES: [usize; 6] = [0, 1, 2, 3, 4, 5]; // pawn, knight, bishop, rook, queen, king [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `cosine_similarity_fast` is never used [INFO] [stdout] --> src/similarity_search.rs:464:8 [INFO] [stdout] | [INFO] [stdout] 115 | impl SimilaritySearch { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 464 | fn cosine_similarity_fast( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `lazy_config` is never read [INFO] [stdout] --> src/strategic_evaluator_lazy.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct LazyStrategicEvaluator { [INFO] [stdout] | ---------------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 22 | lazy_config: LazyLoadConfig, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `FileType` is never used [INFO] [stdout] --> src/tactical_search.rs:18:6 [INFO] [stdout] | [INFO] [stdout] 18 | enum FileType { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `strategic_evaluator` is never read [INFO] [stdout] --> src/tactical_search.rs:649:5 [INFO] [stdout] | [INFO] [stdout] 635 | pub struct TacticalSearch { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 649 | strategic_evaluator: StrategicEvaluator, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TacticalSearch` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/tactical_search.rs:1493:8 [INFO] [stdout] | [INFO] [stdout] 652 | impl TacticalSearch { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 1493 | fn calculate_position_complexity(&self, board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2025 | fn is_obvious_blunder(&self, board: &Board, chess_move: ChessMove) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2126 | fn is_near_enemy_king(&self, board: &Board, square: Square) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 2143 | fn is_likely_under_attack(&self, board: &Board, square: Square, piece: chess::Piece) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3124 | fn evaluate_position_hybrid(&self, board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3224 | fn piece_square_evaluation(&self, board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3443 | fn mobility_evaluation(&self, board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3456 | fn calculate_piece_mobility(&self, board: &Board, color: Color) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3495 | fn count_knight_moves(&self, board: &Board, square: Square, color: Color) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3535 | fn count_bishop_moves(&self, board: &Board, square: Square, color: Color) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3547 | fn count_rook_moves(&self, board: &Board, square: Square, color: Color) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3559 | fn count_queen_moves(&self, board: &Board, square: Square, color: Color) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3580 | fn count_sliding_moves( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3618 | fn calculate_pawn_mobility(&self, board: &Board, color: Color) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3694 | fn center_control_evaluation(&self, board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 4285 | fn determine_game_phase(&self, board: &Board) -> GamePhase { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 4373 | fn evaluate_pawn_structure(&self, board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 4432 | fn has_adjacent_pawns(&self, board: &Board, color: Color, file: usize) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 4454 | fn is_passed_pawn(&self, board: &Board, pawn_square: Square, color: Color) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 4489 | fn is_backward_pawn(&self, board: &Board, pawn_square: Square, color: Color) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 4520 | fn has_pawn_support(&self, board: &Board, pawn_square: Square, color: Color) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 4548 | fn evaluate_pawn_chains(&self, board: &Board, color: Color) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 4577 | fn count_pawn_chain( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 4723 | fn evaluate_endgame_patterns(&self, board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 4751 | fn count_all_pieces(&self, board: &Board) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 4767 | fn evaluate_king_pawn_endgames(&self, board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 4809 | fn evaluate_basic_mate_patterns(&self, board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 4875 | fn evaluate_opposition_patterns(&self, board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 4913 | fn evaluate_key_squares(&self, board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 4943 | fn evaluate_zugzwang_patterns(&self, board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 4983 | fn square_distance(&self, sq1: Square, sq2: Square) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 4993 | fn distance_to_nearest_corner(&self, square: Square) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 5008 | fn get_key_squares(&self, pawn_square: Square, color: Color) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 5039 | fn quick_evaluate_position(&self, board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 5061 | fn evaluate_piece_coordination_endgame(&self, board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 5105 | fn evaluate_fortress_patterns(&self, board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 5148 | fn evaluate_theoretical_endgames(&self, board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 5172 | fn evaluate_rook_endgames(&self, board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 5218 | fn evaluate_bishop_endgames(&self, board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 5272 | fn evaluate_knight_endgames(&self, board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 5303 | fn evaluate_mixed_piece_endgames(&self, board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 5353 | fn calculate_material_difference(&self, board: &Board, color: Color) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 5363 | fn calculate_total_material(&self, board: &Board, color: Color) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 5383 | fn bishop_attacks_square( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 5436 | fn count_pawns_on_side(&self, board: &Board, kingside: bool) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 5451 | fn is_file_open(&self, board: &Board, file: usize) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 5496 | fn evaluate_hanging_pieces(&self, board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 5540 | fn find_mate_in_n(&self, board: &Board, max_depth: u32) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 5565 | fn is_forced_mate(&self, board: &Board, depth: u32, maximizing: bool) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 5654 | fn evaluate_king_safety(&self, board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 5708 | fn evaluate_king_pawn_shield(&self, board: &Board, king_square: Square, color: Color) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 5742 | fn evaluate_material_safety(&self, board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 5818 | fn evaluate_sacrifice_compensation(&self, chess_move: &ChessMove, board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 5854 | fn count_developed_pieces(&self, board: &Board, color: Color) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 5878 | fn evaluate_king_safety_for_color(&self, board: &Board, color: Color) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 5885 | fn evaluate_piece_activity(&self, board: &Board, color: Color) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 5943 | fn evaluate_tactical_patterns_nnue(&self, board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 5981 | fn evaluate_positional_factors_nnue(&self, board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 6007 | fn evaluate_development_nnue(&self, board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 6024 | fn count_pins_created_by_color(&self, board: &Board, color: Color) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 6048 | fn count_fork_potential(&self, board: &Board, color: Color) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 6074 | fn count_discovered_attack_potential(&self, board: &Board, color: Color) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 6090 | fn evaluate_center_control_detailed(&self, board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 6133 | fn evaluate_pawn_structure_nnue(&self, board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 6161 | fn creates_pin_on_king( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 6203 | fn knight_can_fork(&self, board: &Board, knight_square: Square, color: Color) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 6243 | fn pawn_can_fork(&self, board: &Board, pawn_square: Square, color: Color) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 6277 | fn can_create_discovered_attack( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 6314 | fn has_piece_behind_for_discovered_attack( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 6358 | fn count_passed_pawns(&self, board: &Board, color: Color) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 6372 | fn count_isolated_pawns(&self, board: &Board, color: Color) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 6385 | fn count_doubled_pawns(&self, board: &Board, color: Color) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 6400 | fn is_passed_pawn_nnue(&self, board: &Board, pawn_square: Square, color: Color) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 6433 | fn is_isolated_pawn(&self, board: &Board, pawn_square: Square, color: Color) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 6453 | fn evaluate_space_advantage(&self, board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 6480 | fn evaluate_piece_coordination(&self, board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 6510 | fn evaluate_dynamic_potential(&self, board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 6545 | fn evaluate_long_term_advantages(&self, board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 6574 | fn count_controlled_squares(&self, board: &Board, color: Color) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 6641 | fn count_advanced_pawns(&self, board: &Board, color: Color) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 6662 | fn evaluate_rook_coordination(&self, board: &Board, color: Color) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 6685 | fn has_bishop_pair_coordination(&self, board: &Board, color: Color) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 6691 | fn count_piece_support_chains(&self, board: &Board, color: Color) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 6711 | fn evaluate_knight_coordination(&self, board: &Board, color: Color) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 6741 | fn count_forcing_moves(&self, board: &Board, color: Color) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 6755 | fn is_forcing_move(&self, chess_move: &ChessMove, board: &Board) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 6778 | fn threatens_valuable_piece(&self, chess_move: &ChessMove, board: &Board) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 6806 | fn evaluate_total_piece_activity(&self, board: &Board, color: Color) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 6821 | fn calculate_piece_mobility_at_square( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 6898 | fn count_moves_in_direction( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 6934 | fn count_potential_pawn_breaks(&self, board: &Board, color: Color) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 6948 | fn can_create_pawn_break(&self, board: &Board, pawn_square: Square, color: Color) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 6987 | fn count_weak_squares_in_enemy_camp(&self, board: &Board, color: Color) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 7015 | fn is_weak_square(&self, board: &Board, square: Square, color: Color) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 7034 | fn count_pawn_defenders(&self, board: &Board, square: Square, color: Color) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 7066 | fn count_piece_outposts(&self, board: &Board, color: Color) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 7087 | fn is_outpost(&self, board: &Board, piece_square: Square, color: Color) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 7114 | fn evaluate_pawn_structure_advantage(&self, board: &Board, color: Color) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 7133 | fn count_pawn_chains(&self, board: &Board, color: Color) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 7147 | fn is_part_of_pawn_chain(&self, board: &Board, pawn_square: Square, color: Color) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 7180 | fn count_connected_passed_pawns(&self, board: &Board, color: Color) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 7196 | fn has_connected_passed_pawn(&self, board: &Board, pawn_square: Square, color: Color) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 7218 | fn evaluate_file_control(&self, board: &Board, color: Color) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 7243 | fn classify_file_type(&self, board: &Board, file: chess::File, color: Color) -> FileType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 7256 | fn count_pawns_on_file(&self, board: &Board, file: chess::File, color: Color) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 7270 | fn evaluate_open_file_control(&self, board: &Board, file: chess::File, color: Color) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 7292 | fn evaluate_semi_open_file_control( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 7323 | fn get_strategic_initiative_evaluation(&self, board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 7362 | fn blend_evaluations( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 7825 | fn is_blunder_move(&self, chess_move: &ChessMove, board: &Board) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 7863 | fn creates_hanging_piece(&self, chess_move: &ChessMove, board: &Board) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 7891 | fn loses_material_without_compensation(&self, chess_move: &ChessMove, board: &Board) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 7920 | fn exposes_king_to_danger(&self, chess_move: &ChessMove, board: &Board) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 7945 | fn is_severe_positional_mistake(&self, chess_move: &ChessMove, board: &Board) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 7962 | fn nnue_indicates_blunder(&self, chess_move: &ChessMove, board: &Board) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 7985 | fn removes_key_king_defender(&self, chess_move: &ChessMove, board: &Board) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 8006 | fn evaluate_development_improvement(&self, old_board: &Board, new_board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 8023 | fn evaluate_attack_potential(&self, board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 8130 | fn evaluate_opening_patterns(&self, board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 8161 | fn evaluate_opening_blunders(&self, board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 8213 | fn evaluate_center_control(&self, board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 8232 | fn can_attack(&self, board: &Board, from_square: Square, to_square: Square) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `material_complexity`, `pawn_structure_complexity`, `king_safety_complexity`, `piece_coordination_complexity`, and `tactical_complexity` are never used [INFO] [stdout] --> src/hybrid_evaluation.rs:1063:8 [INFO] [stdout] | [INFO] [stdout] 544 | impl ComplexityAnalyzer { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 1063 | fn material_complexity(&self, board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1080 | fn pawn_structure_complexity(&self, _board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1091 | fn king_safety_complexity(&self, _board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1101 | fn piece_coordination_complexity(&self, _board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1111 | fn tactical_complexity(&self, board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `timestamp`, `weights`, `complexity_score`, `game_phase`, and `evaluation_count` are never read [INFO] [stdout] --> src/hybrid_evaluation.rs:2541:5 [INFO] [stdout] | [INFO] [stdout] 2540 | struct WeightHistoryEntry { [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] 2541 | timestamp: std::time::SystemTime, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 2542 | weights: BlendWeights, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 2543 | complexity_score: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 2544 | game_phase: GamePhase, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 2545 | evaluation_count: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `WeightHistoryEntry` 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: fields `weights`, `accuracy`, and `evaluation_count` are never read [INFO] [stdout] --> src/hybrid_evaluation.rs:2651:5 [INFO] [stdout] | [INFO] [stdout] 2650 | struct WeightPerformanceRecord { [INFO] [stdout] | ----------------------- fields in this struct [INFO] [stdout] 2651 | weights: BlendWeights, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 2652 | accuracy: f32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 2653 | evaluation_count: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `WeightPerformanceRecord` 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: field `pattern_cache` is never read [INFO] [stdout] --> src/pattern_recognition.rs:657:5 [INFO] [stdout] | [INFO] [stdout] 655 | pub struct LearnedPatternDatabase { [INFO] [stdout] | ---------------------- field in this struct [INFO] [stdout] 656 | patterns: Vec, [INFO] [stdout] 657 | pattern_cache: HashMap>, // Position hash -> pattern indices [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_difference` is never used [INFO] [stdout] --> src/stockfish_testing.rs:61:8 [INFO] [stdout] | [INFO] [stdout] 60 | impl EvaluationCategory { [INFO] [stdout] | ----------------------- associated function in this implementation [INFO] [stdout] 61 | fn from_difference(diff_cp: i32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `our_engine` is never read [INFO] [stdout] --> src/stockfish_testing.rs:264:5 [INFO] [stdout] | [INFO] [stdout] 263 | pub struct StockfishTester { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 264 | our_engine: ChessVectorEngine, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_material_eval` is never used [INFO] [stdout] --> src/uci.rs:839:4 [INFO] [stdout] | [INFO] [stdout] 839 | fn calculate_material_eval(board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/utils/object_pool.rs:117:16 [INFO] [stdout] | [INFO] [stdout] 117 | pub fn get(&self) -> ThreadLocalPooledObject { [INFO] [stdout] | ^^^^^ -------------------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 117 | pub fn get(&self) -> ThreadLocalPooledObject<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/utils/object_pool.rs:200:23 [INFO] [stdout] | [INFO] [stdout] 200 | pub fn get_zeroed(&self) -> ThreadLocalPooledObject> { [INFO] [stdout] | ^^^^^ ------------------------------------ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 200 | pub fn get_zeroed(&self) -> ThreadLocalPooledObject<'_, Array1> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/utils/object_pool.rs:207:16 [INFO] [stdout] | [INFO] [stdout] 207 | pub fn get(&self) -> ThreadLocalPooledObject> { [INFO] [stdout] | ^^^^^ ------------------------------------ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 207 | pub fn get(&self) -> ThreadLocalPooledObject<'_, Array1> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `nnue_weight` is never read [INFO] [stdout] --> src/nnue.rs:436:17 [INFO] [stdout] | [INFO] [stdout] 436 | let mut nnue_weight = 0.7; // Base NNUE weight [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `vector_weight` is never read [INFO] [stdout] --> src/nnue.rs:437:17 [INFO] [stdout] | [INFO] [stdout] 437 | let mut vector_weight = 0.2; // Base vector weight [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `tactical_weight` is never read [INFO] [stdout] --> src/nnue.rs:438:17 [INFO] [stdout] | [INFO] [stdout] 438 | let mut tactical_weight = 0.1; // Base tactical weight [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/position_encoder.rs:656:13 [INFO] [stdout] | [INFO] [stdout] 656 | let mut idx = offset; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/position_encoder.rs:702:13 [INFO] [stdout] | [INFO] [stdout] 702 | let mut idx = offset; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/position_encoder.rs:720:13 [INFO] [stdout] | [INFO] [stdout] 720 | let mut idx = offset; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ChessMove` [INFO] [stdout] --> tests/tactical_validation_suite.rs:7:20 [INFO] [stdout] | [INFO] [stdout] 7 | use chess::{Board, ChessMove}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `CacheStats` [INFO] [stdout] --> benches/core_evaluation_benchmark.rs:1:59 [INFO] [stdout] | [INFO] [stdout] 1 | use chess_vector_engine::core_evaluation::{CoreEvaluator, CacheStats}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `board` [INFO] [stdout] --> examples/basic_usage.rs:66:14 [INFO] [stdout] | [INFO] [stdout] 66 | for (i, (board, eval, similarity)) in similar.iter().enumerate() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_board` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `board` [INFO] [stdout] --> examples/basic_usage.rs:74:18 [INFO] [stdout] | [INFO] [stdout] 74 | for (i, (board, eval, similarity)) in similar_e4.iter().enumerate() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_board` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `get_zeroed_vector` [INFO] [stdout] --> examples/object_pool_usage.rs:3:60 [INFO] [stdout] | [INFO] [stdout] 3 | clear_vector_pools, get_vector, get_vector_pool_stats, get_zeroed_vector, return_vector, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bin/extract_strategic_motifs.rs:199:13 [INFO] [stdout] | [INFO] [stdout] 199 | let mut db = StrategicDatabase::new(); [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DeviceType`, `GPUAccelerator`, `HybridEvaluationEngine`, `NNUE`, `StrategicInitiativeEvaluator`, and `TacticalSearch` [INFO] [stdout] --> examples/advanced_usage.rs:12:40 [INFO] [stdout] | [INFO] [stdout] 12 | ChessVectorEngine, TacticalConfig, TacticalSearch, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 13 | StrategicInitiativeEvaluator, HybridEvaluationEngine, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 14 | NNUE, PositionEncoder, GPUAccelerator, DeviceType [INFO] [stdout] | ^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `TacticalConfig` has no field named `depth` [INFO] [stdout] --> examples/advanced_usage.rs:71:9 [INFO] [stdout] | [INFO] [stdout] 71 | depth: 8, [INFO] [stdout] | ^^^^^ `TacticalConfig` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `max_depth`, `max_time_ms`, `max_nodes`, `quiescence_depth`, `enable_iterative_deepening` ... and 45 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `TacticalConfig` has no field named `time_limit_ms` [INFO] [stdout] --> examples/advanced_usage.rs:72:9 [INFO] [stdout] | [INFO] [stdout] 72 | time_limit_ms: 1000, [INFO] [stdout] | ^^^^^^^^^^^^^ `TacticalConfig` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `max_depth`, `max_time_ms`, `max_nodes`, `quiescence_depth`, `enable_iterative_deepening` ... and 45 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `TacticalConfig` has no field named `use_iterative_deepening` [INFO] [stdout] --> examples/advanced_usage.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 73 | use_iterative_deepening: true, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] help: a field with a similar name exists [INFO] [stdout] | [INFO] [stdout] 73 - use_iterative_deepening: true, [INFO] [stdout] 73 + enable_iterative_deepening: true, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `TacticalConfig` has no field named `enable_quiescence_search` [INFO] [stdout] --> examples/advanced_usage.rs:74:9 [INFO] [stdout] | [INFO] [stdout] 74 | enable_quiescence_search: true, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] help: a field with a similar name exists [INFO] [stdout] | [INFO] [stdout] 74 - enable_quiescence_search: true, [INFO] [stdout] 74 + enable_quiescence: true, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `TacticalConfig` has no field named `enable_move_ordering` [INFO] [stdout] --> examples/advanced_usage.rs:76:9 [INFO] [stdout] | [INFO] [stdout] 76 | enable_move_ordering: true, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ `TacticalConfig` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `max_depth`, `max_time_ms`, `max_nodes`, `quiescence_depth`, `enable_iterative_deepening` ... and 45 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `TacticalConfig` has no field named `aspiration_window` [INFO] [stdout] --> examples/advanced_usage.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 77 | aspiration_window: 50, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] help: a field with a similar name exists [INFO] [stdout] | [INFO] [stdout] 77 | aspiration_window_size: 50, [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `TacticalConfig` has no field named `null_move_pruning` [INFO] [stdout] --> examples/advanced_usage.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | null_move_pruning: true, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ `TacticalConfig` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `max_depth`, `max_time_ms`, `max_nodes`, `quiescence_depth`, `enable_iterative_deepening` ... and 45 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `TacticalConfig` has no field named `late_move_reduction` [INFO] [stdout] --> examples/advanced_usage.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | late_move_reduction: true, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ `TacticalConfig` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `max_depth`, `max_time_ms`, `max_nodes`, `quiescence_depth`, `enable_iterative_deepening` ... and 45 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `TacticalConfig` has no field named `futility_pruning` [INFO] [stdout] --> examples/advanced_usage.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 80 | futility_pruning: true, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ `TacticalConfig` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `max_depth`, `max_time_ms`, `max_nodes`, `quiescence_depth`, `enable_iterative_deepening` ... and 45 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `TacticalConfig` has no field named `max_extensions` [INFO] [stdout] --> examples/advanced_usage.rs:82:9 [INFO] [stdout] | [INFO] [stdout] 82 | max_extensions: 16, [INFO] [stdout] | ^^^^^^^^^^^^^^ `TacticalConfig` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `max_depth`, `max_time_ms`, `max_nodes`, `quiescence_depth`, `enable_iterative_deepening` ... and 45 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `TacticalConfig` has no field named `enable_singular_extensions` [INFO] [stdout] --> examples/advanced_usage.rs:83:9 [INFO] [stdout] | [INFO] [stdout] 83 | enable_singular_extensions: false, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ `TacticalConfig` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `max_depth`, `max_time_ms`, `max_nodes`, `quiescence_depth`, `enable_iterative_deepening` ... and 45 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0560]: struct `TacticalConfig` has no field named `razoring_enabled` [INFO] [stdout] --> examples/advanced_usage.rs:84:9 [INFO] [stdout] | [INFO] [stdout] 84 | razoring_enabled: true, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ `TacticalConfig` does not have this field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `max_depth`, `max_time_ms`, `max_nodes`, `quiescence_depth`, `enable_iterative_deepening` ... and 45 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `depth` on type `TacticalConfig` [INFO] [stdout] --> examples/advanced_usage.rs:89:59 [INFO] [stdout] | [INFO] [stdout] 89 | println!(" - Search depth: {} ply", tactical_config.depth); [INFO] [stdout] | ^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `max_depth`, `max_time_ms`, `max_nodes`, `quiescence_depth`, `enable_transposition_table` ... and 48 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `time_limit_ms` on type `TacticalConfig` [INFO] [stdout] --> examples/advanced_usage.rs:90:56 [INFO] [stdout] | [INFO] [stdout] 90 | println!(" - Time limit: {} ms", tactical_config.time_limit_ms); [INFO] [stdout] | ^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] = note: available fields are: `max_depth`, `max_time_ms`, `max_nodes`, `quiescence_depth`, `enable_transposition_table` ... and 48 others [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `enable_quiescence_search` on type `TacticalConfig` [INFO] [stdout] --> examples/advanced_usage.rs:91:60 [INFO] [stdout] | [INFO] [stdout] 91 | println!(" - Quiescence search: {}", tactical_config.enable_quiescence_search); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ unknown field [INFO] [stdout] | [INFO] [stdout] help: a field with a similar name exists [INFO] [stdout] | [INFO] [stdout] 91 - println!(" - Quiescence search: {}", tactical_config.enable_quiescence_search); [INFO] [stdout] 91 + println!(" - Quiescence search: {}", tactical_config.enable_quiescence); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `get_stats` found for struct `ChessVectorEngine` in the current scope [INFO] [stdout] --> examples/advanced_usage.rs:200:24 [INFO] [stdout] | [INFO] [stdout] 200 | let stats = engine.get_stats(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: there is a method `lsh_stats` with a similar name [INFO] [stdout] | [INFO] [stdout] 200 - let stats = engine.get_stats(); [INFO] [stdout] 200 + let stats = engine.lsh_stats(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `get_opening_book_stats` found for struct `ChessVectorEngine` in the current scope [INFO] [stdout] --> examples/advanced_usage.rs:201:32 [INFO] [stdout] | [INFO] [stdout] 201 | let opening_stats = engine.get_opening_book_stats(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: there is a method `opening_book_stats` with a similar name [INFO] [stdout] | [INFO] [stdout] 201 - let opening_stats = engine.get_opening_book_stats(); [INFO] [stdout] 201 + let opening_stats = engine.opening_book_stats(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `similar_board` [INFO] [stdout] --> tests/engine_validation_suite.rs:166:22 [INFO] [stdout] | [INFO] [stdout] 166 | for (similar_board, _eval, similarity) in &similar { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_similar_board` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `group_board` [INFO] [stdout] --> tests/engine_validation_suite.rs:168:35 [INFO] [stdout] | [INFO] [stdout] 168 | if let Ok(group_board) = Board::from_str(group_fen) { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_group_board` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0560, E0599, E0609. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0560`. [INFO] [stdout] [INFO] [stderr] error: could not compile `chess-vector-engine` (example "advanced_usage") due to 17 previous errors; 1 warning emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tactical_search.rs:823:13 [INFO] [stdout] | [INFO] [stdout] 823 | let mut moves: Vec = MoveGen::new_legal(board).collect(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tactical_search.rs:925:9 [INFO] [stdout] | [INFO] [stdout] 925 | mut alpha: f32, [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `space_score` is never read [INFO] [stdout] --> src/tactical_search.rs:6454:17 [INFO] [stdout] | [INFO] [stdout] 6454 | let mut space_score = 0.0; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `color` [INFO] [stdout] --> src/tactical_search.rs:6741:50 [INFO] [stdout] | [INFO] [stdout] 6741 | fn count_forcing_moves(&self, board: &Board, color: Color) -> u8 { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_color` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `target_piece` [INFO] [stdout] --> src/tactical_search.rs:6917:25 [INFO] [stdout] | [INFO] [stdout] 6917 | if let Some(target_piece) = board.piece_on(target_square) { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_piece` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `piece` [INFO] [stdout] --> src/tactical_search.rs:7831:13 [INFO] [stdout] | [INFO] [stdout] 7831 | let piece = moving_piece.unwrap(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_piece` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `moving_color` [INFO] [stdout] --> src/tactical_search.rs:7832:13 [INFO] [stdout] | [INFO] [stdout] 7832 | let moving_color = board.side_to_move(); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_moving_color` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `source_square` [INFO] [stdout] --> src/tactical_search.rs:7988:13 [INFO] [stdout] | [INFO] [stdout] 7988 | let source_square = chess_move.get_source(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_square` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `predicted_evaluation` [INFO] [stdout] --> src/hybrid_evaluation.rs:379:9 [INFO] [stdout] | [INFO] [stdout] 379 | predicted_evaluation: f32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_predicted_evaluation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/hybrid_evaluation.rs:388:13 [INFO] [stdout] | [INFO] [stdout] 388 | let mut eval_results = EvaluationResults::new(); [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `board` [INFO] [stdout] --> src/hybrid_evaluation.rs:952:36 [INFO] [stdout] | [INFO] [stdout] 952 | fn count_isolated_pawns(&self, board: &Board) -> u8 { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_board` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `piece` [INFO] [stdout] --> src/hybrid_evaluation.rs:1672:9 [INFO] [stdout] | [INFO] [stdout] 1672 | piece: Piece, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_piece` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expected_phase` [INFO] [stdout] --> src/hybrid_evaluation.rs:3907:19 [INFO] [stdout] | [INFO] [stdout] 3907 | for (fen, expected_phase) in &positions { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected_phase` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `start_time` [INFO] [stdout] --> src/strategic_initiative.rs:58:13 [INFO] [stdout] | [INFO] [stdout] 58 | let start_time = std::time::Instant::now(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_time` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/stockfish_testing.rs:194:13 [INFO] [stdout] | [INFO] [stdout] 194 | let mut best_move = None; [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/uci.rs:568:13 [INFO] [stdout] | [INFO] [stdout] 568 | let mut engine = self.engine.clone(); // Clone the engine for threaded evaluation [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0282, E0412, E0433. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0282`. [INFO] [stdout] [INFO] [stderr] error: could not compile `chess-vector-engine` (lib test) due to 5 previous errors; 25 warnings emitted [INFO] running `Command { std: "docker" "inspect" "879e2c3ce77d348f02d4f8ba46bab0ebdb3ebabd538b7a628d583e1a98771bb1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "879e2c3ce77d348f02d4f8ba46bab0ebdb3ebabd538b7a628d583e1a98771bb1", kill_on_drop: false }` [INFO] [stdout] 879e2c3ce77d348f02d4f8ba46bab0ebdb3ebabd538b7a628d583e1a98771bb1