[INFO] cloning repository https://github.com/wouterschiedam/chess-engine [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/wouterschiedam/chess-engine" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwouterschiedam%2Fchess-engine", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwouterschiedam%2Fchess-engine'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 9ef3ee1e5126efbfc52baf5ef766fa4402b605f6 [INFO] testing wouterschiedam/chess-engine against 1.84.0 for beta-1.85-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwouterschiedam%2Fchess-engine" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/wouterschiedam/chess-engine on toolchain 1.84.0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.84.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] removed /workspace/builds/worker-5-tc1/source/.cargo/config.toml [INFO] started tweaking git repo https://github.com/wouterschiedam/chess-engine [INFO] finished tweaking git repo https://github.com/wouterschiedam/chess-engine [INFO] tweaked toml for git repo https://github.com/wouterschiedam/chess-engine written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/wouterschiedam/chess-engine 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" "+1.84.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded clap v4.4.13 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:86ea7c7af713d31e8cfdb68a6d0db50b5cf7cbeecde3d112f9f257f747318d36" "/opt/rustwide/cargo-home/bin/cargo" "+1.84.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 7966771e98643b9943f71bd9fdb19e506fb6df0ea388d44b9353e0c8b908a396 [INFO] running `Command { std: "docker" "start" "-a" "7966771e98643b9943f71bd9fdb19e506fb6df0ea388d44b9353e0c8b908a396", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7966771e98643b9943f71bd9fdb19e506fb6df0ea388d44b9353e0c8b908a396", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7966771e98643b9943f71bd9fdb19e506fb6df0ea388d44b9353e0c8b908a396", kill_on_drop: false }` [INFO] [stdout] 7966771e98643b9943f71bd9fdb19e506fb6df0ea388d44b9353e0c8b908a396 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:86ea7c7af713d31e8cfdb68a6d0db50b5cf7cbeecde3d112f9f257f747318d36" "/opt/rustwide/cargo-home/bin/cargo" "+1.84.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c4f1a3077c6d68617181cbca03d51980f1e50ff1ae34e1eda9ff836a4de34464 [INFO] running `Command { std: "docker" "start" "-a" "c4f1a3077c6d68617181cbca03d51980f1e50ff1ae34e1eda9ff836a4de34464", kill_on_drop: false }` [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling proc-macro2 v1.0.75 [INFO] [stderr] Compiling libc v0.2.151 [INFO] [stderr] Compiling unicode-ident v1.0.12 [INFO] [stderr] Compiling autocfg v1.1.0 [INFO] [stderr] Compiling crossbeam-utils v0.8.18 [INFO] [stderr] Compiling serde v1.0.204 [INFO] [stderr] Compiling rayon-core v1.12.0 [INFO] [stderr] Compiling either v1.9.0 [INFO] [stderr] Compiling utf8parse v0.2.1 [INFO] [stderr] Compiling itoa v1.0.11 [INFO] [stderr] Compiling serde_json v1.0.120 [INFO] [stderr] Compiling ryu v1.0.18 [INFO] [stderr] Compiling hashbrown v0.12.3 [INFO] [stderr] Compiling regex-syntax v0.8.4 [INFO] [stderr] Compiling plotters-backend v0.3.6 [INFO] [stderr] Compiling half v2.3.1 [INFO] [stderr] Compiling ciborium-io v0.2.2 [INFO] [stderr] Compiling anstyle-parse v0.2.3 [INFO] [stderr] Compiling anstyle-query v1.0.2 [INFO] [stderr] Compiling colorchoice v1.0.0 [INFO] [stderr] Compiling os_str_bytes v6.6.1 [INFO] [stderr] Compiling anstyle v1.0.4 [INFO] [stderr] Compiling bitflags v1.3.2 [INFO] [stderr] Compiling clap_lex v0.2.4 [INFO] [stderr] Compiling anstream v0.6.5 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling memchr v2.7.1 [INFO] [stderr] Compiling cast v0.3.0 [INFO] [stderr] Compiling plotters-svg v0.3.6 [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling strsim v0.10.0 [INFO] [stderr] Compiling clap_lex v0.6.0 [INFO] [stderr] Compiling ppv-lite86 v0.2.17 [INFO] [stderr] Compiling textwrap v0.16.1 [INFO] [stderr] Compiling num-traits v0.2.17 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling clap_builder v4.4.12 [INFO] [stderr] Compiling walkdir v2.5.0 [INFO] [stderr] Compiling bytes v1.5.0 [INFO] [stderr] Compiling oorandom v11.1.4 [INFO] [stderr] Compiling anes v0.1.6 [INFO] [stderr] Compiling pin-project-lite v0.2.13 [INFO] [stderr] Compiling crossbeam-epoch v0.9.17 [INFO] [stderr] Compiling crossbeam-channel v0.5.10 [INFO] [stderr] Compiling quote v1.0.35 [INFO] [stderr] Compiling csv-core v0.1.11 [INFO] [stderr] Compiling crossbeam-deque v0.8.4 [INFO] [stderr] Compiling getrandom v0.2.11 [INFO] [stderr] Compiling syn v2.0.48 [INFO] [stderr] Compiling clap v3.2.25 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling signal-hook-registry v1.4.1 [INFO] [stderr] Compiling mio v0.8.10 [INFO] [stderr] Compiling colored v2.1.0 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling criterion-plot v0.5.0 [INFO] [stderr] Compiling regex-automata v0.4.7 [INFO] [stderr] Compiling rayon v1.8.0 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling tokio v1.35.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling plotters v0.3.6 [INFO] [stderr] Compiling clap v4.4.13 [INFO] [stderr] Compiling regex v1.10.5 [INFO] [stderr] Compiling serde_derive v1.0.204 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling csv v1.3.0 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling criterion v0.4.0 [INFO] [stderr] Compiling chess-engine v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `SearchRefs` [INFO] [stdout] --> src/engine/comm_report.rs:2:152 [INFO] [stdout] | [INFO] [stdout] 2 | ...zzle, search::defs::{SearchControl, SearchMode, SearchParams, SearchRefs, SearchType} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> src/engine/comm_report.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::error::Error` [INFO] [stdout] --> src/engine/comm_report.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::error::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> src/engine/utils.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::error::Error` [INFO] [stdout] --> src/engine/utils.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::error::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `search::Search` [INFO] [stdout] --> src/engine/utils.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | search::Search, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `extra` [INFO] [stdout] --> src/extra/cmdline.rs:176:17 [INFO] [stdout] | [INFO] [stdout] 176 | if cfg!(feature = "extra") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `extra` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fs::File` [INFO] [stdout] --> src/movegen.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | fs::File, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `defs::MoveData` [INFO] [stdout] --> src/movegen.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use defs::MoveData; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ranks`, `print_position`, and `self` [INFO] [stdout] --> src/movegen.rs:18:24 [INFO] [stdout] | [INFO] [stdout] 18 | defs::{Pieces, Ranks, Squares, BB_RANKS, BB_SQUARES}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | print::{self, print_position}, [INFO] [stdout] | ^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/movegen.rs:454:24 [INFO] [stdout] | [INFO] [stdout] 454 | if (board.make_move(*mov, &movegen)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 454 - if (board.make_move(*mov, &movegen)) { [INFO] [stdout] 454 + if board.make_move(*mov, &movegen) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc` and `Mutex` [INFO] [stdout] --> src/puzzle.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | use std::sync::{Arc, Mutex}; [INFO] [stdout] | ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> src/puzzle.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufWriter` and `Write` [INFO] [stdout] --> src/puzzle.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{Write, BufWriter}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `csv::Reader` [INFO] [stdout] --> src/puzzle.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use csv::Reader; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::board::Board` [INFO] [stdout] --> src/puzzle.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::board::Board; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `MoveGenerator` and `self` [INFO] [stdout] --> src/puzzle.rs:9:22 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::movegen::{self, MoveGenerator}; [INFO] [stdout] | ^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `INF` and `SearchRefs` [INFO] [stdout] --> src/puzzle.rs:10:27 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::search::defs::{SearchRefs, INF}; [INFO] [stdout] | ^^^^^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::search::Search` [INFO] [stdout] --> src/puzzle.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::search::Search; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/comm/uci.rs:439:13 [INFO] [stdout] | [INFO] [stdout] 439 | let mut moves: Vec = Vec::new(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `opponent` [INFO] [stdout] --> src/movegen.rs:329:13 [INFO] [stdout] | [INFO] [stdout] 329 | let opponent = board.side_to_move(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_opponent` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `eval_score` is never read [INFO] [stdout] --> src/search/alpha_beta.rs:142:21 [INFO] [stdout] | [INFO] [stdout] 142 | let mut eval_score = DRAW; [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 `halt` is never read [INFO] [stdout] --> src/search.rs:200:17 [INFO] [stdout] | [INFO] [stdout] 200 | halt = true; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `halt` is never read [INFO] [stdout] --> src/search.rs:203:17 [INFO] [stdout] | [INFO] [stdout] 203 | halt = true; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `quit` is never read [INFO] [stdout] --> src/search.rs:204:17 [INFO] [stdout] | [INFO] [stdout] 204 | quit = true; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `halt` is assigned to, but never used [INFO] [stdout] --> src/search.rs:156:13 [INFO] [stdout] | [INFO] [stdout] 156 | mut halt: bool, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_halt` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `quit` is assigned to, but never used [INFO] [stdout] --> src/search.rs:157:13 [INFO] [stdout] | [INFO] [stdout] 157 | mut quit: bool, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_quit` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `build` and `generate_move_data` are never used [INFO] [stdout] --> src/board.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl Board { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn build() -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 197 | pub fn generate_move_data(&self, from: &usize, to: &Option, side: bool) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SQUARE_BITBOARD` is never used [INFO] [stdout] --> src/board/defs.rs:23:11 [INFO] [stdout] | [INFO] [stdout] 23 | pub const SQUARE_BITBOARD: [usize; 64] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constants `B` and `G` are never used [INFO] [stdout] --> src/board/defs.rs:104:15 [INFO] [stdout] | [INFO] [stdout] 102 | impl Files { [INFO] [stdout] | ---------- associated constants in this implementation [INFO] [stdout] 103 | pub const A: usize = 0; [INFO] [stdout] 104 | pub const B: usize = 1; [INFO] [stdout] | ^ [INFO] [stdout] 105 | pub const G: usize = 6; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constants `R2` and `R7` are never used [INFO] [stdout] --> src/board/defs.rs:112:15 [INFO] [stdout] | [INFO] [stdout] 110 | impl Ranks { [INFO] [stdout] | ---------- associated constants in this implementation [INFO] [stdout] 111 | pub const R1: usize = 0; [INFO] [stdout] 112 | pub const R2: usize = 1; [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub const R7: usize = 6; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constants `RANKS` and `FILES` are never used [INFO] [stdout] --> src/board/defs.rs:152:15 [INFO] [stdout] | [INFO] [stdout] 151 | impl RangeOf { [INFO] [stdout] | ------------ associated constants in this implementation [INFO] [stdout] 152 | pub const RANKS: RangeInclusive = (Ranks::R1 as u8)..=(Ranks::R8 as u8); [INFO] [stdout] | ^^^^^ [INFO] [stdout] 153 | pub const FILES: RangeInclusive = (Files::A as u8)..=(Files::H as u8); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `as_string` is never used [INFO] [stdout] --> src/board/gamestate.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl GameState { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn as_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `clear` is never used [INFO] [stdout] --> src/board/history.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl History { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_protocol_name` is never used [INFO] [stdout] --> src/comm.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 17 | pub trait IComm { [INFO] [stdout] | ----- method in this trait [INFO] [stdout] ... [INFO] [stdout] 26 | fn get_protocol_name(&self) -> &'static str; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `SolvePuzzles`, `PrintHistory`, and `PrintHelp` are never constructed [INFO] [stdout] --> src/comm.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub enum CommControl { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 42 | SolvePuzzles, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | PrintHistory, // PrintHistory, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 46 | PrintHelp, // PrintHelp, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CommControl` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `threads` is never read [INFO] [stdout] --> src/engine/defs.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Settings { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 5 | pub threads: usize, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Settings` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Hash`, `ClearHash`, and `Nothing` are never constructed [INFO] [stdout] --> src/engine/defs.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 19 | pub enum EngineOptionName { [INFO] [stdout] | ---------------- variants in this enum [INFO] [stdout] 20 | Hash(String), [INFO] [stdout] | ^^^^ [INFO] [stdout] 21 | ClearHash, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 22 | Nothing, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EngineOptionName` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `UiElement` is never used [INFO] [stdout] --> src/engine/defs.rs:24:10 [INFO] [stdout] | [INFO] [stdout] 24 | pub enum UiElement { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EngineOption` is never constructed [INFO] [stdout] --> src/engine/defs.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct EngineOption { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/engine/defs.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl EngineOption { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] 37 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constants `HASH_MIN`, `HASH_MAX_64_BIT`, and `HASH_MAX_32_BIT` are never used [INFO] [stdout] --> src/engine/defs.rs:57:15 [INFO] [stdout] | [INFO] [stdout] 55 | impl EngineOptionDefaults { [INFO] [stdout] | ------------------------- associated constants in this implementation [INFO] [stdout] 56 | pub const HASH_DEFAULT: usize = 32; [INFO] [stdout] 57 | pub const HASH_MIN: usize = 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 58 | pub const HASH_MAX_64_BIT: usize = 65536; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 59 | pub const HASH_MAX_32_BIT: usize = 2048; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `total_entries` is never read [INFO] [stdout] --> src/engine/transposition.rs:169:5 [INFO] [stdout] | [INFO] [stdout] 165 | pub struct TT { [INFO] [stdout] | -- field in this struct [INFO] [stdout] ... [INFO] [stdout] 169 | total_entries: usize, // Total number of entries the table can hold [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `resize` and `clear` are never used [INFO] [stdout] --> src/engine/transposition.rs:189:12 [INFO] [stdout] | [INFO] [stdout] 173 | impl TT { [INFO] [stdout] | --------------------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn resize(&mut self, megabytes: usize) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `PERFT_DEFAULT` is never used [INFO] [stdout] --> src/extra/cmdline.rs:19:11 [INFO] [stdout] | [INFO] [stdout] 9 | impl CmdLineArgs { [INFO] [stdout] | ---------------- associated constant in this implementation [INFO] [stdout] ... [INFO] [stdout] 19 | const PERFT_DEFAULT: i8 = 0; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `comm` and `perft` are never used [INFO] [stdout] --> src/extra/cmdline.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 65 | impl Cmdline { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn comm(&self) -> String { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn perft(&self) -> i8 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Mask` is never constructed [INFO] [stdout] --> src/movegen/defs.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | pub struct Mask; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated constants are never used [INFO] [stdout] --> src/movegen/defs.rs:32:15 [INFO] [stdout] | [INFO] [stdout] 31 | impl Mask { [INFO] [stdout] | --------- associated constants in this implementation [INFO] [stdout] 32 | pub const PIECE: usize = 0x3F; [INFO] [stdout] | ^^^^^ [INFO] [stdout] 33 | pub const FROM_SQ: usize = 0x3F << Shift::FROM_SQ; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 34 | pub const TO_SQ: usize = 0x3F << Shift::TO_SQ; [INFO] [stdout] | ^^^^^ [INFO] [stdout] 35 | pub const CAPTURE: usize = 0xF << Shift::CAPTURE; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 36 | pub const EN_PASSANT: usize = 0x1 << Shift::EN_PASSANT; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 37 | pub const DOUBLE_STEP: usize = 0x1 << Shift::DOUBLE_STEP; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 38 | pub const CASTLING: usize = 0x1 << Shift::CASTLING; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MoveData` is never constructed [INFO] [stdout] --> src/movegen/defs.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 41 | pub struct MoveData { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_bits` is never used [INFO] [stdout] --> src/movegen/defs.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 51 | impl MoveData { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 52 | pub fn from_bits(move_data: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_bit` is never used [INFO] [stdout] --> src/movegen/defs.rs:215:8 [INFO] [stdout] | [INFO] [stdout] 215 | pub fn get_bit(bitboard: &u64, square: usize) -> u64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pop_bit` is never used [INFO] [stdout] --> src/movegen/defs.rs:223:8 [INFO] [stdout] | [INFO] [stdout] 223 | pub fn pop_bit(bitboard: &mut u64, square: usize) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_least_significant_1st_bit` is never used [INFO] [stdout] --> src/movegen/defs.rs:229:8 [INFO] [stdout] | [INFO] [stdout] 229 | pub fn get_least_significant_1st_bit(bitboard: &u64) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `SearchCurrentMove` and `SearchStats` are never constructed [INFO] [stdout] --> src/search/defs.rs:239:5 [INFO] [stdout] | [INFO] [stdout] 235 | pub enum SearchReport { [INFO] [stdout] | ------------ variants in this enum [INFO] [stdout] ... [INFO] [stdout] 239 | SearchCurrentMove(SearchCurrentMove), // Move currently searched. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 240 | SearchStats(SearchStats), // General search statistics [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SearchReport` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `solution_moves` is never read [INFO] [stdout] --> src/puzzle.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct Puzzle { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 16 | pub fen: String, [INFO] [stdout] 17 | pub solution_moves: Vec, // Moves in UCI format, e.g. ["e2e4", "d7d5"] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Puzzle` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `must_use` that must be used [INFO] [stdout] --> src/comm/uci.rs:397:9 [INFO] [stdout] | [INFO] [stdout] 397 | / format!( [INFO] [stdout] 398 | | "info currmove {} currmovenumber {}", [INFO] [stdout] 399 | | current.curr_move.as_string(), [INFO] [stdout] 400 | | current.curr_move_number [INFO] [stdout] 401 | | ); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this warning originates in the macro `format` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/engine/comm_report.rs:100:29 [INFO] [stdout] | [INFO] [stdout] 100 | ... self.solve_puzzle(puzzle, sp); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 100 | let _ = self.solve_puzzle(puzzle, sp); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/engine/utils.rs:133:9 [INFO] [stdout] | [INFO] [stdout] 133 | self.board.lock().expect("error locking board").read_fen(Some(&puzzle.fen)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 133 | let _ = self.board.lock().expect("error locking board").read_fen(Some(&puzzle.fen)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `PuzzleId` should have a snake case name [INFO] [stdout] --> src/puzzle.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | PuzzleId: String, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `puzzle_id` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `FEN` should have a snake case name [INFO] [stdout] --> src/puzzle.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | FEN: String, [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `fen` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Moves` should have a snake case name [INFO] [stdout] --> src/puzzle.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | Moves: String, // UCI format moves, comma-separated [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `moves` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Rating` should have a snake case name [INFO] [stdout] --> src/puzzle.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | Rating: String, [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `rating` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `RatingDeviation` should have a snake case name [INFO] [stdout] --> src/puzzle.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | RatingDeviation: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `rating_deviation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Popularity` should have a snake case name [INFO] [stdout] --> src/puzzle.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | Popularity: String, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `popularity` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `NbPlays` should have a snake case name [INFO] [stdout] --> src/puzzle.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | NbPlays: String, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `nb_plays` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Themes` should have a snake case name [INFO] [stdout] --> src/puzzle.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | Themes: String, [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `themes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `GameUrl` should have a snake case name [INFO] [stdout] --> src/puzzle.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | GameUrl: String, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `game_url` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 25.05s [INFO] running `Command { std: "docker" "inspect" "c4f1a3077c6d68617181cbca03d51980f1e50ff1ae34e1eda9ff836a4de34464", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c4f1a3077c6d68617181cbca03d51980f1e50ff1ae34e1eda9ff836a4de34464", kill_on_drop: false }` [INFO] [stdout] c4f1a3077c6d68617181cbca03d51980f1e50ff1ae34e1eda9ff836a4de34464 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:86ea7c7af713d31e8cfdb68a6d0db50b5cf7cbeecde3d112f9f257f747318d36" "/opt/rustwide/cargo-home/bin/cargo" "+1.84.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a3674a591736a566fb433c43eeef23e405002314a6b10e7ca14245453284f014 [INFO] running `Command { std: "docker" "start" "-a" "a3674a591736a566fb433c43eeef23e405002314a6b10e7ca14245453284f014", kill_on_drop: false }` [INFO] [stderr] Compiling chess-engine v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `SearchRefs` [INFO] [stdout] --> src/engine/comm_report.rs:2:152 [INFO] [stdout] | [INFO] [stdout] 2 | ...zzle, search::defs::{SearchControl, SearchMode, SearchParams, SearchRefs, SearchType} [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> src/engine/comm_report.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::error::Error` [INFO] [stdout] --> src/engine/comm_report.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::error::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> src/engine/utils.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::error::Error` [INFO] [stdout] --> src/engine/utils.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::error::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `search::Search` [INFO] [stdout] --> src/engine/utils.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | search::Search, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `extra` [INFO] [stdout] --> src/extra/cmdline.rs:176:17 [INFO] [stdout] | [INFO] [stdout] 176 | if cfg!(feature = "extra") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `extra` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fs::File` [INFO] [stdout] --> src/movegen.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | fs::File, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `defs::MoveData` [INFO] [stdout] --> src/movegen.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use defs::MoveData; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Ranks`, `print_position`, and `self` [INFO] [stdout] --> src/movegen.rs:18:24 [INFO] [stdout] | [INFO] [stdout] 18 | defs::{Pieces, Ranks, Squares, BB_RANKS, BB_SQUARES}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | print::{self, print_position}, [INFO] [stdout] | ^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/movegen.rs:454:24 [INFO] [stdout] | [INFO] [stdout] 454 | if (board.make_move(*mov, &movegen)) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 454 - if (board.make_move(*mov, &movegen)) { [INFO] [stdout] 454 + if board.make_move(*mov, &movegen) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arc` and `Mutex` [INFO] [stdout] --> src/puzzle.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | use std::sync::{Arc, Mutex}; [INFO] [stdout] | ^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> src/puzzle.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufWriter` and `Write` [INFO] [stdout] --> src/puzzle.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{Write, BufWriter}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `csv::Reader` [INFO] [stdout] --> src/puzzle.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use csv::Reader; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::board::Board` [INFO] [stdout] --> src/puzzle.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::board::Board; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `MoveGenerator` and `self` [INFO] [stdout] --> src/puzzle.rs:9:22 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::movegen::{self, MoveGenerator}; [INFO] [stdout] | ^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `INF` and `SearchRefs` [INFO] [stdout] --> src/puzzle.rs:10:27 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::search::defs::{SearchRefs, INF}; [INFO] [stdout] | ^^^^^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::search::Search` [INFO] [stdout] --> src/puzzle.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::search::Search; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/comm/uci.rs:439:13 [INFO] [stdout] | [INFO] [stdout] 439 | let mut moves: Vec = Vec::new(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `opponent` [INFO] [stdout] --> src/movegen.rs:329:13 [INFO] [stdout] | [INFO] [stdout] 329 | let opponent = board.side_to_move(); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_opponent` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `eval_score` is never read [INFO] [stdout] --> src/search/alpha_beta.rs:142:21 [INFO] [stdout] | [INFO] [stdout] 142 | let mut eval_score = DRAW; [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 `halt` is never read [INFO] [stdout] --> src/search.rs:200:17 [INFO] [stdout] | [INFO] [stdout] 200 | halt = true; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `halt` is never read [INFO] [stdout] --> src/search.rs:203:17 [INFO] [stdout] | [INFO] [stdout] 203 | halt = true; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `quit` is never read [INFO] [stdout] --> src/search.rs:204:17 [INFO] [stdout] | [INFO] [stdout] 204 | quit = true; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `halt` is assigned to, but never used [INFO] [stdout] --> src/search.rs:156:13 [INFO] [stdout] | [INFO] [stdout] 156 | mut halt: bool, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_halt` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `quit` is assigned to, but never used [INFO] [stdout] --> src/search.rs:157:13 [INFO] [stdout] | [INFO] [stdout] 157 | mut quit: bool, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_quit` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `build` and `generate_move_data` are never used [INFO] [stdout] --> src/board.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl Board { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn build() -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 197 | pub fn generate_move_data(&self, from: &usize, to: &Option, side: bool) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SQUARE_BITBOARD` is never used [INFO] [stdout] --> src/board/defs.rs:23:11 [INFO] [stdout] | [INFO] [stdout] 23 | pub const SQUARE_BITBOARD: [usize; 64] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constants `B` and `G` are never used [INFO] [stdout] --> src/board/defs.rs:104:15 [INFO] [stdout] | [INFO] [stdout] 102 | impl Files { [INFO] [stdout] | ---------- associated constants in this implementation [INFO] [stdout] 103 | pub const A: usize = 0; [INFO] [stdout] 104 | pub const B: usize = 1; [INFO] [stdout] | ^ [INFO] [stdout] 105 | pub const G: usize = 6; [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constants `R2` and `R7` are never used [INFO] [stdout] --> src/board/defs.rs:112:15 [INFO] [stdout] | [INFO] [stdout] 110 | impl Ranks { [INFO] [stdout] | ---------- associated constants in this implementation [INFO] [stdout] 111 | pub const R1: usize = 0; [INFO] [stdout] 112 | pub const R2: usize = 1; [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub const R7: usize = 6; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constants `RANKS` and `FILES` are never used [INFO] [stdout] --> src/board/defs.rs:152:15 [INFO] [stdout] | [INFO] [stdout] 151 | impl RangeOf { [INFO] [stdout] | ------------ associated constants in this implementation [INFO] [stdout] 152 | pub const RANKS: RangeInclusive = (Ranks::R1 as u8)..=(Ranks::R8 as u8); [INFO] [stdout] | ^^^^^ [INFO] [stdout] 153 | pub const FILES: RangeInclusive = (Files::A as u8)..=(Files::H as u8); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `as_string` is never used [INFO] [stdout] --> src/board/gamestate.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl GameState { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn as_string(&self) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `clear` is never used [INFO] [stdout] --> src/board/history.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl History { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_protocol_name` is never used [INFO] [stdout] --> src/comm.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 17 | pub trait IComm { [INFO] [stdout] | ----- method in this trait [INFO] [stdout] ... [INFO] [stdout] 26 | fn get_protocol_name(&self) -> &'static str; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `SolvePuzzles`, `PrintHistory`, and `PrintHelp` are never constructed [INFO] [stdout] --> src/comm.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub enum CommControl { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 42 | SolvePuzzles, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | PrintHistory, // PrintHistory, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 46 | PrintHelp, // PrintHelp, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CommControl` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `threads` is never read [INFO] [stdout] --> src/engine/defs.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Settings { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 5 | pub threads: usize, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Settings` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Hash`, `ClearHash`, and `Nothing` are never constructed [INFO] [stdout] --> src/engine/defs.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 19 | pub enum EngineOptionName { [INFO] [stdout] | ---------------- variants in this enum [INFO] [stdout] 20 | Hash(String), [INFO] [stdout] | ^^^^ [INFO] [stdout] 21 | ClearHash, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 22 | Nothing, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EngineOptionName` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `UiElement` is never used [INFO] [stdout] --> src/engine/defs.rs:24:10 [INFO] [stdout] | [INFO] [stdout] 24 | pub enum UiElement { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EngineOption` is never constructed [INFO] [stdout] --> src/engine/defs.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct EngineOption { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/engine/defs.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl EngineOption { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] 37 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constants `HASH_MIN`, `HASH_MAX_64_BIT`, and `HASH_MAX_32_BIT` are never used [INFO] [stdout] --> src/engine/defs.rs:57:15 [INFO] [stdout] | [INFO] [stdout] 55 | impl EngineOptionDefaults { [INFO] [stdout] | ------------------------- associated constants in this implementation [INFO] [stdout] 56 | pub const HASH_DEFAULT: usize = 32; [INFO] [stdout] 57 | pub const HASH_MIN: usize = 0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 58 | pub const HASH_MAX_64_BIT: usize = 65536; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 59 | pub const HASH_MAX_32_BIT: usize = 2048; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `total_entries` is never read [INFO] [stdout] --> src/engine/transposition.rs:169:5 [INFO] [stdout] | [INFO] [stdout] 165 | pub struct TT { [INFO] [stdout] | -- field in this struct [INFO] [stdout] ... [INFO] [stdout] 169 | total_entries: usize, // Total number of entries the table can hold [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `resize` and `clear` are never used [INFO] [stdout] --> src/engine/transposition.rs:189:12 [INFO] [stdout] | [INFO] [stdout] 173 | impl TT { [INFO] [stdout] | --------------------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn resize(&mut self, megabytes: usize) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `PERFT_DEFAULT` is never used [INFO] [stdout] --> src/extra/cmdline.rs:19:11 [INFO] [stdout] | [INFO] [stdout] 9 | impl CmdLineArgs { [INFO] [stdout] | ---------------- associated constant in this implementation [INFO] [stdout] ... [INFO] [stdout] 19 | const PERFT_DEFAULT: i8 = 0; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `comm` and `perft` are never used [INFO] [stdout] --> src/extra/cmdline.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 65 | impl Cmdline { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn comm(&self) -> String { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn perft(&self) -> i8 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Mask` is never constructed [INFO] [stdout] --> src/movegen/defs.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | pub struct Mask; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated constants are never used [INFO] [stdout] --> src/movegen/defs.rs:32:15 [INFO] [stdout] | [INFO] [stdout] 31 | impl Mask { [INFO] [stdout] | --------- associated constants in this implementation [INFO] [stdout] 32 | pub const PIECE: usize = 0x3F; [INFO] [stdout] | ^^^^^ [INFO] [stdout] 33 | pub const FROM_SQ: usize = 0x3F << Shift::FROM_SQ; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 34 | pub const TO_SQ: usize = 0x3F << Shift::TO_SQ; [INFO] [stdout] | ^^^^^ [INFO] [stdout] 35 | pub const CAPTURE: usize = 0xF << Shift::CAPTURE; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 36 | pub const EN_PASSANT: usize = 0x1 << Shift::EN_PASSANT; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 37 | pub const DOUBLE_STEP: usize = 0x1 << Shift::DOUBLE_STEP; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 38 | pub const CASTLING: usize = 0x1 << Shift::CASTLING; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MoveData` is never constructed [INFO] [stdout] --> src/movegen/defs.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 41 | pub struct MoveData { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_bits` is never used [INFO] [stdout] --> src/movegen/defs.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 51 | impl MoveData { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 52 | pub fn from_bits(move_data: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_bit` is never used [INFO] [stdout] --> src/movegen/defs.rs:215:8 [INFO] [stdout] | [INFO] [stdout] 215 | pub fn get_bit(bitboard: &u64, square: usize) -> u64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pop_bit` is never used [INFO] [stdout] --> src/movegen/defs.rs:223:8 [INFO] [stdout] | [INFO] [stdout] 223 | pub fn pop_bit(bitboard: &mut u64, square: usize) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_least_significant_1st_bit` is never used [INFO] [stdout] --> src/movegen/defs.rs:229:8 [INFO] [stdout] | [INFO] [stdout] 229 | pub fn get_least_significant_1st_bit(bitboard: &u64) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `SearchCurrentMove` and `SearchStats` are never constructed [INFO] [stdout] --> src/search/defs.rs:239:5 [INFO] [stdout] | [INFO] [stdout] 235 | pub enum SearchReport { [INFO] [stdout] | ------------ variants in this enum [INFO] [stdout] ... [INFO] [stdout] 239 | SearchCurrentMove(SearchCurrentMove), // Move currently searched. [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 240 | SearchStats(SearchStats), // General search statistics [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SearchReport` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `solution_moves` is never read [INFO] [stdout] --> src/puzzle.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct Puzzle { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 16 | pub fen: String, [INFO] [stdout] 17 | pub solution_moves: Vec, // Moves in UCI format, e.g. ["e2e4", "d7d5"] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Puzzle` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `must_use` that must be used [INFO] [stdout] --> src/comm/uci.rs:397:9 [INFO] [stdout] | [INFO] [stdout] 397 | / format!( [INFO] [stdout] 398 | | "info currmove {} currmovenumber {}", [INFO] [stdout] 399 | | current.curr_move.as_string(), [INFO] [stdout] 400 | | current.curr_move_number [INFO] [stdout] 401 | | ); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this warning originates in the macro `format` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/engine/comm_report.rs:100:29 [INFO] [stdout] | [INFO] [stdout] 100 | ... self.solve_puzzle(puzzle, sp); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 100 | let _ = self.solve_puzzle(puzzle, sp); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/engine/utils.rs:133:9 [INFO] [stdout] | [INFO] [stdout] 133 | self.board.lock().expect("error locking board").read_fen(Some(&puzzle.fen)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 133 | let _ = self.board.lock().expect("error locking board").read_fen(Some(&puzzle.fen)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `PuzzleId` should have a snake case name [INFO] [stdout] --> src/puzzle.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | PuzzleId: String, [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `puzzle_id` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `FEN` should have a snake case name [INFO] [stdout] --> src/puzzle.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | FEN: String, [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `fen` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Moves` should have a snake case name [INFO] [stdout] --> src/puzzle.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | Moves: String, // UCI format moves, comma-separated [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `moves` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Rating` should have a snake case name [INFO] [stdout] --> src/puzzle.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 25 | Rating: String, [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `rating` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `RatingDeviation` should have a snake case name [INFO] [stdout] --> src/puzzle.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | RatingDeviation: String, [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `rating_deviation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Popularity` should have a snake case name [INFO] [stdout] --> src/puzzle.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | Popularity: String, [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `popularity` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `NbPlays` should have a snake case name [INFO] [stdout] --> src/puzzle.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | NbPlays: String, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `nb_plays` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Themes` should have a snake case name [INFO] [stdout] --> src/puzzle.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | Themes: String, [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `themes` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `GameUrl` should have a snake case name [INFO] [stdout] --> src/puzzle.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | GameUrl: String, [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `game_url` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.71s [INFO] running `Command { std: "docker" "inspect" "a3674a591736a566fb433c43eeef23e405002314a6b10e7ca14245453284f014", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a3674a591736a566fb433c43eeef23e405002314a6b10e7ca14245453284f014", kill_on_drop: false }` [INFO] [stdout] a3674a591736a566fb433c43eeef23e405002314a6b10e7ca14245453284f014 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:86ea7c7af713d31e8cfdb68a6d0db50b5cf7cbeecde3d112f9f257f747318d36" "/opt/rustwide/cargo-home/bin/cargo" "+1.84.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 3404a12ded6be2dd090533b388c01313b29a91afa83d2cdb0f979b55a862f748 [INFO] running `Command { std: "docker" "start" "-a" "3404a12ded6be2dd090533b388c01313b29a91afa83d2cdb0f979b55a862f748", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `SearchRefs` [INFO] [stderr] --> src/engine/comm_report.rs:2:152 [INFO] [stderr] | [INFO] [stderr] 2 | ...zzle, search::defs::{SearchControl, SearchMode, SearchParams, SearchRefs, SearchType} [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fs::File` [INFO] [stderr] --> src/engine/comm_report.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::fs::File; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::error::Error` [INFO] [stderr] --> src/engine/comm_report.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use std::error::Error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fs::File` [INFO] [stderr] --> src/engine/utils.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::fs::File; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::error::Error` [INFO] [stderr] --> src/engine/utils.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::error::Error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `search::Search` [INFO] [stderr] --> src/engine/utils.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | search::Search, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition value: `extra` [INFO] [stderr] --> src/extra/cmdline.rs:176:17 [INFO] [stderr] | [INFO] [stderr] 176 | if cfg!(feature = "extra") { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stderr] | [INFO] [stderr] = note: no expected values for `feature` [INFO] [stderr] = help: consider adding `extra` as a feature in `Cargo.toml` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `fs::File` [INFO] [stderr] --> src/movegen.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | fs::File, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `defs::MoveData` [INFO] [stderr] --> src/movegen.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | use defs::MoveData; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Ranks`, `print_position`, and `self` [INFO] [stderr] --> src/movegen.rs:18:24 [INFO] [stderr] | [INFO] [stderr] 18 | defs::{Pieces, Ranks, Squares, BB_RANKS, BB_SQUARES}, [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 24 | print::{self, print_position}, [INFO] [stderr] | ^^^^ ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/movegen.rs:454:24 [INFO] [stderr] | [INFO] [stderr] 454 | if (board.make_move(*mov, &movegen)) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 454 - if (board.make_move(*mov, &movegen)) { [INFO] [stderr] 454 + if board.make_move(*mov, &movegen) { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Arc` and `Mutex` [INFO] [stderr] --> src/puzzle.rs:1:17 [INFO] [stderr] | [INFO] [stderr] 1 | use std::sync::{Arc, Mutex}; [INFO] [stderr] | ^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fs::File` [INFO] [stderr] --> src/puzzle.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::fs::File; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BufWriter` and `Write` [INFO] [stderr] --> src/puzzle.rs:3:15 [INFO] [stderr] | [INFO] [stderr] 3 | use std::io::{Write, BufWriter}; [INFO] [stderr] | ^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `csv::Reader` [INFO] [stderr] --> src/puzzle.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use csv::Reader; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::board::Board` [INFO] [stderr] --> src/puzzle.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use crate::board::Board; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `MoveGenerator` and `self` [INFO] [stderr] --> src/puzzle.rs:9:22 [INFO] [stderr] | [INFO] [stderr] 9 | use crate::movegen::{self, MoveGenerator}; [INFO] [stderr] | ^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `INF` and `SearchRefs` [INFO] [stderr] --> src/puzzle.rs:10:27 [INFO] [stderr] | [INFO] [stderr] 10 | use crate::search::defs::{SearchRefs, INF}; [INFO] [stderr] | ^^^^^^^^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::search::Search` [INFO] [stderr] --> src/puzzle.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use crate::search::Search; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/comm/uci.rs:439:13 [INFO] [stderr] | [INFO] [stderr] 439 | let mut moves: Vec = Vec::new(); [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `opponent` [INFO] [stderr] --> src/movegen.rs:329:13 [INFO] [stderr] | [INFO] [stderr] 329 | let opponent = board.side_to_move(); [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_opponent` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `eval_score` is never read [INFO] [stderr] --> src/search/alpha_beta.rs:142:21 [INFO] [stderr] | [INFO] [stderr] 142 | let mut eval_score = DRAW; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `halt` is never read [INFO] [stderr] --> src/search.rs:200:17 [INFO] [stderr] | [INFO] [stderr] 200 | halt = true; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `halt` is never read [INFO] [stderr] --> src/search.rs:203:17 [INFO] [stderr] | [INFO] [stderr] 203 | halt = true; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `quit` is never read [INFO] [stderr] --> src/search.rs:204:17 [INFO] [stderr] | [INFO] [stderr] 204 | quit = true; [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: variable `halt` is assigned to, but never used [INFO] [stderr] --> src/search.rs:156:13 [INFO] [stderr] | [INFO] [stderr] 156 | mut halt: bool, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_halt` instead [INFO] [stderr] [INFO] [stderr] warning: variable `quit` is assigned to, but never used [INFO] [stderr] --> src/search.rs:157:13 [INFO] [stderr] | [INFO] [stderr] 157 | mut quit: bool, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_quit` instead [INFO] [stderr] [INFO] [stderr] warning: associated items `build` and `generate_move_data` are never used [INFO] [stderr] --> src/board.rs:50:12 [INFO] [stderr] | [INFO] [stderr] 37 | impl Board { [INFO] [stderr] | ---------- associated items in this implementation [INFO] [stderr] ... [INFO] [stderr] 50 | pub fn build() -> Self { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 197 | pub fn generate_move_data(&self, from: &usize, to: &Option, side: bool) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: constant `SQUARE_BITBOARD` is never used [INFO] [stderr] --> src/board/defs.rs:23:11 [INFO] [stderr] | [INFO] [stderr] 23 | pub const SQUARE_BITBOARD: [usize; 64] = [ [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated constants `B` and `G` are never used [INFO] [stderr] --> src/board/defs.rs:104:15 [INFO] [stderr] | [INFO] [stderr] 102 | impl Files { [INFO] [stderr] | ---------- associated constants in this implementation [INFO] [stderr] 103 | pub const A: usize = 0; [INFO] [stderr] 104 | pub const B: usize = 1; [INFO] [stderr] | ^ [INFO] [stderr] 105 | pub const G: usize = 6; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: associated constants `R2` and `R7` are never used [INFO] [stderr] --> src/board/defs.rs:112:15 [INFO] [stderr] | [INFO] [stderr] 110 | impl Ranks { [INFO] [stderr] | ---------- associated constants in this implementation [INFO] [stderr] 111 | pub const R1: usize = 0; [INFO] [stderr] 112 | pub const R2: usize = 1; [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 115 | pub const R7: usize = 6; [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: associated constants `RANKS` and `FILES` are never used [INFO] [stderr] --> src/board/defs.rs:152:15 [INFO] [stderr] | [INFO] [stderr] 151 | impl RangeOf { [INFO] [stderr] | ------------ associated constants in this implementation [INFO] [stderr] 152 | pub const RANKS: RangeInclusive = (Ranks::R1 as u8)..=(Ranks::R8 as u8); [INFO] [stderr] | ^^^^^ [INFO] [stderr] 153 | pub const FILES: RangeInclusive = (Files::A as u8)..=(Files::H as u8); [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `as_string` is never used [INFO] [stderr] --> src/board/gamestate.rs:33:12 [INFO] [stderr] | [INFO] [stderr] 18 | impl GameState { [INFO] [stderr] | -------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 33 | pub fn as_string(&self) -> String { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `clear` is never used [INFO] [stderr] --> src/board/history.rs:20:12 [INFO] [stderr] | [INFO] [stderr] 10 | impl History { [INFO] [stderr] | ------------ method in this implementation [INFO] [stderr] ... [INFO] [stderr] 20 | pub fn clear(&mut self) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `get_protocol_name` is never used [INFO] [stderr] --> src/comm.rs:26:8 [INFO] [stderr] | [INFO] [stderr] 17 | pub trait IComm { [INFO] [stderr] | ----- method in this trait [INFO] [stderr] ... [INFO] [stderr] 26 | fn get_protocol_name(&self) -> &'static str; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variants `SolvePuzzles`, `PrintHistory`, and `PrintHelp` are never constructed [INFO] [stderr] --> src/comm.rs:42:5 [INFO] [stderr] | [INFO] [stderr] 30 | pub enum CommControl { [INFO] [stderr] | ----------- variants in this enum [INFO] [stderr] ... [INFO] [stderr] 42 | SolvePuzzles, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 45 | PrintHistory, // PrintHistory, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] 46 | PrintHelp, // PrintHelp, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `CommControl` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `threads` is never read [INFO] [stderr] --> src/engine/defs.rs:5:9 [INFO] [stderr] | [INFO] [stderr] 4 | pub struct Settings { [INFO] [stderr] | -------- field in this struct [INFO] [stderr] 5 | pub threads: usize, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Settings` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: variants `Hash`, `ClearHash`, and `Nothing` are never constructed [INFO] [stderr] --> src/engine/defs.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 19 | pub enum EngineOptionName { [INFO] [stderr] | ---------------- variants in this enum [INFO] [stderr] 20 | Hash(String), [INFO] [stderr] | ^^^^ [INFO] [stderr] 21 | ClearHash, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 22 | Nothing, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `EngineOptionName` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: enum `UiElement` is never used [INFO] [stderr] --> src/engine/defs.rs:24:10 [INFO] [stderr] | [INFO] [stderr] 24 | pub enum UiElement { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `EngineOption` is never constructed [INFO] [stderr] --> src/engine/defs.rs:28:12 [INFO] [stderr] | [INFO] [stderr] 28 | pub struct EngineOption { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> src/engine/defs.rs:37:12 [INFO] [stderr] | [INFO] [stderr] 36 | impl EngineOption { [INFO] [stderr] | ----------------- associated function in this implementation [INFO] [stderr] 37 | pub fn new( [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated constants `HASH_MIN`, `HASH_MAX_64_BIT`, and `HASH_MAX_32_BIT` are never used [INFO] [stderr] --> src/engine/defs.rs:57:15 [INFO] [stderr] | [INFO] [stderr] 55 | impl EngineOptionDefaults { [INFO] [stderr] | ------------------------- associated constants in this implementation [INFO] [stderr] 56 | pub const HASH_DEFAULT: usize = 32; [INFO] [stderr] 57 | pub const HASH_MIN: usize = 0; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] 58 | pub const HASH_MAX_64_BIT: usize = 65536; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] 59 | pub const HASH_MAX_32_BIT: usize = 2048; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `total_entries` is never read [INFO] [stderr] --> src/engine/transposition.rs:169:5 [INFO] [stderr] | [INFO] [stderr] 165 | pub struct TT { [INFO] [stderr] | -- field in this struct [INFO] [stderr] ... [INFO] [stderr] 169 | total_entries: usize, // Total number of entries the table can hold [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `resize` and `clear` are never used [INFO] [stderr] --> src/engine/transposition.rs:189:12 [INFO] [stderr] | [INFO] [stderr] 173 | impl TT { [INFO] [stderr] | --------------------------------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 189 | pub fn resize(&mut self, megabytes: usize) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 221 | pub fn clear(&mut self) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated constant `PERFT_DEFAULT` is never used [INFO] [stderr] --> src/extra/cmdline.rs:19:11 [INFO] [stderr] | [INFO] [stderr] 9 | impl CmdLineArgs { [INFO] [stderr] | ---------------- associated constant in this implementation [INFO] [stderr] ... [INFO] [stderr] 19 | const PERFT_DEFAULT: i8 = 0; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `comm` and `perft` are never used [INFO] [stderr] --> src/extra/cmdline.rs:72:12 [INFO] [stderr] | [INFO] [stderr] 65 | impl Cmdline { [INFO] [stderr] | ------------ methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 72 | pub fn comm(&self) -> String { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 86 | pub fn perft(&self) -> i8 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `Mask` is never constructed [INFO] [stderr] --> src/movegen/defs.rs:30:12 [INFO] [stderr] | [INFO] [stderr] 30 | pub struct Mask; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple associated constants are never used [INFO] [stderr] --> src/movegen/defs.rs:32:15 [INFO] [stderr] | [INFO] [stderr] 31 | impl Mask { [INFO] [stderr] | --------- associated constants in this implementation [INFO] [stderr] 32 | pub const PIECE: usize = 0x3F; [INFO] [stderr] | ^^^^^ [INFO] [stderr] 33 | pub const FROM_SQ: usize = 0x3F << Shift::FROM_SQ; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 34 | pub const TO_SQ: usize = 0x3F << Shift::TO_SQ; [INFO] [stderr] | ^^^^^ [INFO] [stderr] 35 | pub const CAPTURE: usize = 0xF << Shift::CAPTURE; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 36 | pub const EN_PASSANT: usize = 0x1 << Shift::EN_PASSANT; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 37 | pub const DOUBLE_STEP: usize = 0x1 << Shift::DOUBLE_STEP; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 38 | pub const CASTLING: usize = 0x1 << Shift::CASTLING; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `MoveData` is never constructed [INFO] [stderr] --> src/movegen/defs.rs:41:12 [INFO] [stderr] | [INFO] [stderr] 41 | pub struct MoveData { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `from_bits` is never used [INFO] [stderr] --> src/movegen/defs.rs:52:12 [INFO] [stderr] | [INFO] [stderr] 51 | impl MoveData { [INFO] [stderr] | ------------- associated function in this implementation [INFO] [stderr] 52 | pub fn from_bits(move_data: usize) -> Self { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_bit` is never used [INFO] [stderr] --> src/movegen/defs.rs:215:8 [INFO] [stderr] | [INFO] [stderr] 215 | pub fn get_bit(bitboard: &u64, square: usize) -> u64 { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `pop_bit` is never used [INFO] [stderr] --> src/movegen/defs.rs:223:8 [INFO] [stderr] | [INFO] [stderr] 223 | pub fn pop_bit(bitboard: &mut u64, square: usize) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_least_significant_1st_bit` is never used [INFO] [stderr] --> src/movegen/defs.rs:229:8 [INFO] [stderr] | [INFO] [stderr] 229 | pub fn get_least_significant_1st_bit(bitboard: &u64) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variants `SearchCurrentMove` and `SearchStats` are never constructed [INFO] [stderr] --> src/search/defs.rs:239:5 [INFO] [stderr] | [INFO] [stderr] 235 | pub enum SearchReport { [INFO] [stderr] | ------------ variants in this enum [INFO] [stderr] ... [INFO] [stderr] 239 | SearchCurrentMove(SearchCurrentMove), // Move currently searched. [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] 240 | SearchStats(SearchStats), // General search statistics [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `SearchReport` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `solution_moves` is never read [INFO] [stderr] --> src/puzzle.rs:17:9 [INFO] [stderr] | [INFO] [stderr] 15 | pub struct Puzzle { [INFO] [stderr] | ------ field in this struct [INFO] [stderr] 16 | pub fen: String, [INFO] [stderr] 17 | pub solution_moves: Vec, // Moves in UCI format, e.g. ["e2e4", "d7d5"] [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Puzzle` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: unused return value of `must_use` that must be used [INFO] [stderr] --> src/comm/uci.rs:397:9 [INFO] [stderr] | [INFO] [stderr] 397 | / format!( [INFO] [stderr] 398 | | "info currmove {} currmovenumber {}", [INFO] [stderr] 399 | | current.curr_move.as_string(), [INFO] [stderr] 400 | | current.curr_move_number [INFO] [stderr] 401 | | ); [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this warning originates in the macro `format` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/engine/comm_report.rs:100:29 [INFO] [stderr] | [INFO] [stderr] 100 | ... self.solve_puzzle(puzzle, sp); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 100 | let _ = self.solve_puzzle(puzzle, sp); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/engine/utils.rs:133:9 [INFO] [stderr] | [INFO] [stderr] 133 | self.board.lock().expect("error locking board").read_fen(Some(&puzzle.fen)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 133 | let _ = self.board.lock().expect("error locking board").read_fen(Some(&puzzle.fen)); [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: structure field `PuzzleId` should have a snake case name [INFO] [stderr] --> src/puzzle.rs:22:5 [INFO] [stderr] | [INFO] [stderr] 22 | PuzzleId: String, [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `puzzle_id` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: structure field `FEN` should have a snake case name [INFO] [stderr] --> src/puzzle.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | FEN: String, [INFO] [stderr] | ^^^ help: convert the identifier to snake case: `fen` [INFO] [stderr] [INFO] [stderr] warning: structure field `Moves` should have a snake case name [INFO] [stderr] --> src/puzzle.rs:24:5 [INFO] [stderr] | [INFO] [stderr] 24 | Moves: String, // UCI format moves, comma-separated [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `moves` [INFO] [stderr] [INFO] [stderr] warning: structure field `Rating` should have a snake case name [INFO] [stderr] --> src/puzzle.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | Rating: String, [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `rating` [INFO] [stderr] [INFO] [stderr] warning: structure field `RatingDeviation` should have a snake case name [INFO] [stderr] --> src/puzzle.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | RatingDeviation: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `rating_deviation` [INFO] [stderr] [INFO] [stderr] warning: structure field `Popularity` should have a snake case name [INFO] [stderr] --> src/puzzle.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | Popularity: String, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `popularity` [INFO] [stderr] [INFO] [stderr] warning: structure field `NbPlays` should have a snake case name [INFO] [stderr] --> src/puzzle.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | NbPlays: String, [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `nb_plays` [INFO] [stderr] [INFO] [stderr] warning: structure field `Themes` should have a snake case name [INFO] [stderr] --> src/puzzle.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | Themes: String, [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `themes` [INFO] [stderr] [INFO] [stderr] warning: structure field `GameUrl` should have a snake case name [INFO] [stderr] --> src/puzzle.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | GameUrl: String, [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `game_url` [INFO] [stderr] [INFO] [stderr] warning: `chess-engine` (bin "chess-engine" test) generated 67 warnings (run `cargo fix --bin "chess-engine" --tests` to apply 19 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.07s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/chess_engine-df11b7ee0a601da3) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "3404a12ded6be2dd090533b388c01313b29a91afa83d2cdb0f979b55a862f748", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3404a12ded6be2dd090533b388c01313b29a91afa83d2cdb0f979b55a862f748", kill_on_drop: false }` [INFO] [stdout] 3404a12ded6be2dd090533b388c01313b29a91afa83d2cdb0f979b55a862f748