[INFO] cloning repository https://github.com/mamaxence/rust_uci_chess_engine [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mamaxence/rust_uci_chess_engine" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmamaxence%2Frust_uci_chess_engine", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmamaxence%2Frust_uci_chess_engine'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] efadd0d92cefac71b8a54fec5a27f195316ab7ee [INFO] building mamaxence/rust_uci_chess_engine against master#11663cd3bfefef7d34e8f0892c250bf698049392+rustflags=-Dtail-expr-drop-order for pr-134523 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmamaxence%2Frust_uci_chess_engine" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/mamaxence/rust_uci_chess_engine on toolchain 11663cd3bfefef7d34e8f0892c250bf698049392 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/mamaxence/rust_uci_chess_engine [INFO] finished tweaking git repo https://github.com/mamaxence/rust_uci_chess_engine [INFO] tweaked toml for git repo https://github.com/mamaxence/rust_uci_chess_engine written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/mamaxence/rust_uci_chess_engine already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e30e64df0607f77d7cafb8d967e574869d68881050af1f21e4a8557a95427372 [INFO] running `Command { std: "docker" "start" "-a" "e30e64df0607f77d7cafb8d967e574869d68881050af1f21e4a8557a95427372", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e30e64df0607f77d7cafb8d967e574869d68881050af1f21e4a8557a95427372", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e30e64df0607f77d7cafb8d967e574869d68881050af1f21e4a8557a95427372", kill_on_drop: false }` [INFO] [stdout] e30e64df0607f77d7cafb8d967e574869d68881050af1f21e4a8557a95427372 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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 -Dtail-expr-drop-order" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c05aa63e90401e5188dc14b0fbde618b29e9048889c0e22eb8e610ae68bcbf99 [INFO] running `Command { std: "docker" "start" "-a" "c05aa63e90401e5188dc14b0fbde618b29e9048889c0e22eb8e610ae68bcbf99", kill_on_drop: false }` [INFO] [stderr] Compiling chess v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `read_to_string` and `read` [INFO] [stdout] --> src/engine/move_generation.rs:7:15 [INFO] [stdout] | [INFO] [stdout] 7 | use std::fs::{read, read_to_string}; [INFO] [stdout] | ^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::format` [INFO] [stdout] --> src/engine/move_generation.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::fmt::format; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary braces around `if` condition [INFO] [stdout] --> src/engine/move_generation.rs:267:20 [INFO] [stdout] | [INFO] [stdout] 267 | if {color != self.side}{ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_braces)]` on by default [INFO] [stdout] help: remove these braces [INFO] [stdout] | [INFO] [stdout] 267 - if {color != self.side}{ [INFO] [stdout] 267 + if color != self.side { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: crate-level attribute should be in the root module [INFO] [stdout] --> src/engine/move_generation.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(test)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_attributes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/engine/board.rs:434:56 [INFO] [stdout] | [INFO] [stdout] 434 | _ => {panic!("invalid mv {}", mv); Some(mv.from)} [INFO] [stdout] | --------------------------- ^^^^^^^^^^^^^ unreachable expression [INFO] [stdout] | | [INFO] [stdout] | any code following this expression is unreachable [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/engine/move_generation.rs:202:19 [INFO] [stdout] | [INFO] [stdout] 202 | (Some(p), _) => can_king = false, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/engine/move_generation.rs:203:22 [INFO] [stdout] | [INFO] [stdout] 203 | (_, Some(p)) => can_king = false, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/engine/move_generation.rs:207:19 [INFO] [stdout] | [INFO] [stdout] 207 | (Some(p), _, _) => can_queen = false, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/engine/move_generation.rs:208:22 [INFO] [stdout] | [INFO] [stdout] 208 | (_, Some(p), _) => can_queen = false, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/engine/move_generation.rs:209:25 [INFO] [stdout] | [INFO] [stdout] 209 | (_, _, Some(p)) => can_queen = false, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `kind` [INFO] [stdout] --> src/engine/move_generation.rs:266:38 [INFO] [stdout] | [INFO] [stdout] 266 | if let Some(Piece{color, kind}) = self[&to]{ [INFO] [stdout] | ^^^^ help: try ignoring the field: `kind: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/engine/board.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 67 | pub enum Dir{ [INFO] [stdout] | --- variants in this enum [INFO] [stdout] 68 | Up, [INFO] [stdout] 69 | UpRight, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 70 | Right, [INFO] [stdout] 71 | DownRight, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 72 | Down, [INFO] [stdout] 73 | DownLeft, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 74 | Left, [INFO] [stdout] 75 | UpLeft, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 76 | Cav1, [INFO] [stdout] | ^^^^ [INFO] [stdout] 77 | Cav2, [INFO] [stdout] | ^^^^ [INFO] [stdout] 78 | Cav4, [INFO] [stdout] | ^^^^ [INFO] [stdout] 79 | Cav5, [INFO] [stdout] | ^^^^ [INFO] [stdout] 80 | Cav7, [INFO] [stdout] | ^^^^ [INFO] [stdout] 81 | Cav8, [INFO] [stdout] | ^^^^ [INFO] [stdout] 82 | Cav10, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 83 | Cav11 [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Dir` 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: associated functions `new` and `new_from_str` are never used [INFO] [stdout] --> src/engine/board.rs:92:12 [INFO] [stdout] | [INFO] [stdout] 91 | impl Case{ [INFO] [stdout] | --------- associated functions in this implementation [INFO] [stdout] 92 | pub fn new(place: usize) -> Case{ [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub fn new_from_str(place: &str) -> Case{ [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `flip` is never used [INFO] [stdout] --> src/engine/piece.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl Color{ [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 22 | /// Return an new inverted color [INFO] [stdout] 23 | pub fn flip(&self) -> Color{ [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/engine/moves.rs:166:12 [INFO] [stdout] | [INFO] [stdout] 157 | impl Move{ [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 166 | pub fn new_on_board(str: &str, board: &Board) -> Self{ [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 175 | pub fn is_promotion(&self) -> bool{ [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | pub fn set_kind(&mut self, kind: MoveKind){ [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | pub fn get_kind_on_board(&self, board: &Board) -> MoveKind{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 218 | fn is_capture_on_board(&self, board: &Board) -> bool{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | fn is_promotion_on_board(&self, board: &Board) -> bool{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 232 | fn is_queen_rock_on_board(&self, board: &Board) -> bool{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 245 | fn is_king_rock_on_board(&self, board: &Board) -> bool{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 259 | fn is_en_passant_on_board(&self, board: &Board) -> bool{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 271 | fn is_double_pawn_on_board(&self, board: &Board) -> bool{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/engine/move_generation.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl Board{ [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 14 | pub fn get_moves(&self) -> Vec{ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn is_move_legal(&self, mv: &Move) -> bool{ [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | fn get_attacked_case(&self, color: &Color) -> Vec{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | fn get_moves_for_case(&self, case: &Case) -> Option>{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | fn get_attack_move_for_case(&self, case: &Case) -> Option>{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 113 | fn pawn_quiet_moves(&self, case: &Case) -> Vec{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | fn get_pawn_control_case(&self, case: &Case) -> Vec{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 155 | fn pawn_attack_moves(&self, case: &Case) -> Vec{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 185 | fn castle_move(&self) -> Vec{ [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 234 | fn get_controled_cases(&self, color: &Color) -> HashSet { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 241 | fn get_pawn_controled_cases(&self, color: &Color) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 254 | fn moves_for_dir(&self,case: &Case, dirs: &[Dir], max: usize) -> Vec{ [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 262 | fn all_moves_in_dir(&self, from: &Case, dir: &Dir, max: usize) -> Vec{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 283 | fn is_adversary(&self, case: &Case, color: &Color) -> bool{ [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 292 | fn get_kind_pos(&self, color: &Color) -> Case{ [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/engine/move_generation.rs:300:16 [INFO] [stdout] | [INFO] [stdout] 300 | panic!(format!("king not found on board \n{}", self.to_fen())) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 300 - panic!(format!("king not found on board \n{}", self.to_fen())) [INFO] [stdout] 300 + panic!("king not found on board \n{}", self.to_fen()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.50s [INFO] running `Command { std: "docker" "inspect" "c05aa63e90401e5188dc14b0fbde618b29e9048889c0e22eb8e610ae68bcbf99", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c05aa63e90401e5188dc14b0fbde618b29e9048889c0e22eb8e610ae68bcbf99", kill_on_drop: false }` [INFO] [stdout] c05aa63e90401e5188dc14b0fbde618b29e9048889c0e22eb8e610ae68bcbf99 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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 -Dtail-expr-drop-order" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 78546c564111cde1aa7b5e10b0a92717057a60720239c2fd26dbc8ca41794d10 [INFO] running `Command { std: "docker" "start" "-a" "78546c564111cde1aa7b5e10b0a92717057a60720239c2fd26dbc8ca41794d10", kill_on_drop: false }` [INFO] [stderr] Compiling chess v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0432]: unresolved import `test` [INFO] [stdout] --> src/engine/move_generation.rs:307:9 [INFO] [stdout] | [INFO] [stdout] 307 | use test::Bencher; [INFO] [stdout] | ^^^^ use of undeclared crate or module `test` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Case` [INFO] [stdout] --> src/engine/board.rs:552:39 [INFO] [stdout] | [INFO] [stdout] 552 | use crate::engine::board::{Board, Case}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MoveKind` [INFO] [stdout] --> src/engine/board.rs:553:38 [INFO] [stdout] | [INFO] [stdout] 553 | use crate::engine::moves::{Move, MoveKind}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SimpleKind` [INFO] [stdout] --> src/engine/moves.rs:311:38 [INFO] [stdout] | [INFO] [stdout] 311 | use crate::engine::moves::{Move, SimpleKind, MoveKind}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `read_to_string` and `read` [INFO] [stdout] --> src/engine/move_generation.rs:7:15 [INFO] [stdout] | [INFO] [stdout] 7 | use std::fs::{read, read_to_string}; [INFO] [stdout] | ^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt::format` [INFO] [stdout] --> src/engine/move_generation.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::fmt::format; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary braces around `if` condition [INFO] [stdout] --> src/engine/move_generation.rs:267:20 [INFO] [stdout] | [INFO] [stdout] 267 | if {color != self.side}{ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_braces)]` on by default [INFO] [stdout] help: remove these braces [INFO] [stdout] | [INFO] [stdout] 267 - if {color != self.side}{ [INFO] [stdout] 267 + if color != self.side { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: use of unstable library feature `test`: `bench` is a part of custom test frameworks which are unstable [INFO] [stdout] --> src/engine/move_generation.rs:377:7 [INFO] [stdout] | [INFO] [stdout] 377 | #[bench] [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #64266 [INFO] [stdout] = note: `#[deny(soft_unstable)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::engine::moves::Move` [INFO] [stdout] --> src/engine/move_generation.rs:306:9 [INFO] [stdout] | [INFO] [stdout] 306 | use crate::engine::moves::Move; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: crate-level attribute should be in the root module [INFO] [stdout] --> src/engine/move_generation.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(test)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_attributes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/engine/board.rs:434:56 [INFO] [stdout] | [INFO] [stdout] 434 | _ => {panic!("invalid mv {}", mv); Some(mv.from)} [INFO] [stdout] | --------------------------- ^^^^^^^^^^^^^ unreachable expression [INFO] [stdout] | | [INFO] [stdout] | any code following this expression is unreachable [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/engine/move_generation.rs:202:19 [INFO] [stdout] | [INFO] [stdout] 202 | (Some(p), _) => can_king = false, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/engine/move_generation.rs:203:22 [INFO] [stdout] | [INFO] [stdout] 203 | (_, Some(p)) => can_king = false, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/engine/move_generation.rs:207:19 [INFO] [stdout] | [INFO] [stdout] 207 | (Some(p), _, _) => can_queen = false, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/engine/move_generation.rs:208:22 [INFO] [stdout] | [INFO] [stdout] 208 | (_, Some(p), _) => can_queen = false, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/engine/move_generation.rs:209:25 [INFO] [stdout] | [INFO] [stdout] 209 | (_, _, Some(p)) => can_queen = false, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `kind` [INFO] [stdout] --> src/engine/move_generation.rs:266:38 [INFO] [stdout] | [INFO] [stdout] 266 | if let Some(Piece{color, kind}) = self[&to]{ [INFO] [stdout] | ^^^^ help: try ignoring the field: `kind: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `board` is never read [INFO] [stdout] --> src/engine/move_generation.rs:358:9 [INFO] [stdout] | [INFO] [stdout] 358 | board = board.apply_move(&"a1c1".parse().unwrap()); [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `board` [INFO] [stdout] --> src/engine/move_generation.rs:361:17 [INFO] [stdout] | [INFO] [stdout] 361 | let mut board = Board::new_from_fen("r3k2r/p1ppqpb1/bn2pnp1/3PN3/1p2P3/2N2Q1p/PPPBBPPP/R3K2R w KQkq - 0 0"); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_board` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/engine/move_generation.rs:347:13 [INFO] [stdout] | [INFO] [stdout] 347 | let mut board = Board::new_from_fen("r3k2r/p1ppqpb1/bn2pnp1/3PN3/1p2P3/2N2Q1p/PPPBBPPP/R3K2R w KQkq - 0 0"); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/engine/move_generation.rs:361:13 [INFO] [stdout] | [INFO] [stdout] 361 | let mut board = Board::new_from_fen("r3k2r/p1ppqpb1/bn2pnp1/3PN3/1p2P3/2N2Q1p/PPPBBPPP/R3K2R w KQkq - 0 0"); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0432`. [INFO] [stdout] [INFO] [stderr] error: could not compile `chess` (bin "chess" test) due to 3 previous errors; 19 warnings emitted [INFO] running `Command { std: "docker" "inspect" "78546c564111cde1aa7b5e10b0a92717057a60720239c2fd26dbc8ca41794d10", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "78546c564111cde1aa7b5e10b0a92717057a60720239c2fd26dbc8ca41794d10", kill_on_drop: false }` [INFO] [stdout] 78546c564111cde1aa7b5e10b0a92717057a60720239c2fd26dbc8ca41794d10