[INFO] cloning repository https://github.com/magnustorvund/three-salmons [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/magnustorvund/three-salmons" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmagnustorvund%2Fthree-salmons", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmagnustorvund%2Fthree-salmons'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] e9e88f549bcffccb7ab910e366049e43e42c67cf [INFO] testing magnustorvund/three-salmons against try#17092ad00ed8fe1e7f81a7e38238ff70779034b1 for pr-140985 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmagnustorvund%2Fthree-salmons" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/magnustorvund/three-salmons on toolchain 17092ad00ed8fe1e7f81a7e38238ff70779034b1 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+17092ad00ed8fe1e7f81a7e38238ff70779034b1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/magnustorvund/three-salmons [INFO] finished tweaking git repo https://github.com/magnustorvund/three-salmons [INFO] tweaked toml for git repo https://github.com/magnustorvund/three-salmons written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/magnustorvund/three-salmons 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" "+17092ad00ed8fe1e7f81a7e38238ff70779034b1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+17092ad00ed8fe1e7f81a7e38238ff70779034b1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 60416db869e8e19a90dd42710abd8399b65bfd606ec21eba88a67847e292deb9 [INFO] running `Command { std: "docker" "start" "-a" "60416db869e8e19a90dd42710abd8399b65bfd606ec21eba88a67847e292deb9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "60416db869e8e19a90dd42710abd8399b65bfd606ec21eba88a67847e292deb9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "60416db869e8e19a90dd42710abd8399b65bfd606ec21eba88a67847e292deb9", kill_on_drop: false }` [INFO] [stdout] 60416db869e8e19a90dd42710abd8399b65bfd606ec21eba88a67847e292deb9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+17092ad00ed8fe1e7f81a7e38238ff70779034b1" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b60cff3faf446f2706f98a71d28bcb2b00c150e6a2990eb4a22be58ee2146507 [INFO] running `Command { std: "docker" "start" "-a" "b60cff3faf446f2706f98a71d28bcb2b00c150e6a2990eb4a22be58ee2146507", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.95 [INFO] [stderr] Compiling libc v0.2.172 [INFO] [stderr] Compiling unicode-ident v1.0.18 [INFO] [stderr] Compiling zerocopy v0.8.25 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling anyhow v1.0.98 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling syn v2.0.101 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling three-salmons v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Color` [INFO] [stdout] --> src/uci.rs:1:27 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::board::{Board, Color, Piece}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::evaluation::Evaluator` [INFO] [stdout] --> src/uci.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::evaluation::Evaluator; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `square_mask` [INFO] [stdout] --> src/movegen.rs:148:13 [INFO] [stdout] | [INFO] [stdout] 148 | let square_mask = 1u64 << square; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_square_mask` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/uci.rs:249:5 [INFO] [stdout] | [INFO] [stdout] 248 | enum Square { [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] 249 | A1, B1, C1, D1, E1, F1, G1, H1, [INFO] [stdout] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stdout] 250 | A2, B2, C2, D2, E2, F2, G2, H2, [INFO] [stdout] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stdout] 251 | A3, B3, C3, D3, E3, F3, G3, H3, [INFO] [stdout] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stdout] 252 | A4, B4, C4, D4, E4, F4, G4, H4, [INFO] [stdout] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stdout] 253 | A5, B5, C5, D5, E5, F5, G5, H5, [INFO] [stdout] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stdout] 254 | A6, B6, C6, D6, E6, F6, G6, H6, [INFO] [stdout] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stdout] 255 | A7, B7, C7, D7, E7, F7, G7, H7, [INFO] [stdout] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stdout] 256 | A8, B8, C8, D8, E8, F8, G8, H8, [INFO] [stdout] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = note: `Square` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Color` [INFO] [stdout] --> src/uci.rs:1:27 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::board::{Board, Color, Piece}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::evaluation::Evaluator` [INFO] [stdout] --> src/uci.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::evaluation::Evaluator; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Color` and `Piece` [INFO] [stdout] --> src/main.rs:8:20 [INFO] [stdout] | [INFO] [stdout] 8 | use board::{Board, Color, Piece}; [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `evaluation::Evaluator` [INFO] [stdout] --> src/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use evaluation::Evaluator; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `search::Search` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use search::Search; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration` and `Instant` [INFO] [stdout] --> src/main.rs:13:17 [INFO] [stdout] | [INFO] [stdout] 13 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `square_mask` [INFO] [stdout] --> src/movegen.rs:148:13 [INFO] [stdout] | [INFO] [stdout] 148 | let square_mask = 1u64 << square; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_square_mask` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/main.rs:21:15 [INFO] [stdout] | [INFO] [stdout] 21 | fn parse_move(input: &str) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mv` [INFO] [stdout] --> src/main.rs:26:16 [INFO] [stdout] | [INFO] [stdout] 26 | fn format_move(mv: &Move) -> String { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_mv` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_move` is never used [INFO] [stdout] --> src/main.rs:21:4 [INFO] [stdout] | [INFO] [stdout] 21 | fn parse_move(input: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_move` is never used [INFO] [stdout] --> src/main.rs:26:4 [INFO] [stdout] | [INFO] [stdout] 26 | fn format_move(mv: &Move) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_move_legal` is never used [INFO] [stdout] --> src/main.rs:31:4 [INFO] [stdout] | [INFO] [stdout] 31 | fn is_move_legal(board: &Board, mv: &Move) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `to_fen` is never used [INFO] [stdout] --> src/board.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl Board { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn to_fen(&self) -> String { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `king_attack_bonus` is never read [INFO] [stdout] --> src/evaluation.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Evaluator { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 40 | pub king_attack_bonus: i32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `bishop_magics` and `rook_magics` are never read [INFO] [stdout] --> src/movegen.rs:89:9 [INFO] [stdout] | [INFO] [stdout] 88 | pub struct MoveGenerator { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 89 | pub bishop_magics: [u64; 64], [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 90 | pub rook_magics: [u64; 64], [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/movegen.rs:977:12 [INFO] [stdout] | [INFO] [stdout] 93 | impl MoveGenerator { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 977 | pub fn get_game_state(&self, board: &Board, move_history: &[(Board, Move)]) -> GameState { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1011 | fn is_threefold_repetition(&self, board: &Board, move_history: &[(Board, Move)]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1027 | fn get_position_hash(&self, board: &Board) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1057 | fn is_insufficient_material(&self, board: &Board) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1096 | fn count_pieces(&self, board: &Board) -> (u8, u8) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1102 | fn count_minor_pieces(&self, board: &Board) -> (u8, u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1108 | fn count_bishops(&self, board: &Board) -> (u8, u8) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1114 | fn find_bishop_square(&self, board: &Board, color: Color) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PRIME_NUMBERS` is never used [INFO] [stdout] --> src/movegen.rs:1127:7 [INFO] [stdout] | [INFO] [stdout] 1127 | const PRIME_NUMBERS: [u64; 15] = [ [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Ongoing`, `Checkmate`, `Stalemate`, `ThreefoldRepetition`, `FiftyMoveRule`, and `InsufficientMaterial` are never constructed [INFO] [stdout] --> src/movegen.rs:1133:5 [INFO] [stdout] | [INFO] [stdout] 1132 | pub enum GameState { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 1133 | Ongoing, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 1134 | Checkmate(Color), // Color is the winner [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 1135 | Stalemate, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 1136 | ThreefoldRepetition, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 1137 | FiftyMoveRule, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 1138 | InsufficientMaterial, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GameState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_nodes_searched` is never used [INFO] [stdout] --> src/search.rs:306:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl Search { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 306 | pub fn get_nodes_searched(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `hash` is never read [INFO] [stdout] --> src/transposition.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct TranspositionEntry { [INFO] [stdout] | ------------------ field in this struct [INFO] [stdout] 12 | pub hash: u64, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TranspositionEntry` 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: methods `handle_command`, `handle_uci`, and `handle_ucinewgame` are never used [INFO] [stdout] --> src/uci.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl UciHandler { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn handle_command(&mut self, command: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | fn handle_uci(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | fn handle_ucinewgame(&mut self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/uci.rs:249:5 [INFO] [stdout] | [INFO] [stdout] 248 | enum Square { [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] 249 | A1, B1, C1, D1, E1, F1, G1, H1, [INFO] [stdout] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stdout] 250 | A2, B2, C2, D2, E2, F2, G2, H2, [INFO] [stdout] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stdout] 251 | A3, B3, C3, D3, E3, F3, G3, H3, [INFO] [stdout] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stdout] 252 | A4, B4, C4, D4, E4, F4, G4, H4, [INFO] [stdout] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stdout] 253 | A5, B5, C5, D5, E5, F5, G5, H5, [INFO] [stdout] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stdout] 254 | A6, B6, C6, D6, E6, F6, G6, H6, [INFO] [stdout] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stdout] 255 | A7, B7, C7, D7, E7, F7, G7, H7, [INFO] [stdout] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stdout] 256 | A8, B8, C8, D8, E8, F8, G8, H8, [INFO] [stdout] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = note: `Square` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.10s [INFO] running `Command { std: "docker" "inspect" "b60cff3faf446f2706f98a71d28bcb2b00c150e6a2990eb4a22be58ee2146507", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b60cff3faf446f2706f98a71d28bcb2b00c150e6a2990eb4a22be58ee2146507", kill_on_drop: false }` [INFO] [stdout] b60cff3faf446f2706f98a71d28bcb2b00c150e6a2990eb4a22be58ee2146507 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+17092ad00ed8fe1e7f81a7e38238ff70779034b1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3409f4c49991eb6ed19de808078185735861b23e96d7856365785582d09265a9 [INFO] running `Command { std: "docker" "start" "-a" "3409f4c49991eb6ed19de808078185735861b23e96d7856365785582d09265a9", kill_on_drop: false }` [INFO] [stdout] warning: unused import: `Color` [INFO] [stdout] --> src/uci.rs:1:27 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::board::{Board, Color, Piece}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::evaluation::Evaluator` [INFO] [stdout] --> src/uci.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::evaluation::Evaluator; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `square_mask` [INFO] [stdout] --> src/movegen.rs:148:13 [INFO] [stdout] | [INFO] [stdout] 148 | let square_mask = 1u64 << square; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_square_mask` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling three-salmons v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/uci.rs:249:5 [INFO] [stdout] | [INFO] [stdout] 248 | enum Square { [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] 249 | A1, B1, C1, D1, E1, F1, G1, H1, [INFO] [stdout] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stdout] 250 | A2, B2, C2, D2, E2, F2, G2, H2, [INFO] [stdout] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stdout] 251 | A3, B3, C3, D3, E3, F3, G3, H3, [INFO] [stdout] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stdout] 252 | A4, B4, C4, D4, E4, F4, G4, H4, [INFO] [stdout] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stdout] 253 | A5, B5, C5, D5, E5, F5, G5, H5, [INFO] [stdout] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stdout] 254 | A6, B6, C6, D6, E6, F6, G6, H6, [INFO] [stdout] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stdout] 255 | A7, B7, C7, D7, E7, F7, G7, H7, [INFO] [stdout] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stdout] 256 | A8, B8, C8, D8, E8, F8, G8, H8, [INFO] [stdout] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = note: `Square` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Color` [INFO] [stdout] --> src/uci.rs:1:27 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::board::{Board, Color, Piece}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::evaluation::Evaluator` [INFO] [stdout] --> src/uci.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::evaluation::Evaluator; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Color` and `Piece` [INFO] [stdout] --> src/main.rs:8:20 [INFO] [stdout] | [INFO] [stdout] 8 | use board::{Board, Color, Piece}; [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `evaluation::Evaluator` [INFO] [stdout] --> src/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use evaluation::Evaluator; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `search::Search` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use search::Search; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration` and `Instant` [INFO] [stdout] --> src/main.rs:13:17 [INFO] [stdout] | [INFO] [stdout] 13 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Color` [INFO] [stdout] --> src/uci.rs:1:27 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::board::{Board, Color, Piece}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::evaluation::Evaluator` [INFO] [stdout] --> src/uci.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::evaluation::Evaluator; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `square_mask` [INFO] [stdout] --> src/movegen.rs:148:13 [INFO] [stdout] | [INFO] [stdout] 148 | let square_mask = 1u64 << square; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_square_mask` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/main.rs:21:15 [INFO] [stdout] | [INFO] [stdout] 21 | fn parse_move(input: &str) -> Option { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mv` [INFO] [stdout] --> src/main.rs:26:16 [INFO] [stdout] | [INFO] [stdout] 26 | fn format_move(mv: &Move) -> String { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_mv` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `square_mask` [INFO] [stdout] --> src/movegen.rs:148:13 [INFO] [stdout] | [INFO] [stdout] 148 | let square_mask = 1u64 << square; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_square_mask` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_move` is never used [INFO] [stdout] --> src/main.rs:21:4 [INFO] [stdout] | [INFO] [stdout] 21 | fn parse_move(input: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_move` is never used [INFO] [stdout] --> src/main.rs:26:4 [INFO] [stdout] | [INFO] [stdout] 26 | fn format_move(mv: &Move) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_move_legal` is never used [INFO] [stdout] --> src/main.rs:31:4 [INFO] [stdout] | [INFO] [stdout] 31 | fn is_move_legal(board: &Board, mv: &Move) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `to_fen` is never used [INFO] [stdout] --> src/board.rs:72:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl Board { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn to_fen(&self) -> String { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `king_attack_bonus` is never read [INFO] [stdout] --> src/evaluation.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Evaluator { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 40 | pub king_attack_bonus: i32, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `bishop_magics` and `rook_magics` are never read [INFO] [stdout] --> src/movegen.rs:89:9 [INFO] [stdout] | [INFO] [stdout] 88 | pub struct MoveGenerator { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 89 | pub bishop_magics: [u64; 64], [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 90 | pub rook_magics: [u64; 64], [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/movegen.rs:977:12 [INFO] [stdout] | [INFO] [stdout] 93 | impl MoveGenerator { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 977 | pub fn get_game_state(&self, board: &Board, move_history: &[(Board, Move)]) -> GameState { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1011 | fn is_threefold_repetition(&self, board: &Board, move_history: &[(Board, Move)]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1027 | fn get_position_hash(&self, board: &Board) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1057 | fn is_insufficient_material(&self, board: &Board) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1096 | fn count_pieces(&self, board: &Board) -> (u8, u8) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1102 | fn count_minor_pieces(&self, board: &Board) -> (u8, u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1108 | fn count_bishops(&self, board: &Board) -> (u8, u8) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1114 | fn find_bishop_square(&self, board: &Board, color: Color) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PRIME_NUMBERS` is never used [INFO] [stdout] --> src/movegen.rs:1127:7 [INFO] [stdout] | [INFO] [stdout] 1127 | const PRIME_NUMBERS: [u64; 15] = [ [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Ongoing`, `Checkmate`, `Stalemate`, `ThreefoldRepetition`, `FiftyMoveRule`, and `InsufficientMaterial` are never constructed [INFO] [stdout] --> src/movegen.rs:1133:5 [INFO] [stdout] | [INFO] [stdout] 1132 | pub enum GameState { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 1133 | Ongoing, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 1134 | Checkmate(Color), // Color is the winner [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 1135 | Stalemate, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 1136 | ThreefoldRepetition, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 1137 | FiftyMoveRule, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 1138 | InsufficientMaterial, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GameState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_nodes_searched` is never used [INFO] [stdout] --> src/search.rs:306:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl Search { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 306 | pub fn get_nodes_searched(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `hash` is never read [INFO] [stdout] --> src/transposition.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct TranspositionEntry { [INFO] [stdout] | ------------------ field in this struct [INFO] [stdout] 12 | pub hash: u64, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TranspositionEntry` 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: methods `handle_command`, `handle_uci`, and `handle_ucinewgame` are never used [INFO] [stdout] --> src/uci.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl UciHandler { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn handle_command(&mut self, command: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | fn handle_uci(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | fn handle_ucinewgame(&mut self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/uci.rs:249:5 [INFO] [stdout] | [INFO] [stdout] 248 | enum Square { [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] 249 | A1, B1, C1, D1, E1, F1, G1, H1, [INFO] [stdout] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stdout] 250 | A2, B2, C2, D2, E2, F2, G2, H2, [INFO] [stdout] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stdout] 251 | A3, B3, C3, D3, E3, F3, G3, H3, [INFO] [stdout] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stdout] 252 | A4, B4, C4, D4, E4, F4, G4, H4, [INFO] [stdout] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stdout] 253 | A5, B5, C5, D5, E5, F5, G5, H5, [INFO] [stdout] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stdout] 254 | A6, B6, C6, D6, E6, F6, G6, H6, [INFO] [stdout] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stdout] 255 | A7, B7, C7, D7, E7, F7, G7, H7, [INFO] [stdout] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stdout] 256 | A8, B8, C8, D8, E8, F8, G8, H8, [INFO] [stdout] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = note: `Square` 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: multiple variants are never constructed [INFO] [stdout] --> src/uci.rs:249:5 [INFO] [stdout] | [INFO] [stdout] 248 | enum Square { [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] 249 | A1, B1, C1, D1, E1, F1, G1, H1, [INFO] [stdout] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stdout] 250 | A2, B2, C2, D2, E2, F2, G2, H2, [INFO] [stdout] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stdout] 251 | A3, B3, C3, D3, E3, F3, G3, H3, [INFO] [stdout] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stdout] 252 | A4, B4, C4, D4, E4, F4, G4, H4, [INFO] [stdout] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stdout] 253 | A5, B5, C5, D5, E5, F5, G5, H5, [INFO] [stdout] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stdout] 254 | A6, B6, C6, D6, E6, F6, G6, H6, [INFO] [stdout] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stdout] 255 | A7, B7, C7, D7, E7, F7, G7, H7, [INFO] [stdout] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stdout] 256 | A8, B8, C8, D8, E8, F8, G8, H8, [INFO] [stdout] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = note: `Square` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.61s [INFO] running `Command { std: "docker" "inspect" "3409f4c49991eb6ed19de808078185735861b23e96d7856365785582d09265a9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3409f4c49991eb6ed19de808078185735861b23e96d7856365785582d09265a9", kill_on_drop: false }` [INFO] [stdout] 3409f4c49991eb6ed19de808078185735861b23e96d7856365785582d09265a9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+17092ad00ed8fe1e7f81a7e38238ff70779034b1" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] f0384fd6cb91642a036a3798253636a2058f2773c37a794cc1f14271c12c3924 [INFO] running `Command { std: "docker" "start" "-a" "f0384fd6cb91642a036a3798253636a2058f2773c37a794cc1f14271c12c3924", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `Color` [INFO] [stderr] --> src/uci.rs:1:27 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::board::{Board, Color, Piece}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::evaluation::Evaluator` [INFO] [stderr] --> src/uci.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::evaluation::Evaluator; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `square_mask` [INFO] [stderr] --> src/movegen.rs:148:13 [INFO] [stderr] | [INFO] [stderr] 148 | let square_mask = 1u64 << square; [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_square_mask` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: multiple variants are never constructed [INFO] [stderr] --> src/uci.rs:249:5 [INFO] [stderr] | [INFO] [stderr] 248 | enum Square { [INFO] [stderr] | ------ variants in this enum [INFO] [stderr] 249 | A1, B1, C1, D1, E1, F1, G1, H1, [INFO] [stderr] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stderr] 250 | A2, B2, C2, D2, E2, F2, G2, H2, [INFO] [stderr] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stderr] 251 | A3, B3, C3, D3, E3, F3, G3, H3, [INFO] [stderr] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stderr] 252 | A4, B4, C4, D4, E4, F4, G4, H4, [INFO] [stderr] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stderr] 253 | A5, B5, C5, D5, E5, F5, G5, H5, [INFO] [stderr] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stderr] 254 | A6, B6, C6, D6, E6, F6, G6, H6, [INFO] [stderr] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stderr] 255 | A7, B7, C7, D7, E7, F7, G7, H7, [INFO] [stderr] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stderr] 256 | A8, B8, C8, D8, E8, F8, G8, H8, [INFO] [stderr] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stderr] | [INFO] [stderr] = note: `Square` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `three-salmons` (lib) generated 4 warnings (run `cargo fix --lib -p three-salmons` to apply 2 suggestions) [INFO] [stderr] warning: unused imports: `Color` and `Piece` [INFO] [stderr] --> src/main.rs:8:20 [INFO] [stderr] | [INFO] [stderr] 8 | use board::{Board, Color, Piece}; [INFO] [stderr] | ^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `evaluation::Evaluator` [INFO] [stderr] --> src/main.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use evaluation::Evaluator; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `search::Search` [INFO] [stderr] --> src/main.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use search::Search; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io` [INFO] [stderr] --> src/main.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use std::io; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Duration` and `Instant` [INFO] [stderr] --> src/main.rs:13:17 [INFO] [stderr] | [INFO] [stderr] 13 | use std::time::{Duration, Instant}; [INFO] [stderr] | ^^^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `input` [INFO] [stderr] --> src/main.rs:21:15 [INFO] [stderr] | [INFO] [stderr] 21 | fn parse_move(input: &str) -> Option { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `mv` [INFO] [stderr] --> src/main.rs:26:16 [INFO] [stderr] | [INFO] [stderr] 26 | fn format_move(mv: &Move) -> String { [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_mv` [INFO] [stderr] [INFO] [stderr] warning: function `parse_move` is never used [INFO] [stderr] --> src/main.rs:21:4 [INFO] [stderr] | [INFO] [stderr] 21 | fn parse_move(input: &str) -> Option { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function `format_move` is never used [INFO] [stderr] --> src/main.rs:26:4 [INFO] [stderr] | [INFO] [stderr] 26 | fn format_move(mv: &Move) -> String { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `is_move_legal` is never used [INFO] [stderr] --> src/main.rs:31:4 [INFO] [stderr] | [INFO] [stderr] 31 | fn is_move_legal(board: &Board, mv: &Move) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `to_fen` is never used [INFO] [stderr] --> src/board.rs:72:12 [INFO] [stderr] | [INFO] [stderr] 40 | impl Board { [INFO] [stderr] | ---------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 72 | pub fn to_fen(&self) -> String { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `king_attack_bonus` is never read [INFO] [stderr] --> src/evaluation.rs:40:9 [INFO] [stderr] | [INFO] [stderr] 4 | pub struct Evaluator { [INFO] [stderr] | --------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 40 | pub king_attack_bonus: i32, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `bishop_magics` and `rook_magics` are never read [INFO] [stderr] --> src/movegen.rs:89:9 [INFO] [stderr] | [INFO] [stderr] 88 | pub struct MoveGenerator { [INFO] [stderr] | ------------- fields in this struct [INFO] [stderr] 89 | pub bishop_magics: [u64; 64], [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 90 | pub rook_magics: [u64; 64], [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple methods are never used [INFO] [stderr] --> src/movegen.rs:977:12 [INFO] [stderr] | [INFO] [stderr] 93 | impl MoveGenerator { [INFO] [stderr] | ------------------ methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 977 | pub fn get_game_state(&self, board: &Board, move_history: &[(Board, Move)]) -> GameState { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1011 | fn is_threefold_repetition(&self, board: &Board, move_history: &[(Board, Move)]) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1027 | fn get_position_hash(&self, board: &Board) -> u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1057 | fn is_insufficient_material(&self, board: &Board) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1096 | fn count_pieces(&self, board: &Board) -> (u8, u8) { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1102 | fn count_minor_pieces(&self, board: &Board) -> (u8, u8) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1108 | fn count_bishops(&self, board: &Board) -> (u8, u8) { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1114 | fn find_bishop_square(&self, board: &Board, color: Color) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `PRIME_NUMBERS` is never used [INFO] [stderr] --> src/movegen.rs:1127:7 [INFO] [stderr] | [INFO] [stderr] 1127 | const PRIME_NUMBERS: [u64; 15] = [ [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variants `Ongoing`, `Checkmate`, `Stalemate`, `ThreefoldRepetition`, `FiftyMoveRule`, and `InsufficientMaterial` are never constructed [INFO] [stderr] --> src/movegen.rs:1133:5 [INFO] [stderr] | [INFO] [stderr] 1132 | pub enum GameState { [INFO] [stderr] | --------- variants in this enum [INFO] [stderr] 1133 | Ongoing, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 1134 | Checkmate(Color), // Color is the winner [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 1135 | Stalemate, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 1136 | ThreefoldRepetition, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 1137 | FiftyMoveRule, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 1138 | InsufficientMaterial, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `GameState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: method `get_nodes_searched` is never used [INFO] [stderr] --> src/search.rs:306:12 [INFO] [stderr] | [INFO] [stderr] 23 | impl Search { [INFO] [stderr] | ----------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 306 | pub fn get_nodes_searched(&self) -> u64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `hash` is never read [INFO] [stderr] --> src/transposition.rs:12:9 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct TranspositionEntry { [INFO] [stderr] | ------------------ field in this struct [INFO] [stderr] 12 | pub hash: u64, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `TranspositionEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: methods `handle_command`, `handle_uci`, and `handle_ucinewgame` are never used [INFO] [stderr] --> src/uci.rs:63:12 [INFO] [stderr] | [INFO] [stderr] 16 | impl UciHandler { [INFO] [stderr] | --------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 63 | pub fn handle_command(&mut self, command: &str) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 80 | fn handle_uci(&self) -> String { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 84 | fn handle_ucinewgame(&mut self) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple variants are never constructed [INFO] [stderr] --> src/uci.rs:249:5 [INFO] [stderr] | [INFO] [stderr] 248 | enum Square { [INFO] [stderr] | ------ variants in this enum [INFO] [stderr] 249 | A1, B1, C1, D1, E1, F1, G1, H1, [INFO] [stderr] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stderr] 250 | A2, B2, C2, D2, E2, F2, G2, H2, [INFO] [stderr] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stderr] 251 | A3, B3, C3, D3, E3, F3, G3, H3, [INFO] [stderr] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stderr] 252 | A4, B4, C4, D4, E4, F4, G4, H4, [INFO] [stderr] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stderr] 253 | A5, B5, C5, D5, E5, F5, G5, H5, [INFO] [stderr] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stderr] 254 | A6, B6, C6, D6, E6, F6, G6, H6, [INFO] [stderr] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stderr] 255 | A7, B7, C7, D7, E7, F7, G7, H7, [INFO] [stderr] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stderr] 256 | A8, B8, C8, D8, E8, F8, G8, H8, [INFO] [stderr] | ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ [INFO] [stderr] | [INFO] [stderr] = note: `Square` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: `three-salmons` (bin "three-salmons" test) generated 23 warnings (3 duplicates) (run `cargo fix --bin "three-salmons" --tests` to apply 5 suggestions) [INFO] [stderr] warning: `three-salmons` (lib test) generated 4 warnings (4 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/three_salmons-b238e69e2c2f78dc) [INFO] [stdout] [INFO] [stdout] running 16 tests [INFO] [stdout] test tests::test_checkmate ... ok [INFO] [stdout] test tests::test_castling ... ok [INFO] [stdout] test tests::test_check ... ok [INFO] [stdout] test search::tests::test_time_control ... ok [INFO] [stdout] test tests::test_initial_position ... ok [INFO] [stdout] test tests::test_move_validation ... ok [INFO] [stdout] test tests::test_pawn_moves ... ok [INFO] [stdout] test tests::test_fifty_move_rule ... ok [INFO] [stdout] test tests::test_insufficient_material ... ok [INFO] [stdout] test tests::test_en_passant ... ok [INFO] [stdout] test tests::test_promotion ... ok [INFO] [stdout] test tests::test_threefold_repetition ... ok [INFO] [stdout] test search::tests::test_search_respects_time_limit ... ok [INFO] [stdout] test tests::test_stalemate ... ok [INFO] [stdout] test search::tests::test_search_uses_entire_time ... ok [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/three_salmons-c5ce4c7291980f73) [INFO] [stdout] test tests::test_perft_initial_position ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test search::tests::test_time_control ... ok [INFO] [stdout] test search::tests::test_search_respects_time_limit ... ok [INFO] [stdout] test search::tests::test_search_uses_entire_time ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s [INFO] [stdout] [INFO] [stderr] Doc-tests three_salmons [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" "f0384fd6cb91642a036a3798253636a2058f2773c37a794cc1f14271c12c3924", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f0384fd6cb91642a036a3798253636a2058f2773c37a794cc1f14271c12c3924", kill_on_drop: false }` [INFO] [stdout] f0384fd6cb91642a036a3798253636a2058f2773c37a794cc1f14271c12c3924