[INFO] cloning repository https://github.com/MatN23/RustChessEngine
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/MatN23/RustChessEngine" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMatN23%2FRustChessEngine", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMatN23%2FRustChessEngine'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 3ab91222e1c89548c3db89bb2f75698849e2442a
[INFO] checking MatN23/RustChessEngine against master#642c19bfc3a5c1de985bf5d0cc8207ac9d22708a for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMatN23%2FRustChessEngine" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/MatN23/RustChessEngine
[INFO] finished tweaking git repo https://github.com/MatN23/RustChessEngine
[INFO] tweaked toml for git repo https://github.com/MatN23/RustChessEngine written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/MatN23/RustChessEngine on toolchain 642c19bfc3a5c1de985bf5d0cc8207ac9d22708a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/MatN23/RustChessEngine 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" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded syn v2.0.107
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 31e89c291a412fdd6fc16aaee0a1c3ede95ccd2ec6515c8d964fff852bb9eb27
[INFO] running `Command { std: "docker" "start" "-a" "31e89c291a412fdd6fc16aaee0a1c3ede95ccd2ec6515c8d964fff852bb9eb27", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "31e89c291a412fdd6fc16aaee0a1c3ede95ccd2ec6515c8d964fff852bb9eb27", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "31e89c291a412fdd6fc16aaee0a1c3ede95ccd2ec6515c8d964fff852bb9eb27", kill_on_drop: false }`
[INFO] [stdout] 31e89c291a412fdd6fc16aaee0a1c3ede95ccd2ec6515c8d964fff852bb9eb27
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7d63c097ae03875ad38b616d14d08caf05bb8277229f14f79757de5303b8c1fa
[INFO] running `Command { std: "docker" "start" "-a" "7d63c097ae03875ad38b616d14d08caf05bb8277229f14f79757de5303b8c1fa", kill_on_drop: false }`
[INFO] [stderr]    Compiling pyo3-build-config v0.22.6
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]     Checking cfg-if v1.0.4
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling zerocopy v0.8.27
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking lock_api v0.4.14
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]     Checking crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling syn v2.0.107
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking itoa v1.0.15
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking ryu v1.0.20
[INFO] [stderr]     Checking memchr v2.7.6
[INFO] [stderr]     Checking unindent v0.2.4
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking crossbeam v0.8.4
[INFO] [stderr]     Checking memmap2 v0.9.8
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]    Compiling pyo3-ffi v0.22.6
[INFO] [stderr]    Compiling pyo3-macros-backend v0.22.6
[INFO] [stderr]    Compiling pyo3 v0.22.6
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling pyo3-macros v0.22.6
[INFO] [stderr]     Checking chess_engine v6.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `enemy_color`
[INFO] [stdout]    --> src/eval.rs:252:17
[INFO] [stdout]     |
[INFO] [stdout] 252 |             let enemy_color = if color == 0 { 1 } else { 0 };
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enemy_color`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Empty` is never constructed
[INFO] [stdout]  --> src/board.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub enum Piece {
[INFO] [stdout]   |          ----- variant in this enum
[INFO] [stdout] 9 |     Empty = 0,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Piece` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EMPTY` is never used
[INFO] [stdout]  --> src/bitboard.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const EMPTY: Bitboard = 0;
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FULL` is never used
[INFO] [stdout]  --> src/bitboard.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const FULL: Bitboard = 0xFFFFFFFFFFFFFFFF;
[INFO] [stdout]   |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_B` is never used
[INFO] [stdout]  --> src/bitboard.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const FILE_B: Bitboard = 0x0202020202020202;
[INFO] [stdout]   |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_H` is never used
[INFO] [stdout]  --> src/bitboard.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const FILE_H: Bitboard = 0x8080808080808080;
[INFO] [stdout]   |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_1` is never used
[INFO] [stdout]   --> src/bitboard.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const RANK_1: Bitboard = 0x00000000000000FF;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_2` is never used
[INFO] [stdout]   --> src/bitboard.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const RANK_2: Bitboard = 0x000000000000FF00;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_7` is never used
[INFO] [stdout]   --> src/bitboard.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const RANK_7: Bitboard = 0x00FF000000000000;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_8` is never used
[INFO] [stdout]   --> src/bitboard.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const RANK_8: Bitboard = 0xFF00000000000000;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `toggle_bit` is never used
[INFO] [stdout]   --> src/bitboard.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn toggle_bit(bb: Bitboard, sq: u8) -> Bitboard {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pext_like` is never used
[INFO] [stdout]   --> src/bitboard.rs:66:8
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub fn pext_like(src: u64, mask: u64) -> u64 {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `mask`, `magic`, `shift`, and `offset` are never read
[INFO] [stdout]   --> src/bitboard.rs:96:9
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub struct MagicEntry {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 96 |     pub mask: Bitboard,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 97 |     pub magic: u64,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 98 |     pub shift: u8,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 99 |     pub offset: usize,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MagicEntry` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_north` is never used
[INFO] [stdout]    --> src/bitboard.rs:376:8
[INFO] [stdout]     |
[INFO] [stdout] 376 | pub fn shift_north(bb: Bitboard) -> Bitboard {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_south` is never used
[INFO] [stdout]    --> src/bitboard.rs:381:8
[INFO] [stdout]     |
[INFO] [stdout] 381 | pub fn shift_south(bb: Bitboard) -> Bitboard {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_east` is never used
[INFO] [stdout]    --> src/bitboard.rs:386:8
[INFO] [stdout]     |
[INFO] [stdout] 386 | pub fn shift_east(bb: Bitboard) -> Bitboard {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_west` is never used
[INFO] [stdout]    --> src/bitboard.rs:391:8
[INFO] [stdout]     |
[INFO] [stdout] 391 | pub fn shift_west(bb: Bitboard) -> Bitboard {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fill_north` is never used
[INFO] [stdout]    --> src/bitboard.rs:397:8
[INFO] [stdout]     |
[INFO] [stdout] 397 | pub fn fill_north(mut bb: Bitboard, empty: Bitboard) -> Bitboard {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fill_south` is never used
[INFO] [stdout]    --> src/bitboard.rs:405:8
[INFO] [stdout]     |
[INFO] [stdout] 405 | pub fn fill_south(mut bb: Bitboard, empty: Bitboard) -> Bitboard {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `pv_lines` is never read
[INFO] [stdout]   --> src/search.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct SearchResult {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub pv_lines: Vec<(Move, i32)>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clear_tt` is never used
[INFO] [stdout]    --> src/search.rs:986:12
[INFO] [stdout]     |
[INFO] [stdout]  80 | impl SearchEngine {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 986 |     pub fn clear_tt(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PAWN_VALUE` is never used
[INFO] [stdout]  --> src/eval.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const PAWN_VALUE: i32 = 100;
[INFO] [stdout]   |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KNIGHT_VALUE` is never used
[INFO] [stdout]   --> src/eval.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const KNIGHT_VALUE: i32 = 320;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BISHOP_VALUE` is never used
[INFO] [stdout]   --> src/eval.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const BISHOP_VALUE: i32 = 330;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROOK_VALUE` is never used
[INFO] [stdout]   --> src/eval.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const ROOK_VALUE: i32 = 500;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QUEEN_VALUE` is never used
[INFO] [stdout]   --> src/eval.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const QUEEN_VALUE: i32 = 900;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HANGING_PIECE_PENALTY` is never used
[INFO] [stdout]   --> src/eval.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const HANGING_PIECE_PENALTY: i32 = 150;  // Severe penalty for undefended pieces
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BISHOP_LONG_DIAGONAL` is never used
[INFO] [stdout]   --> src/eval.rs:32:7
[INFO] [stdout]    |
[INFO] [stdout] 32 | const BISHOP_LONG_DIAGONAL: i32 = 20;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BACKWARD_PAWN` is never used
[INFO] [stdout]   --> src/eval.rs:39:7
[INFO] [stdout]    |
[INFO] [stdout] 39 | const BACKWARD_PAWN: i32 = 12;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CANDIDATE_PASSED` is never used
[INFO] [stdout]   --> src/eval.rs:42:7
[INFO] [stdout]    |
[INFO] [stdout] 42 | const CANDIDATE_PASSED: [i32; 8] = [0, 5, 8, 15, 25, 40, 70, 0];
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PAWN_CHAIN_BONUS` is never used
[INFO] [stdout]   --> src/eval.rs:43:7
[INFO] [stdout]    |
[INFO] [stdout] 43 | const PAWN_CHAIN_BONUS: i32 = 8;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KING_ZONE_ATTACK` is never used
[INFO] [stdout]   --> src/eval.rs:49:7
[INFO] [stdout]    |
[INFO] [stdout] 49 | const KING_ZONE_ATTACK: i32 = 10;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SAFE_MOBILITY_BONUS` is never used
[INFO] [stdout]   --> src/eval.rs:55:7
[INFO] [stdout]    |
[INFO] [stdout] 55 | const SAFE_MOBILITY_BONUS: i32 = 4;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `hash_piece`, `hash_castling`, `hash_ep`, and `hash_side` are never used
[INFO] [stdout]   --> src/zobrist.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Zobrist {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn hash_piece(&self, color: usize, piece: usize, square: usize) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn hash_castling(&self, rights: u8) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn hash_ep(&self, file: u8) -> u64 {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn hash_side(&self) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enemy_color`
[INFO] [stdout]    --> src/eval.rs:252:17
[INFO] [stdout]     |
[INFO] [stdout] 252 |             let enemy_color = if color == 0 { 1 } else { 0 };
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enemy_color`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Empty` is never constructed
[INFO] [stdout]  --> src/board.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub enum Piece {
[INFO] [stdout]   |          ----- variant in this enum
[INFO] [stdout] 9 |     Empty = 0,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Piece` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EMPTY` is never used
[INFO] [stdout]  --> src/bitboard.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const EMPTY: Bitboard = 0;
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FULL` is never used
[INFO] [stdout]  --> src/bitboard.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const FULL: Bitboard = 0xFFFFFFFFFFFFFFFF;
[INFO] [stdout]   |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_B` is never used
[INFO] [stdout]  --> src/bitboard.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const FILE_B: Bitboard = 0x0202020202020202;
[INFO] [stdout]   |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_H` is never used
[INFO] [stdout]  --> src/bitboard.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const FILE_H: Bitboard = 0x8080808080808080;
[INFO] [stdout]   |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_1` is never used
[INFO] [stdout]   --> src/bitboard.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const RANK_1: Bitboard = 0x00000000000000FF;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_2` is never used
[INFO] [stdout]   --> src/bitboard.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const RANK_2: Bitboard = 0x000000000000FF00;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_7` is never used
[INFO] [stdout]   --> src/bitboard.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const RANK_7: Bitboard = 0x00FF000000000000;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_8` is never used
[INFO] [stdout]   --> src/bitboard.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const RANK_8: Bitboard = 0xFF00000000000000;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `toggle_bit` is never used
[INFO] [stdout]   --> src/bitboard.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn toggle_bit(bb: Bitboard, sq: u8) -> Bitboard {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pext_like` is never used
[INFO] [stdout]   --> src/bitboard.rs:66:8
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub fn pext_like(src: u64, mask: u64) -> u64 {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `mask`, `magic`, `shift`, and `offset` are never read
[INFO] [stdout]   --> src/bitboard.rs:96:9
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub struct MagicEntry {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 96 |     pub mask: Bitboard,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 97 |     pub magic: u64,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 98 |     pub shift: u8,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 99 |     pub offset: usize,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MagicEntry` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_north` is never used
[INFO] [stdout]    --> src/bitboard.rs:376:8
[INFO] [stdout]     |
[INFO] [stdout] 376 | pub fn shift_north(bb: Bitboard) -> Bitboard {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_south` is never used
[INFO] [stdout]    --> src/bitboard.rs:381:8
[INFO] [stdout]     |
[INFO] [stdout] 381 | pub fn shift_south(bb: Bitboard) -> Bitboard {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_east` is never used
[INFO] [stdout]    --> src/bitboard.rs:386:8
[INFO] [stdout]     |
[INFO] [stdout] 386 | pub fn shift_east(bb: Bitboard) -> Bitboard {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_west` is never used
[INFO] [stdout]    --> src/bitboard.rs:391:8
[INFO] [stdout]     |
[INFO] [stdout] 391 | pub fn shift_west(bb: Bitboard) -> Bitboard {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fill_north` is never used
[INFO] [stdout]    --> src/bitboard.rs:397:8
[INFO] [stdout]     |
[INFO] [stdout] 397 | pub fn fill_north(mut bb: Bitboard, empty: Bitboard) -> Bitboard {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fill_south` is never used
[INFO] [stdout]    --> src/bitboard.rs:405:8
[INFO] [stdout]     |
[INFO] [stdout] 405 | pub fn fill_south(mut bb: Bitboard, empty: Bitboard) -> Bitboard {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `pv_lines` is never read
[INFO] [stdout]   --> src/search.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct SearchResult {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub pv_lines: Vec<(Move, i32)>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clear_tt` is never used
[INFO] [stdout]    --> src/search.rs:986:12
[INFO] [stdout]     |
[INFO] [stdout]  80 | impl SearchEngine {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 986 |     pub fn clear_tt(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PAWN_VALUE` is never used
[INFO] [stdout]  --> src/eval.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const PAWN_VALUE: i32 = 100;
[INFO] [stdout]   |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KNIGHT_VALUE` is never used
[INFO] [stdout]   --> src/eval.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const KNIGHT_VALUE: i32 = 320;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BISHOP_VALUE` is never used
[INFO] [stdout]   --> src/eval.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const BISHOP_VALUE: i32 = 330;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROOK_VALUE` is never used
[INFO] [stdout]   --> src/eval.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const ROOK_VALUE: i32 = 500;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QUEEN_VALUE` is never used
[INFO] [stdout]   --> src/eval.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const QUEEN_VALUE: i32 = 900;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HANGING_PIECE_PENALTY` is never used
[INFO] [stdout]   --> src/eval.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const HANGING_PIECE_PENALTY: i32 = 150;  // Severe penalty for undefended pieces
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BISHOP_LONG_DIAGONAL` is never used
[INFO] [stdout]   --> src/eval.rs:32:7
[INFO] [stdout]    |
[INFO] [stdout] 32 | const BISHOP_LONG_DIAGONAL: i32 = 20;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BACKWARD_PAWN` is never used
[INFO] [stdout]   --> src/eval.rs:39:7
[INFO] [stdout]    |
[INFO] [stdout] 39 | const BACKWARD_PAWN: i32 = 12;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CANDIDATE_PASSED` is never used
[INFO] [stdout]   --> src/eval.rs:42:7
[INFO] [stdout]    |
[INFO] [stdout] 42 | const CANDIDATE_PASSED: [i32; 8] = [0, 5, 8, 15, 25, 40, 70, 0];
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PAWN_CHAIN_BONUS` is never used
[INFO] [stdout]   --> src/eval.rs:43:7
[INFO] [stdout]    |
[INFO] [stdout] 43 | const PAWN_CHAIN_BONUS: i32 = 8;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KING_ZONE_ATTACK` is never used
[INFO] [stdout]   --> src/eval.rs:49:7
[INFO] [stdout]    |
[INFO] [stdout] 49 | const KING_ZONE_ATTACK: i32 = 10;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SAFE_MOBILITY_BONUS` is never used
[INFO] [stdout]   --> src/eval.rs:55:7
[INFO] [stdout]    |
[INFO] [stdout] 55 | const SAFE_MOBILITY_BONUS: i32 = 4;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `hash_piece`, `hash_castling`, `hash_ep`, and `hash_side` are never used
[INFO] [stdout]   --> src/zobrist.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Zobrist {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn hash_piece(&self, color: usize, piece: usize, square: usize) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn hash_castling(&self, rights: u8) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn hash_ep(&self, file: u8) -> u64 {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn hash_side(&self) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enemy_color`
[INFO] [stdout]    --> src/eval.rs:252:17
[INFO] [stdout]     |
[INFO] [stdout] 252 |             let enemy_color = if color == 0 { 1 } else { 0 };
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enemy_color`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Empty` is never constructed
[INFO] [stdout]  --> src/board.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub enum Piece {
[INFO] [stdout]   |          ----- variant in this enum
[INFO] [stdout] 9 |     Empty = 0,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Piece` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_game_over` and `make_move_uci` are never used
[INFO] [stdout]    --> src/board.rs:282:12
[INFO] [stdout]     |
[INFO] [stdout]  56 | impl BoardState {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 282 |     pub fn is_game_over(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 462 |     pub fn make_move_uci(&mut self, uci: &str) -> Result<bool, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EMPTY` is never used
[INFO] [stdout]  --> src/bitboard.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const EMPTY: Bitboard = 0;
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FULL` is never used
[INFO] [stdout]  --> src/bitboard.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const FULL: Bitboard = 0xFFFFFFFFFFFFFFFF;
[INFO] [stdout]   |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_B` is never used
[INFO] [stdout]  --> src/bitboard.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const FILE_B: Bitboard = 0x0202020202020202;
[INFO] [stdout]   |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_H` is never used
[INFO] [stdout]  --> src/bitboard.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const FILE_H: Bitboard = 0x8080808080808080;
[INFO] [stdout]   |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_1` is never used
[INFO] [stdout]   --> src/bitboard.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const RANK_1: Bitboard = 0x00000000000000FF;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_2` is never used
[INFO] [stdout]   --> src/bitboard.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const RANK_2: Bitboard = 0x000000000000FF00;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_7` is never used
[INFO] [stdout]   --> src/bitboard.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const RANK_7: Bitboard = 0x00FF000000000000;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_8` is never used
[INFO] [stdout]   --> src/bitboard.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const RANK_8: Bitboard = 0xFF00000000000000;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `toggle_bit` is never used
[INFO] [stdout]   --> src/bitboard.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn toggle_bit(bb: Bitboard, sq: u8) -> Bitboard {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pext_like` is never used
[INFO] [stdout]   --> src/bitboard.rs:66:8
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub fn pext_like(src: u64, mask: u64) -> u64 {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `mask`, `magic`, `shift`, and `offset` are never read
[INFO] [stdout]   --> src/bitboard.rs:96:9
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub struct MagicEntry {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 96 |     pub mask: Bitboard,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 97 |     pub magic: u64,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 98 |     pub shift: u8,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 99 |     pub offset: usize,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MagicEntry` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_north` is never used
[INFO] [stdout]    --> src/bitboard.rs:376:8
[INFO] [stdout]     |
[INFO] [stdout] 376 | pub fn shift_north(bb: Bitboard) -> Bitboard {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_south` is never used
[INFO] [stdout]    --> src/bitboard.rs:381:8
[INFO] [stdout]     |
[INFO] [stdout] 381 | pub fn shift_south(bb: Bitboard) -> Bitboard {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_east` is never used
[INFO] [stdout]    --> src/bitboard.rs:386:8
[INFO] [stdout]     |
[INFO] [stdout] 386 | pub fn shift_east(bb: Bitboard) -> Bitboard {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_west` is never used
[INFO] [stdout]    --> src/bitboard.rs:391:8
[INFO] [stdout]     |
[INFO] [stdout] 391 | pub fn shift_west(bb: Bitboard) -> Bitboard {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fill_north` is never used
[INFO] [stdout]    --> src/bitboard.rs:397:8
[INFO] [stdout]     |
[INFO] [stdout] 397 | pub fn fill_north(mut bb: Bitboard, empty: Bitboard) -> Bitboard {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fill_south` is never used
[INFO] [stdout]    --> src/bitboard.rs:405:8
[INFO] [stdout]     |
[INFO] [stdout] 405 | pub fn fill_south(mut bb: Bitboard, empty: Bitboard) -> Bitboard {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `pv_lines` is never read
[INFO] [stdout]   --> src/search.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct SearchResult {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub pv_lines: Vec<(Move, i32)>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PAWN_VALUE` is never used
[INFO] [stdout]  --> src/eval.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const PAWN_VALUE: i32 = 100;
[INFO] [stdout]   |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KNIGHT_VALUE` is never used
[INFO] [stdout]   --> src/eval.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const KNIGHT_VALUE: i32 = 320;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BISHOP_VALUE` is never used
[INFO] [stdout]   --> src/eval.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const BISHOP_VALUE: i32 = 330;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROOK_VALUE` is never used
[INFO] [stdout]   --> src/eval.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const ROOK_VALUE: i32 = 500;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QUEEN_VALUE` is never used
[INFO] [stdout]   --> src/eval.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const QUEEN_VALUE: i32 = 900;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HANGING_PIECE_PENALTY` is never used
[INFO] [stdout]   --> src/eval.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const HANGING_PIECE_PENALTY: i32 = 150;  // Severe penalty for undefended pieces
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BISHOP_LONG_DIAGONAL` is never used
[INFO] [stdout]   --> src/eval.rs:32:7
[INFO] [stdout]    |
[INFO] [stdout] 32 | const BISHOP_LONG_DIAGONAL: i32 = 20;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BACKWARD_PAWN` is never used
[INFO] [stdout]   --> src/eval.rs:39:7
[INFO] [stdout]    |
[INFO] [stdout] 39 | const BACKWARD_PAWN: i32 = 12;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CANDIDATE_PASSED` is never used
[INFO] [stdout]   --> src/eval.rs:42:7
[INFO] [stdout]    |
[INFO] [stdout] 42 | const CANDIDATE_PASSED: [i32; 8] = [0, 5, 8, 15, 25, 40, 70, 0];
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PAWN_CHAIN_BONUS` is never used
[INFO] [stdout]   --> src/eval.rs:43:7
[INFO] [stdout]    |
[INFO] [stdout] 43 | const PAWN_CHAIN_BONUS: i32 = 8;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KING_ZONE_ATTACK` is never used
[INFO] [stdout]   --> src/eval.rs:49:7
[INFO] [stdout]    |
[INFO] [stdout] 49 | const KING_ZONE_ATTACK: i32 = 10;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SAFE_MOBILITY_BONUS` is never used
[INFO] [stdout]   --> src/eval.rs:55:7
[INFO] [stdout]    |
[INFO] [stdout] 55 | const SAFE_MOBILITY_BONUS: i32 = 4;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `hash_piece`, `hash_castling`, `hash_ep`, and `hash_side` are never used
[INFO] [stdout]   --> src/zobrist.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Zobrist {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn hash_piece(&self, color: usize, piece: usize, square: usize) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn hash_castling(&self, rights: u8) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn hash_ep(&self, file: u8) -> u64 {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn hash_side(&self) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]    --> src/uci.rs:405:8
[INFO] [stdout]     |
[INFO] [stdout] 405 | pub fn main() {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enemy_color`
[INFO] [stdout]    --> src/eval.rs:252:17
[INFO] [stdout]     |
[INFO] [stdout] 252 |             let enemy_color = if color == 0 { 1 } else { 0 };
[INFO] [stdout]     |                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enemy_color`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Empty` is never constructed
[INFO] [stdout]  --> src/board.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub enum Piece {
[INFO] [stdout]   |          ----- variant in this enum
[INFO] [stdout] 9 |     Empty = 0,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Piece` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_game_over` and `make_move_uci` are never used
[INFO] [stdout]    --> src/board.rs:282:12
[INFO] [stdout]     |
[INFO] [stdout]  56 | impl BoardState {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 282 |     pub fn is_game_over(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 462 |     pub fn make_move_uci(&mut self, uci: &str) -> Result<bool, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EMPTY` is never used
[INFO] [stdout]  --> src/bitboard.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const EMPTY: Bitboard = 0;
[INFO] [stdout]   |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FULL` is never used
[INFO] [stdout]  --> src/bitboard.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const FULL: Bitboard = 0xFFFFFFFFFFFFFFFF;
[INFO] [stdout]   |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_B` is never used
[INFO] [stdout]  --> src/bitboard.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const FILE_B: Bitboard = 0x0202020202020202;
[INFO] [stdout]   |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FILE_H` is never used
[INFO] [stdout]  --> src/bitboard.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const FILE_H: Bitboard = 0x8080808080808080;
[INFO] [stdout]   |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_1` is never used
[INFO] [stdout]   --> src/bitboard.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const RANK_1: Bitboard = 0x00000000000000FF;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_2` is never used
[INFO] [stdout]   --> src/bitboard.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const RANK_2: Bitboard = 0x000000000000FF00;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_7` is never used
[INFO] [stdout]   --> src/bitboard.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const RANK_7: Bitboard = 0x00FF000000000000;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RANK_8` is never used
[INFO] [stdout]   --> src/bitboard.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub const RANK_8: Bitboard = 0xFF00000000000000;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `toggle_bit` is never used
[INFO] [stdout]   --> src/bitboard.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn toggle_bit(bb: Bitboard, sq: u8) -> Bitboard {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pext_like` is never used
[INFO] [stdout]   --> src/bitboard.rs:66:8
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub fn pext_like(src: u64, mask: u64) -> u64 {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `mask`, `magic`, `shift`, and `offset` are never read
[INFO] [stdout]   --> src/bitboard.rs:96:9
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub struct MagicEntry {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 96 |     pub mask: Bitboard,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 97 |     pub magic: u64,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 98 |     pub shift: u8,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 99 |     pub offset: usize,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MagicEntry` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_north` is never used
[INFO] [stdout]    --> src/bitboard.rs:376:8
[INFO] [stdout]     |
[INFO] [stdout] 376 | pub fn shift_north(bb: Bitboard) -> Bitboard {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_south` is never used
[INFO] [stdout]    --> src/bitboard.rs:381:8
[INFO] [stdout]     |
[INFO] [stdout] 381 | pub fn shift_south(bb: Bitboard) -> Bitboard {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_east` is never used
[INFO] [stdout]    --> src/bitboard.rs:386:8
[INFO] [stdout]     |
[INFO] [stdout] 386 | pub fn shift_east(bb: Bitboard) -> Bitboard {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_west` is never used
[INFO] [stdout]    --> src/bitboard.rs:391:8
[INFO] [stdout]     |
[INFO] [stdout] 391 | pub fn shift_west(bb: Bitboard) -> Bitboard {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fill_north` is never used
[INFO] [stdout]    --> src/bitboard.rs:397:8
[INFO] [stdout]     |
[INFO] [stdout] 397 | pub fn fill_north(mut bb: Bitboard, empty: Bitboard) -> Bitboard {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fill_south` is never used
[INFO] [stdout]    --> src/bitboard.rs:405:8
[INFO] [stdout]     |
[INFO] [stdout] 405 | pub fn fill_south(mut bb: Bitboard, empty: Bitboard) -> Bitboard {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `score`, `nodes`, and `pv_lines` are never read
[INFO] [stdout]   --> src/search.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct SearchResult {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 32 |     pub best_move: Option<Move>,
[INFO] [stdout] 33 |     pub score: i32,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 34 |     pub nodes: u64,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 35 |     pub pv_lines: Vec<(Move, i32)>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PAWN_VALUE` is never used
[INFO] [stdout]  --> src/eval.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const PAWN_VALUE: i32 = 100;
[INFO] [stdout]   |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KNIGHT_VALUE` is never used
[INFO] [stdout]   --> src/eval.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const KNIGHT_VALUE: i32 = 320;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BISHOP_VALUE` is never used
[INFO] [stdout]   --> src/eval.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const BISHOP_VALUE: i32 = 330;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ROOK_VALUE` is never used
[INFO] [stdout]   --> src/eval.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const ROOK_VALUE: i32 = 500;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QUEEN_VALUE` is never used
[INFO] [stdout]   --> src/eval.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const QUEEN_VALUE: i32 = 900;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HANGING_PIECE_PENALTY` is never used
[INFO] [stdout]   --> src/eval.rs:16:7
[INFO] [stdout]    |
[INFO] [stdout] 16 | const HANGING_PIECE_PENALTY: i32 = 150;  // Severe penalty for undefended pieces
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BISHOP_LONG_DIAGONAL` is never used
[INFO] [stdout]   --> src/eval.rs:32:7
[INFO] [stdout]    |
[INFO] [stdout] 32 | const BISHOP_LONG_DIAGONAL: i32 = 20;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BACKWARD_PAWN` is never used
[INFO] [stdout]   --> src/eval.rs:39:7
[INFO] [stdout]    |
[INFO] [stdout] 39 | const BACKWARD_PAWN: i32 = 12;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CANDIDATE_PASSED` is never used
[INFO] [stdout]   --> src/eval.rs:42:7
[INFO] [stdout]    |
[INFO] [stdout] 42 | const CANDIDATE_PASSED: [i32; 8] = [0, 5, 8, 15, 25, 40, 70, 0];
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PAWN_CHAIN_BONUS` is never used
[INFO] [stdout]   --> src/eval.rs:43:7
[INFO] [stdout]    |
[INFO] [stdout] 43 | const PAWN_CHAIN_BONUS: i32 = 8;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KING_ZONE_ATTACK` is never used
[INFO] [stdout]   --> src/eval.rs:49:7
[INFO] [stdout]    |
[INFO] [stdout] 49 | const KING_ZONE_ATTACK: i32 = 10;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SAFE_MOBILITY_BONUS` is never used
[INFO] [stdout]   --> src/eval.rs:55:7
[INFO] [stdout]    |
[INFO] [stdout] 55 | const SAFE_MOBILITY_BONUS: i32 = 4;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `hash_piece`, `hash_castling`, `hash_ep`, and `hash_side` are never used
[INFO] [stdout]   --> src/zobrist.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Zobrist {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn hash_piece(&self, color: usize, piece: usize, square: usize) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn hash_castling(&self, rights: u8) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn hash_ep(&self, file: u8) -> u64 {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn hash_side(&self) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]    --> src/uci.rs:405:8
[INFO] [stdout]     |
[INFO] [stdout] 405 | pub fn main() {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [optimized + debuginfo] target(s) in 37.62s
[INFO] running `Command { std: "docker" "inspect" "7d63c097ae03875ad38b616d14d08caf05bb8277229f14f79757de5303b8c1fa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7d63c097ae03875ad38b616d14d08caf05bb8277229f14f79757de5303b8c1fa", kill_on_drop: false }`
[INFO] [stdout] 7d63c097ae03875ad38b616d14d08caf05bb8277229f14f79757de5303b8c1fa
