[INFO] cloning repository https://github.com/SzymonMisztal/Lab-2-AI
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/SzymonMisztal/Lab-2-AI" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSzymonMisztal%2FLab-2-AI", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSzymonMisztal%2FLab-2-AI'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 68338f32540f35be7950a7a40262a2b894f4d446
[INFO] checking SzymonMisztal/Lab-2-AI against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSzymonMisztal%2FLab-2-AI" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/SzymonMisztal/Lab-2-AI
[INFO] finished tweaking git repo https://github.com/SzymonMisztal/Lab-2-AI
[INFO] tweaked toml for git repo https://github.com/SzymonMisztal/Lab-2-AI written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/SzymonMisztal/Lab-2-AI on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/SzymonMisztal/Lab-2-AI already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded macroquad_macro v0.1.7
[INFO] [stderr]   Downloaded audir-sles v0.1.0
[INFO] [stderr]   Downloaded dasp_frame v0.11.0
[INFO] [stderr]   Downloaded ogg v0.7.1
[INFO] [stderr]   Downloaded quad-alsa-sys v0.3.2
[INFO] [stderr]   Downloaded audrey v0.3.0
[INFO] [stderr]   Downloaded miniquad v0.3.14
[INFO] [stderr]   Downloaded fontdue v0.7.2
[INFO] [stderr]   Downloaded quad-snd v0.2.7
[INFO] [stderr]   Downloaded macroquad v0.3.25
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c65e834479d52a790eff5956f3a20af1f748a60d8220fa4175f4dba27bea5034
[INFO] running `Command { std: "docker" "start" "-a" "c65e834479d52a790eff5956f3a20af1f748a60d8220fa4175f4dba27bea5034", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c65e834479d52a790eff5956f3a20af1f748a60d8220fa4175f4dba27bea5034", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c65e834479d52a790eff5956f3a20af1f748a60d8220fa4175f4dba27bea5034", kill_on_drop: false }`
[INFO] [stdout] c65e834479d52a790eff5956f3a20af1f748a60d8220fa4175f4dba27bea5034
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 70657e36b12c4d977848bb0d87803e263302267cad0b18aa3e61a19db9e8156b
[INFO] running `Command { std: "docker" "start" "-a" "70657e36b12c4d977848bb0d87803e263302267cad0b18aa3e61a19db9e8156b", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.141
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]     Checking simd-adler32 v0.3.5
[INFO] [stderr]    Compiling quad-alsa-sys v0.3.2
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]     Checking once_cell v1.17.1
[INFO] [stderr]    Compiling quad-snd v0.2.7
[INFO] [stderr]     Checking hound v3.5.0
[INFO] [stderr]     Checking ogg v0.7.1
[INFO] [stderr]     Checking dasp_frame v0.11.0
[INFO] [stderr]    Compiling miniquad v0.3.14
[INFO] [stderr]     Checking bytemuck v1.13.1
[INFO] [stderr]     Checking ttf-parser v0.15.2
[INFO] [stderr]     Checking quad-rand v0.2.1
[INFO] [stderr]     Checking glam v0.21.3
[INFO] [stderr]    Compiling macroquad_macro v0.1.7
[INFO] [stderr]     Checking fdeflate v0.3.0
[INFO] [stderr]     Checking miniz_oxide v0.7.1
[INFO] [stderr]     Checking smallvec v0.6.14
[INFO] [stderr]     Checking getrandom v0.2.9
[INFO] [stderr]     Checking lewton v0.9.4
[INFO] [stderr]     Checking ahash v0.7.6
[INFO] [stderr]     Checking hashbrown v0.11.2
[INFO] [stderr]     Checking png v0.17.8
[INFO] [stderr]     Checking audrey v0.3.0
[INFO] [stderr]     Checking fontdue v0.7.2
[INFO] [stderr]     Checking image v0.24.6
[INFO] [stderr]     Checking macroquad v0.3.25
[INFO] [stderr]     Checking Lab2 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `macroquad::miniquad::CursorIcon::Default`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use macroquad::miniquad::CursorIcon::Default;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Board`
[INFO] [stdout]  --> src/main.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::board::{Board};
[INFO] [stdout]   |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::minmax::Minmax`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::minmax::Minmax;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::config::WINDOW_SIZE`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::config::WINDOW_SIZE;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::evaluation::Evaluation`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::evaluation::Evaluation;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]  --> src/board.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::evaluation::Evaluation`
[INFO] [stdout]  --> src/game.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::evaluation::Evaluation;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]  --> src/minmax.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::Borrow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `evaluation`
[INFO] [stdout]  --> src/minmax.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::{config, evaluation};
[INFO] [stdout]   |                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]  --> src/evaluation.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::Borrow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::board::Board`
[INFO] [stdout]  --> src/evaluation.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::board::Board;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PLAYER1_EVAL` and `PLAYER2_EVAL`
[INFO] [stdout]  --> src/evaluation.rs:4:36
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::config::{BORDER_POINTS, PLAYER1_EVAL, PLAYER2_EVAL};
[INFO] [stdout]   |                                    ^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `macroquad::miniquad::CursorIcon::Default`
[INFO] [stdout]  --> src/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use macroquad::miniquad::CursorIcon::Default;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Board`
[INFO] [stdout]  --> src/main.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::board::{Board};
[INFO] [stdout]   |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::minmax::Minmax`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::minmax::Minmax;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::config::WINDOW_SIZE`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::config::WINDOW_SIZE;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::evaluation::Evaluation`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::evaluation::Evaluation;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]  --> src/board.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::evaluation::Evaluation`
[INFO] [stdout]  --> src/game.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::evaluation::Evaluation;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]  --> src/minmax.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::Borrow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `evaluation`
[INFO] [stdout]  --> src/minmax.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::{config, evaluation};
[INFO] [stdout]   |                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]  --> src/evaluation.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::Borrow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::board::Board`
[INFO] [stdout]  --> src/evaluation.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::board::Board;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PLAYER1_EVAL` and `PLAYER2_EVAL`
[INFO] [stdout]  --> src/evaluation.rs:4:36
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::config::{BORDER_POINTS, PLAYER1_EVAL, PLAYER2_EVAL};
[INFO] [stdout]   |                                    ^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/board.rs:48:18
[INFO] [stdout]    |
[INFO] [stdout] 48 |             for (x, ch) in row.iter().enumerate() {
[INFO] [stdout]    |                  ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/minmax.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |         mut board: [[char; 8]; 8],
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `reset_board` and `print_board2` are never used
[INFO] [stdout]   --> src/board.rs:8:12
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl Board {
[INFO] [stdout]    | ---------- associated functions in this implementation
[INFO] [stdout]  8 |     pub fn reset_board(board: &mut [[char; 8]; 8]) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn print_board2(board: &[[char; 8]; 8]) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `is_near_enemy` is never used
[INFO] [stdout]    --> src/game.rs:117:8
[INFO] [stdout]     |
[INFO] [stdout]  11 | impl Game {
[INFO] [stdout]     | --------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 117 |     fn is_near_enemy(board: &[[char; 8]; 8], y: usize, x: usize) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `WINDOW_SIZE` is never used
[INFO] [stdout]  --> src/config.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub static WINDOW_SIZE: i32 = 800;
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `CheckersDiffPos` and `CheckersDiffPosMoves` are never constructed
[INFO] [stdout]   --> src/evaluation.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub enum Evaluation {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout]  8 |     Table,
[INFO] [stdout]  9 |     CheckersDiffPos,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     CheckersDiffPosMoves
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/board.rs:48:18
[INFO] [stdout]    |
[INFO] [stdout] 48 |             for (x, ch) in row.iter().enumerate() {
[INFO] [stdout]    |                  ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]  --> src/user_input.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     io::stdout().flush();
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]   = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]   |
[INFO] [stdout] 6 |     let _ = io::stdout().flush();
[INFO] [stdout]   |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/minmax.rs:86:27
[INFO] [stdout]    |
[INFO] [stdout] 86 |                     tactic.clone()
[INFO] [stdout]    |                           ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `Evaluation` does not implement `Clone`, so calling `clone` on `&Evaluation` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout] 86 -                     tactic.clone()
[INFO] [stdout] 86 +                     tactic
[INFO] [stdout]    |
[INFO] [stdout] help: if you meant to clone `Evaluation`, implement `Clone` for it
[INFO] [stdout]   --> src/evaluation.rs:7:1
[INFO] [stdout]    |
[INFO] [stdout]  7 + #[derive(Clone)]
[INFO] [stdout]  8 | pub enum Evaluation {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/minmax.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |         mut board: [[char; 8]; 8],
[INFO] [stdout]    |         ----^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `reset_board` and `print_board2` are never used
[INFO] [stdout]   --> src/board.rs:8:12
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl Board {
[INFO] [stdout]    | ---------- associated functions in this implementation
[INFO] [stdout]  8 |     pub fn reset_board(board: &mut [[char; 8]; 8]) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn print_board2(board: &[[char; 8]; 8]) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `is_near_enemy` is never used
[INFO] [stdout]    --> src/game.rs:117:8
[INFO] [stdout]     |
[INFO] [stdout]  11 | impl Game {
[INFO] [stdout]     | --------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 117 |     fn is_near_enemy(board: &[[char; 8]; 8], y: usize, x: usize) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `WINDOW_SIZE` is never used
[INFO] [stdout]  --> src/config.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub static WINDOW_SIZE: i32 = 800;
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `CheckersDiffPos` and `CheckersDiffPosMoves` are never constructed
[INFO] [stdout]   --> src/evaluation.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub enum Evaluation {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout]  8 |     Table,
[INFO] [stdout]  9 |     CheckersDiffPos,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     CheckersDiffPosMoves
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]  --> src/user_input.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     io::stdout().flush();
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]   = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]   |
[INFO] [stdout] 6 |     let _ = io::stdout().flush();
[INFO] [stdout]   |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]   --> src/minmax.rs:86:27
[INFO] [stdout]    |
[INFO] [stdout] 86 |                     tactic.clone()
[INFO] [stdout]    |                           ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the type `Evaluation` does not implement `Clone`, so calling `clone` on `&Evaluation` copies the reference, which does not do anything and can be removed
[INFO] [stdout]    = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]    |
[INFO] [stdout] 86 -                     tactic.clone()
[INFO] [stdout] 86 +                     tactic
[INFO] [stdout]    |
[INFO] [stdout] help: if you meant to clone `Evaluation`, implement `Clone` for it
[INFO] [stdout]   --> src/evaluation.rs:7:1
[INFO] [stdout]    |
[INFO] [stdout]  7 + #[derive(Clone)]
[INFO] [stdout]  8 | pub enum Evaluation {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.97s
[INFO] running `Command { std: "docker" "inspect" "70657e36b12c4d977848bb0d87803e263302267cad0b18aa3e61a19db9e8156b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "70657e36b12c4d977848bb0d87803e263302267cad0b18aa3e61a19db9e8156b", kill_on_drop: false }`
[INFO] [stdout] 70657e36b12c4d977848bb0d87803e263302267cad0b18aa3e61a19db9e8156b
