[INFO] cloning repository https://github.com/gautam8404/kelp [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/gautam8404/kelp" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgautam8404%2Fkelp", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgautam8404%2Fkelp'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 56b718d8199e872342ce25a309252519b9452e19 [INFO] checking gautam8404/kelp against master#385fa9d845dd326c6bbfd58c22244215e431948a for absurd-question-mark-desugar [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgautam8404%2Fkelp" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/gautam8404/kelp on toolchain 385fa9d845dd326c6bbfd58c22244215e431948a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] removed /workspace/builds/worker-1-tc1/source/.cargo/config.toml [INFO] started tweaking git repo https://github.com/gautam8404/kelp [INFO] finished tweaking git repo https://github.com/gautam8404/kelp [INFO] tweaked toml for git repo https://github.com/gautam8404/kelp written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/gautam8404/kelp 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" "+385fa9d845dd326c6bbfd58c22244215e431948a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root: [INFO] [stderr] package: /workspace/builds/worker-1-tc1/source/kelp_engine/Cargo.toml [INFO] [stderr] workspace: /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] dadd020ce935600eb6e714722a7de884a9a4b50ae77b73c559fc39e828f37ee6 [INFO] running `Command { std: "docker" "start" "-a" "dadd020ce935600eb6e714722a7de884a9a4b50ae77b73c559fc39e828f37ee6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "dadd020ce935600eb6e714722a7de884a9a4b50ae77b73c559fc39e828f37ee6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "dadd020ce935600eb6e714722a7de884a9a4b50ae77b73c559fc39e828f37ee6", kill_on_drop: false }` [INFO] [stdout] dadd020ce935600eb6e714722a7de884a9a4b50ae77b73c559fc39e828f37ee6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f8167f68546e1da8b1b20472b9e89caf01c714d911e955151d4e9358a64cef6a [INFO] running `Command { std: "docker" "start" "-a" "f8167f68546e1da8b1b20472b9e89caf01c714d911e955151d4e9358a64cef6a", kill_on_drop: false }` [INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root: [INFO] [stderr] package: /opt/rustwide/workdir/kelp_engine/Cargo.toml [INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] [stderr] Compiling libc v0.2.147 [INFO] [stderr] Compiling proc-macro2 v1.0.66 [INFO] [stderr] Compiling unicode-ident v1.0.11 [INFO] [stderr] Compiling rustversion v1.0.14 [INFO] [stderr] Checking ppv-lite86 v0.2.17 [INFO] [stderr] Compiling heck v0.4.1 [INFO] [stderr] Checking log v0.4.20 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Checking strum v0.25.0 [INFO] [stderr] Compiling quote v1.0.32 [INFO] [stderr] Compiling syn v2.0.28 [INFO] [stderr] Checking getrandom v0.2.10 [INFO] [stderr] Checking thread-id v3.3.0 [INFO] [stderr] Checking simple-logging v2.0.2 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Compiling strum_macros v0.25.2 [INFO] [stderr] Checking kelp_engine v0.12.0 (/opt/rustwide/workdir/kelp_engine) [INFO] [stdout] warning: unused import: `crate::kelp::board::piece::BoardPiece::*` [INFO] [stdout] --> kelp_engine/src/kelp/kelp.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::kelp::board::piece::BoardPiece::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `log` is imported redundantly [INFO] [stdout] --> kelp_engine/src/kelp/kelp.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use log; [INFO] [stdout] | ^^^ the item `log` is already defined by prelude [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::kelp::board::piece::BoardPiece::*` [INFO] [stdout] --> kelp_engine/src/kelp/kelp.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::kelp::board::piece::BoardPiece::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `log` is imported redundantly [INFO] [stdout] --> kelp_engine/src/kelp/kelp.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use log; [INFO] [stdout] | ^^^ the item `log` is already defined by prelude [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp::min` [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cmp::min; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp::min` [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cmp::min; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:7:30 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::kelp::GamePhase::{self, *}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:7:30 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::kelp::GamePhase::{self, *}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `out` is never read [INFO] [stdout] --> kelp_engine/src/kelp/board/board.rs:109:17 [INFO] [stdout] | [INFO] [stdout] 109 | let mut out = BitBoard::empty(); [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 `out` is never read [INFO] [stdout] --> kelp_engine/src/kelp/board/board.rs:121:17 [INFO] [stdout] | [INFO] [stdout] 121 | let mut out = BitBoard::empty(); [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] --> kelp_engine/src/kelp/board/board.rs:467:13 [INFO] [stdout] | [INFO] [stdout] 467 | let mut old_en_passant = self.info.en_passant; [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: value assigned to `out` is never read [INFO] [stdout] --> kelp_engine/src/kelp/board/board.rs:109:17 [INFO] [stdout] | [INFO] [stdout] 109 | let mut out = BitBoard::empty(); [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 `out` is never read [INFO] [stdout] --> kelp_engine/src/kelp/board/board.rs:121:17 [INFO] [stdout] | [INFO] [stdout] 121 | let mut out = BitBoard::empty(); [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] --> kelp_engine/src/kelp/board/board.rs:467:13 [INFO] [stdout] | [INFO] [stdout] 467 | let mut old_en_passant = self.info.en_passant; [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: value assigned to `score` is never read [INFO] [stdout] --> kelp_engine/src/kelp/kelp.rs:75:17 [INFO] [stdout] | [INFO] [stdout] 75 | let mut score = 0; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `score` is never read [INFO] [stdout] --> kelp_engine/src/kelp/kelp.rs:75:17 [INFO] [stdout] | [INFO] [stdout] 75 | let mut score = 0; [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] --> kelp_engine/src/kelp/kelp.rs:198:17 [INFO] [stdout] | [INFO] [stdout] 198 | let mut input = rx.try_recv(); [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] --> kelp_engine/src/kelp/kelp.rs:198:17 [INFO] [stdout] | [INFO] [stdout] 198 | let mut input = rx.try_recv(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `arg` [INFO] [stdout] --> kelp_engine/src/kelp/kelp.rs:343:26 [INFO] [stdout] | [INFO] [stdout] 343 | fn handle_uci(&self, arg: &[&str]) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_arg` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `arg` [INFO] [stdout] --> kelp_engine/src/kelp/kelp.rs:375:45 [INFO] [stdout] | [INFO] [stdout] 375 | fn handle_unknown(&self, command: &str, arg: &[&str]) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_arg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `arg` [INFO] [stdout] --> kelp_engine/src/kelp/kelp.rs:343:26 [INFO] [stdout] | [INFO] [stdout] 343 | fn handle_uci(&self, arg: &[&str]) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_arg` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `arg` [INFO] [stdout] --> kelp_engine/src/kelp/kelp.rs:375:45 [INFO] [stdout] | [INFO] [stdout] 375 | fn handle_unknown(&self, command: &str, arg: &[&str]) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_arg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `friendly_score` [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:497:57 [INFO] [stdout] | [INFO] [stdout] 497 | pub fn mop_eval(&self, color: Color, board: &Board, friendly_score: i32, enemy_score: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_friendly_score` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `enemy_score` [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:497:78 [INFO] [stdout] | [INFO] [stdout] 497 | pub fn mop_eval(&self, color: Color, board: &Board, friendly_score: i32, enemy_score: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enemy_score` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `score` is never read [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:552:17 [INFO] [stdout] | [INFO] [stdout] 552 | let mut score = 0; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `friendly_score` [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:497:57 [INFO] [stdout] | [INFO] [stdout] 497 | pub fn mop_eval(&self, color: Color, board: &Board, friendly_score: i32, enemy_score: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_friendly_score` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `enemy_score` [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:497:78 [INFO] [stdout] | [INFO] [stdout] 497 | pub fn mop_eval(&self, color: Color, board: &Board, friendly_score: i32, enemy_score: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enemy_score` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `score` is never read [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:552:17 [INFO] [stdout] | [INFO] [stdout] 552 | let mut score = 0; [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] --> kelp_engine/src/kelp/search/eval.rs:538:13 [INFO] [stdout] | [INFO] [stdout] 538 | let mut game_phase; [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] --> kelp_engine/src/kelp/search/eval.rs:538:13 [INFO] [stdout] | [INFO] [stdout] 538 | let mut game_phase; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `score` is never read [INFO] [stdout] --> kelp_engine/src/kelp/search/negamax.rs:82:17 [INFO] [stdout] | [INFO] [stdout] 82 | let mut score = Self::MIN; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `score` is never read [INFO] [stdout] --> kelp_engine/src/kelp/search/negamax.rs:82:17 [INFO] [stdout] | [INFO] [stdout] 82 | let mut score = Self::MIN; [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] --> kelp_engine/src/kelp/search/negamax.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | mut beta: i32, [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] --> kelp_engine/src/kelp/search/negamax.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | mut beta: i32, [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `MAX_USAGE` is never used [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:193:11 [INFO] [stdout] | [INFO] [stdout] 190 | impl TimeControl { [INFO] [stdout] | ---------------- associated constant in this implementation [INFO] [stdout] ... [INFO] [stdout] 193 | const MAX_USAGE: f64 = 0.8; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `KING_PAWN_SHIELD_SCORES` is never used [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:32:7 [INFO] [stdout] | [INFO] [stdout] 32 | const KING_PAWN_SHIELD_SCORES: [i32; 6] = [ 4, 7, 4, 3, 6, 3]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `MAX_USAGE` is never used [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:193:11 [INFO] [stdout] | [INFO] [stdout] 190 | impl TimeControl { [INFO] [stdout] | ---------------- associated constant in this implementation [INFO] [stdout] ... [INFO] [stdout] 193 | const MAX_USAGE: f64 = 0.8; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pos_5_pos_test` is never used [INFO] [stdout] --> kelp_engine/src/kelp/mov_gen/perft.rs:207:8 [INFO] [stdout] | [INFO] [stdout] 207 | fn pos_5_pos_test() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `KING_PAWN_SHIELD_SCORES` is never used [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:32:7 [INFO] [stdout] | [INFO] [stdout] 32 | const KING_PAWN_SHIELD_SCORES: [i32; 6] = [ 4, 7, 4, 3, 6, 3]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `FEN` should have a snake case name [INFO] [stdout] --> kelp_engine/src/kelp/board/board.rs:694:13 [INFO] [stdout] | [INFO] [stdout] 694 | let FEN = Fen( [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `fen` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `ERR_FEN` should have a snake case name [INFO] [stdout] --> kelp_engine/src/kelp/board/board.rs:697:13 [INFO] [stdout] | [INFO] [stdout] 697 | let ERR_FEN = Fen( [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `err_fen` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 19 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 22 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking kelp_perft v0.9.0 (/opt/rustwide/workdir/kelp_perft) [INFO] [stdout] warning: unused variable: `starring_fen` [INFO] [stdout] --> kelp_perft/src/main.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | let starring_fen = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1"; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_starring_fen` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `starring_fen` [INFO] [stdout] --> kelp_perft/src/main.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | let starring_fen = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1"; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_starring_fen` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::kelp::board::piece::BoardPiece::*` [INFO] [stdout] --> kelp_engine/src/kelp/kelp.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::kelp::board::piece::BoardPiece::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `log` is imported redundantly [INFO] [stdout] --> kelp_engine/src/kelp/kelp.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use log; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] ::: kelp_engine/src/main.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | extern crate log; [INFO] [stdout] | ----------------- the item `log` is already imported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp::min` [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cmp::min; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:7:30 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::kelp::GamePhase::{self, *}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::kelp::board::piece::BoardPiece::*` [INFO] [stdout] --> kelp_engine/src/kelp/kelp.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::kelp::board::piece::BoardPiece::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `log` is imported redundantly [INFO] [stdout] --> kelp_engine/src/kelp/kelp.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use log; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] ::: kelp_engine/src/main.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | extern crate log; [INFO] [stdout] | ----------------- the item `log` is already imported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp::min` [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cmp::min; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:7:30 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::kelp::GamePhase::{self, *}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `out` is never read [INFO] [stdout] --> kelp_engine/src/kelp/board/board.rs:109:17 [INFO] [stdout] | [INFO] [stdout] 109 | let mut out = BitBoard::empty(); [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 `out` is never read [INFO] [stdout] --> kelp_engine/src/kelp/board/board.rs:121:17 [INFO] [stdout] | [INFO] [stdout] 121 | let mut out = BitBoard::empty(); [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] --> kelp_engine/src/kelp/board/board.rs:467:13 [INFO] [stdout] | [INFO] [stdout] 467 | let mut old_en_passant = self.info.en_passant; [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: value assigned to `out` is never read [INFO] [stdout] --> kelp_engine/src/kelp/board/board.rs:109:17 [INFO] [stdout] | [INFO] [stdout] 109 | let mut out = BitBoard::empty(); [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 `out` is never read [INFO] [stdout] --> kelp_engine/src/kelp/board/board.rs:121:17 [INFO] [stdout] | [INFO] [stdout] 121 | let mut out = BitBoard::empty(); [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] --> kelp_engine/src/kelp/board/board.rs:467:13 [INFO] [stdout] | [INFO] [stdout] 467 | let mut old_en_passant = self.info.en_passant; [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: value assigned to `score` is never read [INFO] [stdout] --> kelp_engine/src/kelp/kelp.rs:75:17 [INFO] [stdout] | [INFO] [stdout] 75 | let mut score = 0; [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] --> kelp_engine/src/kelp/kelp.rs:198:17 [INFO] [stdout] | [INFO] [stdout] 198 | let mut input = rx.try_recv(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `arg` [INFO] [stdout] --> kelp_engine/src/kelp/kelp.rs:343:26 [INFO] [stdout] | [INFO] [stdout] 343 | fn handle_uci(&self, arg: &[&str]) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_arg` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `arg` [INFO] [stdout] --> kelp_engine/src/kelp/kelp.rs:375:45 [INFO] [stdout] | [INFO] [stdout] 375 | fn handle_unknown(&self, command: &str, arg: &[&str]) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_arg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `score` is never read [INFO] [stdout] --> kelp_engine/src/kelp/kelp.rs:75:17 [INFO] [stdout] | [INFO] [stdout] 75 | let mut score = 0; [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] --> kelp_engine/src/kelp/kelp.rs:198:17 [INFO] [stdout] | [INFO] [stdout] 198 | let mut input = rx.try_recv(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `arg` [INFO] [stdout] --> kelp_engine/src/kelp/kelp.rs:343:26 [INFO] [stdout] | [INFO] [stdout] 343 | fn handle_uci(&self, arg: &[&str]) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_arg` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `arg` [INFO] [stdout] --> kelp_engine/src/kelp/kelp.rs:375:45 [INFO] [stdout] | [INFO] [stdout] 375 | fn handle_unknown(&self, command: &str, arg: &[&str]) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_arg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `friendly_score` [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:497:57 [INFO] [stdout] | [INFO] [stdout] 497 | pub fn mop_eval(&self, color: Color, board: &Board, friendly_score: i32, enemy_score: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_friendly_score` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `enemy_score` [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:497:78 [INFO] [stdout] | [INFO] [stdout] 497 | pub fn mop_eval(&self, color: Color, board: &Board, friendly_score: i32, enemy_score: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enemy_score` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `score` is never read [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:552:17 [INFO] [stdout] | [INFO] [stdout] 552 | let mut score = 0; [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] --> kelp_engine/src/kelp/search/eval.rs:538:13 [INFO] [stdout] | [INFO] [stdout] 538 | let mut game_phase; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `score` is never read [INFO] [stdout] --> kelp_engine/src/kelp/search/negamax.rs:82:17 [INFO] [stdout] | [INFO] [stdout] 82 | let mut score = Self::MIN; [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] --> kelp_engine/src/kelp/search/negamax.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | mut beta: i32, [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `friendly_score` [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:497:57 [INFO] [stdout] | [INFO] [stdout] 497 | pub fn mop_eval(&self, color: Color, board: &Board, friendly_score: i32, enemy_score: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_friendly_score` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `enemy_score` [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:497:78 [INFO] [stdout] | [INFO] [stdout] 497 | pub fn mop_eval(&self, color: Color, board: &Board, friendly_score: i32, enemy_score: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enemy_score` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `score` is never read [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:552:17 [INFO] [stdout] | [INFO] [stdout] 552 | let mut score = 0; [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] --> kelp_engine/src/kelp/search/eval.rs:538:13 [INFO] [stdout] | [INFO] [stdout] 538 | let mut game_phase; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `score` is never read [INFO] [stdout] --> kelp_engine/src/kelp/search/negamax.rs:82:17 [INFO] [stdout] | [INFO] [stdout] 82 | let mut score = Self::MIN; [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] --> kelp_engine/src/kelp/search/negamax.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | mut beta: i32, [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Mate` and `Stalemate` are never constructed [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 38 | pub enum GameState { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 41 | Mate(Color), [INFO] [stdout] | ^^^^ [INFO] [stdout] 42 | Stalemate, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GameState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PAWN_VALUE` is never used [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:49:7 [INFO] [stdout] | [INFO] [stdout] 49 | const PAWN_VALUE: i32 = 100; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `KNIGHT_VALUE` is never used [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:50:7 [INFO] [stdout] | [INFO] [stdout] 50 | const KNIGHT_VALUE: i32 = 300; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BISHOP_VALUE` is never used [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:51:7 [INFO] [stdout] | [INFO] [stdout] 51 | const BISHOP_VALUE: i32 = 350; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ROOK_VALUE` is never used [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:52:7 [INFO] [stdout] | [INFO] [stdout] 52 | const ROOK_VALUE: i32 = 500; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `QUEEN_VALUE` is never used [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:53:7 [INFO] [stdout] | [INFO] [stdout] 53 | const QUEEN_VALUE: i32 = 1000; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `KING_VALUE` is never used [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:54:7 [INFO] [stdout] | [INFO] [stdout] 54 | const KING_VALUE: i32 = 10000; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 65 | impl BoardInfo { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] 66 | pub fn toggle_turn(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn set_turn(&mut self, color: Color) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn set_halfmove_clock(&mut self, value: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | pub fn set_fullmove_clock(&mut self, value: u16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn set_en_passant(&mut self, square: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn get_turn(&self) -> Color { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | pub fn get_halfmove_clock(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn get_fullmove_clock(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn get_en_passant(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_rank_file` and `mirror` are never used [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:131:12 [INFO] [stdout] | [INFO] [stdout] 130 | impl Squares { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 131 | pub fn from_rank_file(rank: u8, file: u8) -> Squares { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn mirror(&self) -> Squares { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `MAX_USAGE` is never used [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:193:11 [INFO] [stdout] | [INFO] [stdout] 190 | impl TimeControl { [INFO] [stdout] | ---------------- associated constant in this implementation [INFO] [stdout] ... [INFO] [stdout] 193 | const MAX_USAGE: f64 = 0.8; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `best_move` is never read [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:237:9 [INFO] [stdout] | [INFO] [stdout] 236 | pub struct SearchMoveResult { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] 237 | pub best_move: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> kelp_engine/src/kelp/board/fen.rs:112:12 [INFO] [stdout] | [INFO] [stdout] 111 | impl Fen { [INFO] [stdout] | -------- associated function in this implementation [INFO] [stdout] 112 | pub fn new(fen: String) -> Fen { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> kelp_engine/src/kelp/board/moves.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 41 | impl Castle { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 42 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_promotion`, `is_capture`, `get_promotion`, `is_en_passant`, and `is_castle` are never used [INFO] [stdout] --> kelp_engine/src/kelp/board/moves.rs:137:12 [INFO] [stdout] | [INFO] [stdout] 118 | impl Move { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 137 | pub fn new_promotion( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | pub fn is_capture(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 168 | pub fn get_promotion(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 175 | pub fn is_en_passant(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn is_castle(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> kelp_engine/src/kelp/board/moves.rs:192:12 [INFO] [stdout] | [INFO] [stdout] 187 | impl MoveList { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 192 | pub fn with_capacity(capacity: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 212 | pub fn pop(&mut self) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn last(&self) -> Option<&Move> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 224 | pub fn extend(&mut self, other: &mut MoveList) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 228 | pub fn sort_by(&mut self, f: impl Fn(&Move, &Move) -> std::cmp::Ordering) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `clear`, `len`, `is_empty`, `last`, `iter`, and `extend` are never used [INFO] [stdout] --> kelp_engine/src/kelp/board/moves.rs:255:12 [INFO] [stdout] | [INFO] [stdout] 247 | impl MoveArray { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 255 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 264 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 268 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 281 | pub fn last(&self) -> Option<&MoveHistory> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 289 | pub fn iter(&self) -> std::slice::Iter> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 293 | pub fn extend(&mut self, other: &mut MoveArray) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `unicode` and `get_value` are never used [INFO] [stdout] --> kelp_engine/src/kelp/board/piece.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 53 | impl BoardPiece { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn unicode(&self) -> &'static str { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn get_value(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `unmake_move`, `get_fen`, and `search_move_lib` are never used [INFO] [stdout] --> kelp_engine/src/kelp/kelp.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl<'a> Kelp<'a> { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn unmake_move(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn get_fen(&self) -> String { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | pub fn search_move_lib(&mut self, depth: usize) -> SearchMoveResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_move_list_ref` and `clear_move_list` are never used [INFO] [stdout] --> kelp_engine/src/kelp/mov_gen/generator.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl<'a> MovGen<'a> { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn get_move_list_ref(&self) -> &MoveList { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn clear_move_list(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `print_attacked` is never used [INFO] [stdout] --> kelp_engine/src/kelp/mov_gen/generator.rs:662:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl<'a> MovGen<'a> { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 662 | pub fn print_attacked(&self, side: Color, board: &Board) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `perft_test` is never used [INFO] [stdout] --> kelp_engine/src/kelp/mov_gen/perft.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn perft_test(depth: u16, board: &mut Board, gen: &mut MovGen, nodes: &mut u64) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pos_5_pos_test` is never used [INFO] [stdout] --> kelp_engine/src/kelp/mov_gen/perft.rs:207:8 [INFO] [stdout] | [INFO] [stdout] 207 | fn pos_5_pos_test() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `KING_PAWN_SHIELD_SCORES` is never used [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:32:7 [INFO] [stdout] | [INFO] [stdout] 32 | const KING_PAWN_SHIELD_SCORES: [i32; 6] = [ 4, 7, 4, 3, 6, 3]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_rank_mask` and `get_endgame_weight` are never used [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:140:12 [INFO] [stdout] | [INFO] [stdout] 59 | impl Eval { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 140 | pub fn get_rank_mask(&self, sq: Squares) -> BitBoard { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 463 | pub fn get_endgame_weight(&self, color: Color, board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_size` and `get_total_entries` are never used [INFO] [stdout] --> kelp_engine/src/kelp/search/transposition.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl TranspositionTable { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn get_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn get_total_entries(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_keyword`, `is_go`, and `send_ready_ok` are never used [INFO] [stdout] --> kelp_engine/src/kelp/uci_trait.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 2 | pub trait UCI { [INFO] [stdout] | --- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 20 | fn is_keyword(&self, arg: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | fn is_go(&self, arg: &str) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | fn send_ready_ok(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `FEN` should have a snake case name [INFO] [stdout] --> kelp_engine/src/kelp/board/board.rs:694:13 [INFO] [stdout] | [INFO] [stdout] 694 | let FEN = Fen( [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `fen` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `ERR_FEN` should have a snake case name [INFO] [stdout] --> kelp_engine/src/kelp/board/board.rs:697:13 [INFO] [stdout] | [INFO] [stdout] 697 | let ERR_FEN = Fen( [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `err_fen` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Mate` and `Stalemate` are never constructed [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 38 | pub enum GameState { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 41 | Mate(Color), [INFO] [stdout] | ^^^^ [INFO] [stdout] 42 | Stalemate, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GameState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PAWN_VALUE` is never used [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:49:7 [INFO] [stdout] | [INFO] [stdout] 49 | const PAWN_VALUE: i32 = 100; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `KNIGHT_VALUE` is never used [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:50:7 [INFO] [stdout] | [INFO] [stdout] 50 | const KNIGHT_VALUE: i32 = 300; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BISHOP_VALUE` is never used [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:51:7 [INFO] [stdout] | [INFO] [stdout] 51 | const BISHOP_VALUE: i32 = 350; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ROOK_VALUE` is never used [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:52:7 [INFO] [stdout] | [INFO] [stdout] 52 | const ROOK_VALUE: i32 = 500; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `QUEEN_VALUE` is never used [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:53:7 [INFO] [stdout] | [INFO] [stdout] 53 | const QUEEN_VALUE: i32 = 1000; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `KING_VALUE` is never used [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:54:7 [INFO] [stdout] | [INFO] [stdout] 54 | const KING_VALUE: i32 = 10000; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 65 | impl BoardInfo { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] 66 | pub fn toggle_turn(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn set_turn(&mut self, color: Color) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn set_halfmove_clock(&mut self, value: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | pub fn set_fullmove_clock(&mut self, value: u16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn set_en_passant(&mut self, square: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn get_turn(&self) -> Color { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | pub fn get_halfmove_clock(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn get_fullmove_clock(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn get_en_passant(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_rank_file` and `mirror` are never used [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:131:12 [INFO] [stdout] | [INFO] [stdout] 130 | impl Squares { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 131 | pub fn from_rank_file(rank: u8, file: u8) -> Squares { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn mirror(&self) -> Squares { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `MAX_USAGE` is never used [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:193:11 [INFO] [stdout] | [INFO] [stdout] 190 | impl TimeControl { [INFO] [stdout] | ---------------- associated constant in this implementation [INFO] [stdout] ... [INFO] [stdout] 193 | const MAX_USAGE: f64 = 0.8; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `best_move` is never read [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:237:9 [INFO] [stdout] | [INFO] [stdout] 236 | pub struct SearchMoveResult { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] 237 | pub best_move: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> kelp_engine/src/kelp/board/fen.rs:112:12 [INFO] [stdout] | [INFO] [stdout] 111 | impl Fen { [INFO] [stdout] | -------- associated function in this implementation [INFO] [stdout] 112 | pub fn new(fen: String) -> Fen { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> kelp_engine/src/kelp/board/moves.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 41 | impl Castle { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 42 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_promotion`, `is_capture`, `get_promotion`, `is_en_passant`, and `is_castle` are never used [INFO] [stdout] --> kelp_engine/src/kelp/board/moves.rs:137:12 [INFO] [stdout] | [INFO] [stdout] 118 | impl Move { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 137 | pub fn new_promotion( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | pub fn is_capture(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 168 | pub fn get_promotion(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 175 | pub fn is_en_passant(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn is_castle(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> kelp_engine/src/kelp/board/moves.rs:192:12 [INFO] [stdout] | [INFO] [stdout] 187 | impl MoveList { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 192 | pub fn with_capacity(capacity: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 212 | pub fn pop(&mut self) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn last(&self) -> Option<&Move> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 224 | pub fn extend(&mut self, other: &mut MoveList) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 228 | pub fn sort_by(&mut self, f: impl Fn(&Move, &Move) -> std::cmp::Ordering) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `clear`, `len`, `is_empty`, `last`, `iter`, and `extend` are never used [INFO] [stdout] --> kelp_engine/src/kelp/board/moves.rs:255:12 [INFO] [stdout] | [INFO] [stdout] 247 | impl MoveArray { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 255 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 264 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 268 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 281 | pub fn last(&self) -> Option<&MoveHistory> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 289 | pub fn iter(&self) -> std::slice::Iter> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 293 | pub fn extend(&mut self, other: &mut MoveArray) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `unicode` and `get_value` are never used [INFO] [stdout] --> kelp_engine/src/kelp/board/piece.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 53 | impl BoardPiece { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn unicode(&self) -> &'static str { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn get_value(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `unmake_move`, `get_fen`, and `search_move_lib` are never used [INFO] [stdout] --> kelp_engine/src/kelp/kelp.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl<'a> Kelp<'a> { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn unmake_move(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn get_fen(&self) -> String { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | pub fn search_move_lib(&mut self, depth: usize) -> SearchMoveResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_move_list`, `get_move_list_ref`, and `clear_move_list` are never used [INFO] [stdout] --> kelp_engine/src/kelp/mov_gen/generator.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl<'a> MovGen<'a> { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] 22 | pub fn get_move_list(&self) -> MoveList { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn get_move_list_ref(&self) -> &MoveList { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn clear_move_list(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `print_attacked` is never used [INFO] [stdout] --> kelp_engine/src/kelp/mov_gen/generator.rs:662:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl<'a> MovGen<'a> { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 662 | pub fn print_attacked(&self, side: Color, board: &Board) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `perft_driver` is never used [INFO] [stdout] --> kelp_engine/src/kelp/mov_gen/perft.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn perft_driver(depth: u16, board: &mut Board, gen: &mut MovGen, nodes: &mut u64) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `perft_test` is never used [INFO] [stdout] --> kelp_engine/src/kelp/mov_gen/perft.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn perft_test(depth: u16, board: &mut Board, gen: &mut MovGen, nodes: &mut u64) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `KING_PAWN_SHIELD_SCORES` is never used [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:32:7 [INFO] [stdout] | [INFO] [stdout] 32 | const KING_PAWN_SHIELD_SCORES: [i32; 6] = [ 4, 7, 4, 3, 6, 3]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_rank_mask` and `get_endgame_weight` are never used [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:140:12 [INFO] [stdout] | [INFO] [stdout] 59 | impl Eval { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 140 | pub fn get_rank_mask(&self, sq: Squares) -> BitBoard { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 463 | pub fn get_endgame_weight(&self, color: Color, board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_size` and `get_total_entries` are never used [INFO] [stdout] --> kelp_engine/src/kelp/search/transposition.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl TranspositionTable { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn get_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn get_total_entries(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_keyword`, `is_go`, and `send_ready_ok` are never used [INFO] [stdout] --> kelp_engine/src/kelp/uci_trait.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 2 | pub trait UCI { [INFO] [stdout] | --- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 20 | fn is_keyword(&self, arg: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | fn is_go(&self, arg: &str) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | fn send_ready_ok(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 45 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 43 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.23s [INFO] running `Command { std: "docker" "inspect" "f8167f68546e1da8b1b20472b9e89caf01c714d911e955151d4e9358a64cef6a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f8167f68546e1da8b1b20472b9e89caf01c714d911e955151d4e9358a64cef6a", kill_on_drop: false }` [INFO] [stdout] f8167f68546e1da8b1b20472b9e89caf01c714d911e955151d4e9358a64cef6a [INFO] checking gautam8404/kelp against try#645bb72776a6a56a1a8f52631a44bd082b2ba509 for absurd-question-mark-desugar [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgautam8404%2Fkelp" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/gautam8404/kelp on toolchain 645bb72776a6a56a1a8f52631a44bd082b2ba509 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] removed /workspace/builds/worker-1-tc2/source/.cargo/config.toml [INFO] started tweaking git repo https://github.com/gautam8404/kelp [INFO] finished tweaking git repo https://github.com/gautam8404/kelp [INFO] tweaked toml for git repo https://github.com/gautam8404/kelp written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/gautam8404/kelp 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" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root: [INFO] [stderr] package: /workspace/builds/worker-1-tc2/source/kelp_engine/Cargo.toml [INFO] [stderr] workspace: /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 7f7e800cd98bb07358a2b45a6bf2040a2a23d0d4a523ce209bef2888a59b90f4 [INFO] running `Command { std: "docker" "start" "-a" "7f7e800cd98bb07358a2b45a6bf2040a2a23d0d4a523ce209bef2888a59b90f4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7f7e800cd98bb07358a2b45a6bf2040a2a23d0d4a523ce209bef2888a59b90f4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7f7e800cd98bb07358a2b45a6bf2040a2a23d0d4a523ce209bef2888a59b90f4", kill_on_drop: false }` [INFO] [stdout] 7f7e800cd98bb07358a2b45a6bf2040a2a23d0d4a523ce209bef2888a59b90f4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] be42c1df82f4687c0c5949a254ba5af1bcd000a40855e5ac5f7aa60e1ee50d76 [INFO] running `Command { std: "docker" "start" "-a" "be42c1df82f4687c0c5949a254ba5af1bcd000a40855e5ac5f7aa60e1ee50d76", kill_on_drop: false }` [INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root: [INFO] [stderr] package: /opt/rustwide/workdir/kelp_engine/Cargo.toml [INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml [INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"` [INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest [INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest [INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions [INFO] [stderr] Compiling libc v0.2.147 [INFO] [stderr] Compiling proc-macro2 v1.0.66 [INFO] [stderr] Compiling unicode-ident v1.0.11 [INFO] [stderr] Compiling rustversion v1.0.14 [INFO] [stderr] Checking ppv-lite86 v0.2.17 [INFO] [stderr] Compiling heck v0.4.1 [INFO] [stderr] Checking log v0.4.20 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Checking strum v0.25.0 [INFO] [stderr] Compiling quote v1.0.32 [INFO] [stderr] Compiling syn v2.0.28 [INFO] [stderr] Checking getrandom v0.2.10 [INFO] [stderr] Checking thread-id v3.3.0 [INFO] [stderr] Checking simple-logging v2.0.2 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Compiling strum_macros v0.25.2 [INFO] [stderr] Checking kelp_engine v0.12.0 (/opt/rustwide/workdir/kelp_engine) [INFO] [stdout] warning: unused import: `crate::kelp::board::piece::BoardPiece::*` [INFO] [stdout] --> kelp_engine/src/kelp/kelp.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::kelp::board::piece::BoardPiece::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `log` is imported redundantly [INFO] [stdout] --> kelp_engine/src/kelp/kelp.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use log; [INFO] [stdout] | ^^^ the item `log` is already defined by prelude [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp::min` [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cmp::min; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:7:30 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::kelp::GamePhase::{self, *}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::kelp::board::piece::BoardPiece::*` [INFO] [stdout] --> kelp_engine/src/kelp/kelp.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::kelp::board::piece::BoardPiece::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `log` is imported redundantly [INFO] [stdout] --> kelp_engine/src/kelp/kelp.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use log; [INFO] [stdout] | ^^^ the item `log` is already defined by prelude [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp::min` [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cmp::min; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:7:30 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::kelp::GamePhase::{self, *}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `out` is never read [INFO] [stdout] --> kelp_engine/src/kelp/board/board.rs:109:17 [INFO] [stdout] | [INFO] [stdout] 109 | let mut out = BitBoard::empty(); [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 `out` is never read [INFO] [stdout] --> kelp_engine/src/kelp/board/board.rs:121:17 [INFO] [stdout] | [INFO] [stdout] 121 | let mut out = BitBoard::empty(); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `out` is never read [INFO] [stdout] --> kelp_engine/src/kelp/board/board.rs:109:17 [INFO] [stdout] | [INFO] [stdout] 109 | let mut out = BitBoard::empty(); [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 `out` is never read [INFO] [stdout] --> kelp_engine/src/kelp/board/board.rs:121:17 [INFO] [stdout] | [INFO] [stdout] 121 | let mut out = BitBoard::empty(); [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] --> kelp_engine/src/kelp/board/board.rs:467:13 [INFO] [stdout] | [INFO] [stdout] 467 | let mut old_en_passant = self.info.en_passant; [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] --> kelp_engine/src/kelp/board/board.rs:467:13 [INFO] [stdout] | [INFO] [stdout] 467 | let mut old_en_passant = self.info.en_passant; [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: value assigned to `score` is never read [INFO] [stdout] --> kelp_engine/src/kelp/kelp.rs:75:17 [INFO] [stdout] | [INFO] [stdout] 75 | let mut score = 0; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `score` is never read [INFO] [stdout] --> kelp_engine/src/kelp/kelp.rs:75:17 [INFO] [stdout] | [INFO] [stdout] 75 | let mut score = 0; [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] --> kelp_engine/src/kelp/kelp.rs:198:17 [INFO] [stdout] | [INFO] [stdout] 198 | let mut input = rx.try_recv(); [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] --> kelp_engine/src/kelp/kelp.rs:198:17 [INFO] [stdout] | [INFO] [stdout] 198 | let mut input = rx.try_recv(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `arg` [INFO] [stdout] --> kelp_engine/src/kelp/kelp.rs:343:26 [INFO] [stdout] | [INFO] [stdout] 343 | fn handle_uci(&self, arg: &[&str]) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_arg` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `arg` [INFO] [stdout] --> kelp_engine/src/kelp/kelp.rs:343:26 [INFO] [stdout] | [INFO] [stdout] 343 | fn handle_uci(&self, arg: &[&str]) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_arg` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `arg` [INFO] [stdout] --> kelp_engine/src/kelp/kelp.rs:375:45 [INFO] [stdout] | [INFO] [stdout] 375 | fn handle_unknown(&self, command: &str, arg: &[&str]) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_arg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `arg` [INFO] [stdout] --> kelp_engine/src/kelp/kelp.rs:375:45 [INFO] [stdout] | [INFO] [stdout] 375 | fn handle_unknown(&self, command: &str, arg: &[&str]) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_arg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `friendly_score` [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:497:57 [INFO] [stdout] | [INFO] [stdout] 497 | pub fn mop_eval(&self, color: Color, board: &Board, friendly_score: i32, enemy_score: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_friendly_score` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `enemy_score` [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:497:78 [INFO] [stdout] | [INFO] [stdout] 497 | pub fn mop_eval(&self, color: Color, board: &Board, friendly_score: i32, enemy_score: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enemy_score` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `score` is never read [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:552:17 [INFO] [stdout] | [INFO] [stdout] 552 | let mut score = 0; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `friendly_score` [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:497:57 [INFO] [stdout] | [INFO] [stdout] 497 | pub fn mop_eval(&self, color: Color, board: &Board, friendly_score: i32, enemy_score: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_friendly_score` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `enemy_score` [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:497:78 [INFO] [stdout] | [INFO] [stdout] 497 | pub fn mop_eval(&self, color: Color, board: &Board, friendly_score: i32, enemy_score: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enemy_score` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `score` is never read [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:552:17 [INFO] [stdout] | [INFO] [stdout] 552 | let mut score = 0; [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] --> kelp_engine/src/kelp/search/eval.rs:538:13 [INFO] [stdout] | [INFO] [stdout] 538 | let mut game_phase; [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] --> kelp_engine/src/kelp/search/eval.rs:538:13 [INFO] [stdout] | [INFO] [stdout] 538 | let mut game_phase; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `score` is never read [INFO] [stdout] --> kelp_engine/src/kelp/search/negamax.rs:82:17 [INFO] [stdout] | [INFO] [stdout] 82 | let mut score = Self::MIN; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `score` is never read [INFO] [stdout] --> kelp_engine/src/kelp/search/negamax.rs:82:17 [INFO] [stdout] | [INFO] [stdout] 82 | let mut score = Self::MIN; [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] --> kelp_engine/src/kelp/search/negamax.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | mut beta: i32, [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] --> kelp_engine/src/kelp/search/negamax.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | mut beta: i32, [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `MAX_USAGE` is never used [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:193:11 [INFO] [stdout] | [INFO] [stdout] 190 | impl TimeControl { [INFO] [stdout] | ---------------- associated constant in this implementation [INFO] [stdout] ... [INFO] [stdout] 193 | const MAX_USAGE: f64 = 0.8; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pos_5_pos_test` is never used [INFO] [stdout] --> kelp_engine/src/kelp/mov_gen/perft.rs:207:8 [INFO] [stdout] | [INFO] [stdout] 207 | fn pos_5_pos_test() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `KING_PAWN_SHIELD_SCORES` is never used [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:32:7 [INFO] [stdout] | [INFO] [stdout] 32 | const KING_PAWN_SHIELD_SCORES: [i32; 6] = [ 4, 7, 4, 3, 6, 3]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `FEN` should have a snake case name [INFO] [stdout] --> kelp_engine/src/kelp/board/board.rs:694:13 [INFO] [stdout] | [INFO] [stdout] 694 | let FEN = Fen( [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `fen` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `ERR_FEN` should have a snake case name [INFO] [stdout] --> kelp_engine/src/kelp/board/board.rs:697:13 [INFO] [stdout] | [INFO] [stdout] 697 | let ERR_FEN = Fen( [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `err_fen` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `MAX_USAGE` is never used [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:193:11 [INFO] [stdout] | [INFO] [stdout] 190 | impl TimeControl { [INFO] [stdout] | ---------------- associated constant in this implementation [INFO] [stdout] ... [INFO] [stdout] 193 | const MAX_USAGE: f64 = 0.8; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `KING_PAWN_SHIELD_SCORES` is never used [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:32:7 [INFO] [stdout] | [INFO] [stdout] 32 | const KING_PAWN_SHIELD_SCORES: [i32; 6] = [ 4, 7, 4, 3, 6, 3]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 22 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 19 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking kelp_perft v0.9.0 (/opt/rustwide/workdir/kelp_perft) [INFO] [stdout] warning: unused variable: `starring_fen` [INFO] [stdout] --> kelp_perft/src/main.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | let starring_fen = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1"; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_starring_fen` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `starring_fen` [INFO] [stdout] --> kelp_perft/src/main.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | let starring_fen = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1"; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_starring_fen` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::kelp::board::piece::BoardPiece::*` [INFO] [stdout] --> kelp_engine/src/kelp/kelp.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::kelp::board::piece::BoardPiece::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `log` is imported redundantly [INFO] [stdout] --> kelp_engine/src/kelp/kelp.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use log; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] ::: kelp_engine/src/main.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | extern crate log; [INFO] [stdout] | ----------------- the item `log` is already imported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp::min` [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cmp::min; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:7:30 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::kelp::GamePhase::{self, *}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::kelp::board::piece::BoardPiece::*` [INFO] [stdout] --> kelp_engine/src/kelp/kelp.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::kelp::board::piece::BoardPiece::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `log` is imported redundantly [INFO] [stdout] --> kelp_engine/src/kelp/kelp.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use log; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] ::: kelp_engine/src/main.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | extern crate log; [INFO] [stdout] | ----------------- the item `log` is already imported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp::min` [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cmp::min; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:7:30 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::kelp::GamePhase::{self, *}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `out` is never read [INFO] [stdout] --> kelp_engine/src/kelp/board/board.rs:109:17 [INFO] [stdout] | [INFO] [stdout] 109 | let mut out = BitBoard::empty(); [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 `out` is never read [INFO] [stdout] --> kelp_engine/src/kelp/board/board.rs:121:17 [INFO] [stdout] | [INFO] [stdout] 121 | let mut out = BitBoard::empty(); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `out` is never read [INFO] [stdout] --> kelp_engine/src/kelp/board/board.rs:109:17 [INFO] [stdout] | [INFO] [stdout] 109 | let mut out = BitBoard::empty(); [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 `out` is never read [INFO] [stdout] --> kelp_engine/src/kelp/board/board.rs:121:17 [INFO] [stdout] | [INFO] [stdout] 121 | let mut out = BitBoard::empty(); [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] --> kelp_engine/src/kelp/board/board.rs:467:13 [INFO] [stdout] | [INFO] [stdout] 467 | let mut old_en_passant = self.info.en_passant; [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] --> kelp_engine/src/kelp/board/board.rs:467:13 [INFO] [stdout] | [INFO] [stdout] 467 | let mut old_en_passant = self.info.en_passant; [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: value assigned to `score` is never read [INFO] [stdout] --> kelp_engine/src/kelp/kelp.rs:75:17 [INFO] [stdout] | [INFO] [stdout] 75 | let mut score = 0; [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] --> kelp_engine/src/kelp/kelp.rs:198:17 [INFO] [stdout] | [INFO] [stdout] 198 | let mut input = rx.try_recv(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `arg` [INFO] [stdout] --> kelp_engine/src/kelp/kelp.rs:343:26 [INFO] [stdout] | [INFO] [stdout] 343 | fn handle_uci(&self, arg: &[&str]) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_arg` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `arg` [INFO] [stdout] --> kelp_engine/src/kelp/kelp.rs:375:45 [INFO] [stdout] | [INFO] [stdout] 375 | fn handle_unknown(&self, command: &str, arg: &[&str]) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_arg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `score` is never read [INFO] [stdout] --> kelp_engine/src/kelp/kelp.rs:75:17 [INFO] [stdout] | [INFO] [stdout] 75 | let mut score = 0; [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] --> kelp_engine/src/kelp/kelp.rs:198:17 [INFO] [stdout] | [INFO] [stdout] 198 | let mut input = rx.try_recv(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `arg` [INFO] [stdout] --> kelp_engine/src/kelp/kelp.rs:343:26 [INFO] [stdout] | [INFO] [stdout] 343 | fn handle_uci(&self, arg: &[&str]) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_arg` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `friendly_score` [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:497:57 [INFO] [stdout] | [INFO] [stdout] 497 | pub fn mop_eval(&self, color: Color, board: &Board, friendly_score: i32, enemy_score: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_friendly_score` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `enemy_score` [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:497:78 [INFO] [stdout] | [INFO] [stdout] 497 | pub fn mop_eval(&self, color: Color, board: &Board, friendly_score: i32, enemy_score: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enemy_score` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `score` is never read [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:552:17 [INFO] [stdout] | [INFO] [stdout] 552 | let mut score = 0; [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] --> kelp_engine/src/kelp/search/eval.rs:538:13 [INFO] [stdout] | [INFO] [stdout] 538 | let mut game_phase; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `arg` [INFO] [stdout] --> kelp_engine/src/kelp/kelp.rs:375:45 [INFO] [stdout] | [INFO] [stdout] 375 | fn handle_unknown(&self, command: &str, arg: &[&str]) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_arg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `score` is never read [INFO] [stdout] --> kelp_engine/src/kelp/search/negamax.rs:82:17 [INFO] [stdout] | [INFO] [stdout] 82 | let mut score = Self::MIN; [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] --> kelp_engine/src/kelp/search/negamax.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | mut beta: i32, [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Mate` and `Stalemate` are never constructed [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 38 | pub enum GameState { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 41 | Mate(Color), [INFO] [stdout] | ^^^^ [INFO] [stdout] 42 | Stalemate, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GameState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PAWN_VALUE` is never used [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:49:7 [INFO] [stdout] | [INFO] [stdout] 49 | const PAWN_VALUE: i32 = 100; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `KNIGHT_VALUE` is never used [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:50:7 [INFO] [stdout] | [INFO] [stdout] 50 | const KNIGHT_VALUE: i32 = 300; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BISHOP_VALUE` is never used [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:51:7 [INFO] [stdout] | [INFO] [stdout] 51 | const BISHOP_VALUE: i32 = 350; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ROOK_VALUE` is never used [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:52:7 [INFO] [stdout] | [INFO] [stdout] 52 | const ROOK_VALUE: i32 = 500; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `QUEEN_VALUE` is never used [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:53:7 [INFO] [stdout] | [INFO] [stdout] 53 | const QUEEN_VALUE: i32 = 1000; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `KING_VALUE` is never used [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:54:7 [INFO] [stdout] | [INFO] [stdout] 54 | const KING_VALUE: i32 = 10000; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 65 | impl BoardInfo { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] 66 | pub fn toggle_turn(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn set_turn(&mut self, color: Color) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn set_halfmove_clock(&mut self, value: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | pub fn set_fullmove_clock(&mut self, value: u16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn set_en_passant(&mut self, square: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn get_turn(&self) -> Color { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | pub fn get_halfmove_clock(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn get_fullmove_clock(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn get_en_passant(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_rank_file` and `mirror` are never used [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:131:12 [INFO] [stdout] | [INFO] [stdout] 130 | impl Squares { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 131 | pub fn from_rank_file(rank: u8, file: u8) -> Squares { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn mirror(&self) -> Squares { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `MAX_USAGE` is never used [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:193:11 [INFO] [stdout] | [INFO] [stdout] 190 | impl TimeControl { [INFO] [stdout] | ---------------- associated constant in this implementation [INFO] [stdout] ... [INFO] [stdout] 193 | const MAX_USAGE: f64 = 0.8; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `best_move` is never read [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:237:9 [INFO] [stdout] | [INFO] [stdout] 236 | pub struct SearchMoveResult { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] 237 | pub best_move: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> kelp_engine/src/kelp/board/fen.rs:112:12 [INFO] [stdout] | [INFO] [stdout] 111 | impl Fen { [INFO] [stdout] | -------- associated function in this implementation [INFO] [stdout] 112 | pub fn new(fen: String) -> Fen { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> kelp_engine/src/kelp/board/moves.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 41 | impl Castle { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 42 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_promotion`, `is_capture`, `get_promotion`, `is_en_passant`, and `is_castle` are never used [INFO] [stdout] --> kelp_engine/src/kelp/board/moves.rs:137:12 [INFO] [stdout] | [INFO] [stdout] 118 | impl Move { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 137 | pub fn new_promotion( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | pub fn is_capture(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 168 | pub fn get_promotion(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 175 | pub fn is_en_passant(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn is_castle(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> kelp_engine/src/kelp/board/moves.rs:192:12 [INFO] [stdout] | [INFO] [stdout] 187 | impl MoveList { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 192 | pub fn with_capacity(capacity: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 212 | pub fn pop(&mut self) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn last(&self) -> Option<&Move> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 224 | pub fn extend(&mut self, other: &mut MoveList) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 228 | pub fn sort_by(&mut self, f: impl Fn(&Move, &Move) -> std::cmp::Ordering) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `clear`, `len`, `is_empty`, `last`, `iter`, and `extend` are never used [INFO] [stdout] --> kelp_engine/src/kelp/board/moves.rs:255:12 [INFO] [stdout] | [INFO] [stdout] 247 | impl MoveArray { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 255 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 264 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 268 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 281 | pub fn last(&self) -> Option<&MoveHistory> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 289 | pub fn iter(&self) -> std::slice::Iter> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 293 | pub fn extend(&mut self, other: &mut MoveArray) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `unicode` and `get_value` are never used [INFO] [stdout] --> kelp_engine/src/kelp/board/piece.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 53 | impl BoardPiece { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn unicode(&self) -> &'static str { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn get_value(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `unmake_move`, `get_fen`, and `search_move_lib` are never used [INFO] [stdout] --> kelp_engine/src/kelp/kelp.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl<'a> Kelp<'a> { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn unmake_move(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn get_fen(&self) -> String { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | pub fn search_move_lib(&mut self, depth: usize) -> SearchMoveResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_move_list_ref` and `clear_move_list` are never used [INFO] [stdout] --> kelp_engine/src/kelp/mov_gen/generator.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl<'a> MovGen<'a> { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn get_move_list_ref(&self) -> &MoveList { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn clear_move_list(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `print_attacked` is never used [INFO] [stdout] --> kelp_engine/src/kelp/mov_gen/generator.rs:662:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl<'a> MovGen<'a> { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 662 | pub fn print_attacked(&self, side: Color, board: &Board) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `perft_test` is never used [INFO] [stdout] --> kelp_engine/src/kelp/mov_gen/perft.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn perft_test(depth: u16, board: &mut Board, gen: &mut MovGen, nodes: &mut u64) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pos_5_pos_test` is never used [INFO] [stdout] --> kelp_engine/src/kelp/mov_gen/perft.rs:207:8 [INFO] [stdout] | [INFO] [stdout] 207 | fn pos_5_pos_test() { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `KING_PAWN_SHIELD_SCORES` is never used [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:32:7 [INFO] [stdout] | [INFO] [stdout] 32 | const KING_PAWN_SHIELD_SCORES: [i32; 6] = [ 4, 7, 4, 3, 6, 3]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_rank_mask` and `get_endgame_weight` are never used [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:140:12 [INFO] [stdout] | [INFO] [stdout] 59 | impl Eval { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 140 | pub fn get_rank_mask(&self, sq: Squares) -> BitBoard { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 463 | pub fn get_endgame_weight(&self, color: Color, board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_size` and `get_total_entries` are never used [INFO] [stdout] --> kelp_engine/src/kelp/search/transposition.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl TranspositionTable { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn get_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn get_total_entries(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_keyword`, `is_go`, and `send_ready_ok` are never used [INFO] [stdout] --> kelp_engine/src/kelp/uci_trait.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 2 | pub trait UCI { [INFO] [stdout] | --- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 20 | fn is_keyword(&self, arg: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | fn is_go(&self, arg: &str) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | fn send_ready_ok(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `FEN` should have a snake case name [INFO] [stdout] --> kelp_engine/src/kelp/board/board.rs:694:13 [INFO] [stdout] | [INFO] [stdout] 694 | let FEN = Fen( [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `fen` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `ERR_FEN` should have a snake case name [INFO] [stdout] --> kelp_engine/src/kelp/board/board.rs:697:13 [INFO] [stdout] | [INFO] [stdout] 697 | let ERR_FEN = Fen( [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `err_fen` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `friendly_score` [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:497:57 [INFO] [stdout] | [INFO] [stdout] 497 | pub fn mop_eval(&self, color: Color, board: &Board, friendly_score: i32, enemy_score: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_friendly_score` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `enemy_score` [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:497:78 [INFO] [stdout] | [INFO] [stdout] 497 | pub fn mop_eval(&self, color: Color, board: &Board, friendly_score: i32, enemy_score: i32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enemy_score` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `score` is never read [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:552:17 [INFO] [stdout] | [INFO] [stdout] 552 | let mut score = 0; [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] --> kelp_engine/src/kelp/search/eval.rs:538:13 [INFO] [stdout] | [INFO] [stdout] 538 | let mut game_phase; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 45 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `score` is never read [INFO] [stdout] --> kelp_engine/src/kelp/search/negamax.rs:82:17 [INFO] [stdout] | [INFO] [stdout] 82 | let mut score = Self::MIN; [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] --> kelp_engine/src/kelp/search/negamax.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | mut beta: i32, [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Mate` and `Stalemate` are never constructed [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 38 | pub enum GameState { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 41 | Mate(Color), [INFO] [stdout] | ^^^^ [INFO] [stdout] 42 | Stalemate, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GameState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PAWN_VALUE` is never used [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:49:7 [INFO] [stdout] | [INFO] [stdout] 49 | const PAWN_VALUE: i32 = 100; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `KNIGHT_VALUE` is never used [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:50:7 [INFO] [stdout] | [INFO] [stdout] 50 | const KNIGHT_VALUE: i32 = 300; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BISHOP_VALUE` is never used [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:51:7 [INFO] [stdout] | [INFO] [stdout] 51 | const BISHOP_VALUE: i32 = 350; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ROOK_VALUE` is never used [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:52:7 [INFO] [stdout] | [INFO] [stdout] 52 | const ROOK_VALUE: i32 = 500; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `QUEEN_VALUE` is never used [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:53:7 [INFO] [stdout] | [INFO] [stdout] 53 | const QUEEN_VALUE: i32 = 1000; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `KING_VALUE` is never used [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:54:7 [INFO] [stdout] | [INFO] [stdout] 54 | const KING_VALUE: i32 = 10000; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 65 | impl BoardInfo { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] 66 | pub fn toggle_turn(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn set_turn(&mut self, color: Color) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn set_halfmove_clock(&mut self, value: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | pub fn set_fullmove_clock(&mut self, value: u16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn set_en_passant(&mut self, square: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn get_turn(&self) -> Color { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | pub fn get_halfmove_clock(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn get_fullmove_clock(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn get_en_passant(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_rank_file` and `mirror` are never used [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:131:12 [INFO] [stdout] | [INFO] [stdout] 130 | impl Squares { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 131 | pub fn from_rank_file(rank: u8, file: u8) -> Squares { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn mirror(&self) -> Squares { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `MAX_USAGE` is never used [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:193:11 [INFO] [stdout] | [INFO] [stdout] 190 | impl TimeControl { [INFO] [stdout] | ---------------- associated constant in this implementation [INFO] [stdout] ... [INFO] [stdout] 193 | const MAX_USAGE: f64 = 0.8; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `best_move` is never read [INFO] [stdout] --> kelp_engine/src/kelp/mod.rs:237:9 [INFO] [stdout] | [INFO] [stdout] 236 | pub struct SearchMoveResult { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] 237 | pub best_move: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> kelp_engine/src/kelp/board/fen.rs:112:12 [INFO] [stdout] | [INFO] [stdout] 111 | impl Fen { [INFO] [stdout] | -------- associated function in this implementation [INFO] [stdout] 112 | pub fn new(fen: String) -> Fen { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> kelp_engine/src/kelp/board/moves.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 41 | impl Castle { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 42 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_promotion`, `is_capture`, `get_promotion`, `is_en_passant`, and `is_castle` are never used [INFO] [stdout] --> kelp_engine/src/kelp/board/moves.rs:137:12 [INFO] [stdout] | [INFO] [stdout] 118 | impl Move { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 137 | pub fn new_promotion( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | pub fn is_capture(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 168 | pub fn get_promotion(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 175 | pub fn is_en_passant(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn is_castle(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> kelp_engine/src/kelp/board/moves.rs:192:12 [INFO] [stdout] | [INFO] [stdout] 187 | impl MoveList { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 192 | pub fn with_capacity(capacity: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 200 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 212 | pub fn pop(&mut self) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn last(&self) -> Option<&Move> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 224 | pub fn extend(&mut self, other: &mut MoveList) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 228 | pub fn sort_by(&mut self, f: impl Fn(&Move, &Move) -> std::cmp::Ordering) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `clear`, `len`, `is_empty`, `last`, `iter`, and `extend` are never used [INFO] [stdout] --> kelp_engine/src/kelp/board/moves.rs:255:12 [INFO] [stdout] | [INFO] [stdout] 247 | impl MoveArray { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 255 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 264 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 268 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 281 | pub fn last(&self) -> Option<&MoveHistory> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 289 | pub fn iter(&self) -> std::slice::Iter> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 293 | pub fn extend(&mut self, other: &mut MoveArray) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `unicode` and `get_value` are never used [INFO] [stdout] --> kelp_engine/src/kelp/board/piece.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 53 | impl BoardPiece { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn unicode(&self) -> &'static str { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn get_value(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `unmake_move`, `get_fen`, and `search_move_lib` are never used [INFO] [stdout] --> kelp_engine/src/kelp/kelp.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl<'a> Kelp<'a> { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn unmake_move(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn get_fen(&self) -> String { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | pub fn search_move_lib(&mut self, depth: usize) -> SearchMoveResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_move_list`, `get_move_list_ref`, and `clear_move_list` are never used [INFO] [stdout] --> kelp_engine/src/kelp/mov_gen/generator.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl<'a> MovGen<'a> { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] 22 | pub fn get_move_list(&self) -> MoveList { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn get_move_list_ref(&self) -> &MoveList { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn clear_move_list(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `print_attacked` is never used [INFO] [stdout] --> kelp_engine/src/kelp/mov_gen/generator.rs:662:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl<'a> MovGen<'a> { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 662 | pub fn print_attacked(&self, side: Color, board: &Board) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `perft_driver` is never used [INFO] [stdout] --> kelp_engine/src/kelp/mov_gen/perft.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn perft_driver(depth: u16, board: &mut Board, gen: &mut MovGen, nodes: &mut u64) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `perft_test` is never used [INFO] [stdout] --> kelp_engine/src/kelp/mov_gen/perft.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn perft_test(depth: u16, board: &mut Board, gen: &mut MovGen, nodes: &mut u64) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `KING_PAWN_SHIELD_SCORES` is never used [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:32:7 [INFO] [stdout] | [INFO] [stdout] 32 | const KING_PAWN_SHIELD_SCORES: [i32; 6] = [ 4, 7, 4, 3, 6, 3]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_rank_mask` and `get_endgame_weight` are never used [INFO] [stdout] --> kelp_engine/src/kelp/search/eval.rs:140:12 [INFO] [stdout] | [INFO] [stdout] 59 | impl Eval { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 140 | pub fn get_rank_mask(&self, sq: Squares) -> BitBoard { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 463 | pub fn get_endgame_weight(&self, color: Color, board: &Board) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_size` and `get_total_entries` are never used [INFO] [stdout] --> kelp_engine/src/kelp/search/transposition.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl TranspositionTable { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn get_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn get_total_entries(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_keyword`, `is_go`, and `send_ready_ok` are never used [INFO] [stdout] --> kelp_engine/src/kelp/uci_trait.rs:20:8 [INFO] [stdout] | [INFO] [stdout] 2 | pub trait UCI { [INFO] [stdout] | --- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 20 | fn is_keyword(&self, arg: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | fn is_go(&self, arg: &str) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | fn send_ready_ok(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 43 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.80s [INFO] running `Command { std: "docker" "inspect" "be42c1df82f4687c0c5949a254ba5af1bcd000a40855e5ac5f7aa60e1ee50d76", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "be42c1df82f4687c0c5949a254ba5af1bcd000a40855e5ac5f7aa60e1ee50d76", kill_on_drop: false }` [INFO] [stdout] be42c1df82f4687c0c5949a254ba5af1bcd000a40855e5ac5f7aa60e1ee50d76