[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] checking mamaxence/rust_uci_chess_engine against try#5ef65a4ed75279dc1b7a26cedc27293a9f4ca8db for pr-143717
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmamaxence%2Frust_uci_chess_engine" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[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-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mamaxence/rust_uci_chess_engine on toolchain 5ef65a4ed75279dc1b7a26cedc27293a9f4ca8db
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5ef65a4ed75279dc1b7a26cedc27293a9f4ca8db" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[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" "+5ef65a4ed75279dc1b7a26cedc27293a9f4ca8db" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+5ef65a4ed75279dc1b7a26cedc27293a9f4ca8db" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f9ebe82eb19befa5686c67b924c493aa348980edc9a1da6640c0cd5a1e6627b8
[INFO] running `Command { std: "docker" "start" "-a" "f9ebe82eb19befa5686c67b924c493aa348980edc9a1da6640c0cd5a1e6627b8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f9ebe82eb19befa5686c67b924c493aa348980edc9a1da6640c0cd5a1e6627b8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f9ebe82eb19befa5686c67b924c493aa348980edc9a1da6640c0cd5a1e6627b8", kill_on_drop: false }`
[INFO] [stdout] f9ebe82eb19befa5686c67b924c493aa348980edc9a1da6640c0cd5a1e6627b8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+5ef65a4ed75279dc1b7a26cedc27293a9f4ca8db" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3aa1e3c5d867fb4be67592d460e3bc01c83bada54f1804a3522e8dd2c484391e
[INFO] running `Command { std: "docker" "start" "-a" "3aa1e3c5d867fb4be67592d460e3bc01c83bada54f1804a3522e8dd2c484391e", kill_on_drop: false }`
[INFO] [stderr]     Checking chess v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0658]: 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]     = note: see issue #50297 <https://github.com/rust-lang/rust/issues/50297> for more information
[INFO] [stdout]     = help: add `#![feature(test)]` to the crate attributes to enable
[INFO] [stdout]     = note: this compiler was built on 2025-07-10; consider upgrading it if it is out of date
[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]   = 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] 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 unresolved module or unlinked crate `test`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `test`, use `cargo add test` to add it to your `Cargo.toml`
[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: 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] 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: 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<Move>{
[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<Case>{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42  |     fn get_moves_for_case(&self, case: &Case) -> Option<Vec<Move>>{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60  |     fn get_attack_move_for_case(&self, case: &Case) -> Option<Vec<Move>>{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     fn pawn_quiet_moves(&self, case: &Case) -> Vec<Move>{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     fn get_pawn_control_case(&self, case: &Case) -> Vec<Case>{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     fn pawn_attack_moves(&self, case: &Case) -> Vec<Move>{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |     fn castle_move(&self) -> Vec<Move>{
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 234 |     fn get_controled_cases(&self, color: &Color) -> HashSet<Case> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 241 |     fn get_pawn_controled_cases(&self, color: &Color) -> Vec<Case> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     fn moves_for_dir(&self,case: &Case, dirs: &[Dir], max: usize) -> Vec<Move>{
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 262 |     fn all_moves_in_dir(&self, from: &Case, dir: &Dir, max: usize) -> Vec<Move>{
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[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] [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] Some errors have detailed explanations: E0432, E0658.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `chess` (bin "chess" test) due to 2 previous errors; 19 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "3aa1e3c5d867fb4be67592d460e3bc01c83bada54f1804a3522e8dd2c484391e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3aa1e3c5d867fb4be67592d460e3bc01c83bada54f1804a3522e8dd2c484391e", kill_on_drop: false }`
[INFO] [stdout] 3aa1e3c5d867fb4be67592d460e3bc01c83bada54f1804a3522e8dd2c484391e
