[INFO] cloning repository https://github.com/jeunotca/blobwar-ai-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jeunotca/blobwar-ai-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjeunotca%2Fblobwar-ai-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjeunotca%2Fblobwar-ai-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1826be9144c5da5989cd95f0b5decfdd1bc35cb5
[INFO] checking jeunotca/blobwar-ai-rust against master#5518eaa946291f00471af8b254b2a1715f234882 for pr-120393
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjeunotca%2Fblobwar-ai-rust" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/jeunotca/blobwar-ai-rust on toolchain 5518eaa946291f00471af8b254b2a1715f234882
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/jeunotca/blobwar-ai-rust
[INFO] finished tweaking git repo https://github.com/jeunotca/blobwar-ai-rust
[INFO] tweaked toml for git repo https://github.com/jeunotca/blobwar-ai-rust written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/jeunotca/blobwar-ai-rust 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" "+5518eaa946291f00471af8b254b2a1715f234882" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d71653f40f36e685ea41ba323e385fd7e20075311ff034a266e9f46f8cb40692
[INFO] running `Command { std: "docker" "start" "-a" "d71653f40f36e685ea41ba323e385fd7e20075311ff034a266e9f46f8cb40692", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d71653f40f36e685ea41ba323e385fd7e20075311ff034a266e9f46f8cb40692", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d71653f40f36e685ea41ba323e385fd7e20075311ff034a266e9f46f8cb40692", kill_on_drop: false }`
[INFO] [stdout] d71653f40f36e685ea41ba323e385fd7e20075311ff034a266e9f46f8cb40692
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6c823dac7879c55408c65952b5df7582a28b128e853b4595b19a5abf405daecc
[INFO] running `Command { std: "docker" "start" "-a" "6c823dac7879c55408c65952b5df7582a28b128e853b4595b19a5abf405daecc", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.0.1
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]    Compiling libc v0.2.92
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]    Compiling proc-macro2 v0.4.27
[INFO] [stderr]    Compiling semver v0.1.20
[INFO] [stderr]    Compiling rayon-core v1.9.0
[INFO] [stderr]     Checking scopeguard v1.1.0
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling byteorder v1.3.1
[INFO] [stderr]    Compiling serde v1.0.87
[INFO] [stderr]    Compiling ryu v0.2.7
[INFO] [stderr]     Checking either v1.5.0
[INFO] [stderr]     Checking itoa v0.4.3
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking cfg-if v0.1.6
[INFO] [stderr]     Checking bitflags v0.4.0
[INFO] [stderr]     Checking glob v0.2.11
[INFO] [stderr]     Checking itertools v0.8.0
[INFO] [stderr]    Compiling rustc_version v0.1.7
[INFO] [stderr]    Compiling crossbeam-utils v0.8.3
[INFO] [stderr]    Compiling memoffset v0.6.3
[INFO] [stderr]    Compiling rayon v1.5.0
[INFO] [stderr]    Compiling nix v0.6.0
[INFO] [stderr]     Checking term v0.5.1
[INFO] [stderr]    Compiling quote v0.6.11
[INFO] [stderr]    Compiling syn v0.15.26
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking crossbeam-epoch v0.9.3
[INFO] [stderr]     Checking crossbeam-channel v0.5.0
[INFO] [stderr]     Checking crossbeam-deque v0.8.0
[INFO] [stderr]    Compiling serde_derive v1.0.87
[INFO] [stderr]     Checking serde_json v1.0.38
[INFO] [stderr]     Checking blobwar v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/strategy/alphabeta.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/strategy/alphabeta.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/strategy/evil.rs:57:45
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn alphabeta(profondeur: u8, mut alpha: i8, mut beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[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/strategy/evil.rs:81:52
[INFO] [stdout]    |
[INFO] [stdout] 81 | fn alphabeta_sorted(profondeur: u8, mut alpha: i8, mut beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[INFO] [stdout]    |                                                    ----^^^^
[INFO] [stdout]    |                                                    |
[INFO] [stdout]    |                                                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `alpha`
[INFO] [stdout]    --> src/strategy/evil.rs:109:43
[INFO] [stdout]     |
[INFO] [stdout] 109 | fn alphabeta_iteratif(profondeur: u8, mut alpha: i8, mut beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[INFO] [stdout]     |                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_alpha`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `beta`
[INFO] [stdout]    --> src/strategy/evil.rs:109:58
[INFO] [stdout]     |
[INFO] [stdout] 109 | fn alphabeta_iteratif(profondeur: u8, mut alpha: i8, mut beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[INFO] [stdout]     |                                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_beta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/strategy/evil.rs:109:39
[INFO] [stdout]     |
[INFO] [stdout] 109 | fn alphabeta_iteratif(profondeur: u8, mut alpha: i8, mut beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[INFO] [stdout]     |                                       ----^^^^^
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/strategy/evil.rs:109:54
[INFO] [stdout]     |
[INFO] [stdout] 109 | fn alphabeta_iteratif(profondeur: u8, mut alpha: i8, mut beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[INFO] [stdout]     |                                                      ----^^^^
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/strategy/evil.rs:57:45
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn alphabeta(profondeur: u8, mut alpha: i8, mut beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[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/strategy/evil.rs:81:52
[INFO] [stdout]    |
[INFO] [stdout] 81 | fn alphabeta_sorted(profondeur: u8, mut alpha: i8, mut beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[INFO] [stdout]    |                                                    ----^^^^
[INFO] [stdout]    |                                                    |
[INFO] [stdout]    |                                                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `alpha`
[INFO] [stdout]    --> src/strategy/evil.rs:109:43
[INFO] [stdout]     |
[INFO] [stdout] 109 | fn alphabeta_iteratif(profondeur: u8, mut alpha: i8, mut beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[INFO] [stdout]     |                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_alpha`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `beta`
[INFO] [stdout]    --> src/strategy/evil.rs:109:58
[INFO] [stdout]     |
[INFO] [stdout] 109 | fn alphabeta_iteratif(profondeur: u8, mut alpha: i8, mut beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[INFO] [stdout]     |                                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_beta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/strategy/evil.rs:109:39
[INFO] [stdout]     |
[INFO] [stdout] 109 | fn alphabeta_iteratif(profondeur: u8, mut alpha: i8, mut beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[INFO] [stdout]     |                                       ----^^^^^
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/strategy/evil.rs:109:54
[INFO] [stdout]     |
[INFO] [stdout] 109 | fn alphabeta_iteratif(profondeur: u8, mut alpha: i8, mut beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[INFO] [stdout]     |                                                      ----^^^^
[INFO] [stdout]     |                                                      |
[INFO] [stdout]     |                                                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/strategy/evil.rs:123:49
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn alphabeta_par(profondeur: u8, mut alpha: i8, mut beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[INFO] [stdout]     |                                                 ----^^^^
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/strategy/evil.rs:123:49
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn alphabeta_par(profondeur: u8, mut alpha: i8, mut beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[INFO] [stdout]     |                                                 ----^^^^
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/strategy/alphabeta.rs:114:49
[INFO] [stdout]     |
[INFO] [stdout] 114 | fn alphabeta_pvs(profondeur: u8, mut alpha: i8, mut beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[INFO] [stdout]     |                                                 ----^^^^
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/strategy/alphabeta.rs:158:53
[INFO] [stdout]     |
[INFO] [stdout] 158 | fn alphabeta_par_classic_with_score(profondeur: u8, mut alpha: i8, mut beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[INFO] [stdout]     |                                                     ----^^^^^
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/strategy/alphabeta.rs:158:68
[INFO] [stdout]     |
[INFO] [stdout] 158 | fn alphabeta_par_classic_with_score(profondeur: u8, mut alpha: i8, mut beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[INFO] [stdout]     |                                                                    ----^^^^
[INFO] [stdout]     |                                                                    |
[INFO] [stdout]     |                                                                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/strategy/alphabeta.rs:171:43
[INFO] [stdout]     |
[INFO] [stdout] 171 | fn alphabeta_par_infinite(profondeur: u8, mut alpha: i8, mut beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[INFO] [stdout]     |                                           ----^^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/strategy/alphabeta.rs:171:58
[INFO] [stdout]     |
[INFO] [stdout] 171 | fn alphabeta_par_infinite(profondeur: u8, mut alpha: i8, mut beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[INFO] [stdout]     |                                                          ----^^^^
[INFO] [stdout]     |                                                          |
[INFO] [stdout]     |                                                          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `tmp_bc` is never read
[INFO] [stdout]    --> src/strategy/alphabeta.rs:208:25
[INFO] [stdout]     |
[INFO] [stdout] 208 |                 let mut tmp_bc = best_move;
[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: value assigned to `tmp_bv` is never read
[INFO] [stdout]    --> src/strategy/alphabeta.rs:209:25
[INFO] [stdout]     |
[INFO] [stdout] 209 |                 let mut tmp_bv = best_val;
[INFO] [stdout]     |                         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/strategy/alphabeta.rs:114:49
[INFO] [stdout]     |
[INFO] [stdout] 114 | fn alphabeta_pvs(profondeur: u8, mut alpha: i8, mut beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[INFO] [stdout]     |                                                 ----^^^^
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/strategy/alphabeta.rs:197:39
[INFO] [stdout]     |
[INFO] [stdout] 197 | fn alphabeta_par_pvs2(profondeur: u8, mut alpha: i8, beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[INFO] [stdout]     |                                       ----^^^^^
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `tmp_bc` is never read
[INFO] [stdout]    --> src/strategy/alphabeta.rs:250:25
[INFO] [stdout]     |
[INFO] [stdout] 250 |                 let mut tmp_bc = best_move;
[INFO] [stdout]     |                         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `tmp_bv` is never read
[INFO] [stdout]    --> src/strategy/alphabeta.rs:251:25
[INFO] [stdout]     |
[INFO] [stdout] 251 |                 let mut tmp_bv = best_val;
[INFO] [stdout]     |                         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/strategy/alphabeta.rs:158:53
[INFO] [stdout]     |
[INFO] [stdout] 158 | fn alphabeta_par_classic_with_score(profondeur: u8, mut alpha: i8, mut beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[INFO] [stdout]     |                                                     ----^^^^^
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/strategy/alphabeta.rs:158:68
[INFO] [stdout]     |
[INFO] [stdout] 158 | fn alphabeta_par_classic_with_score(profondeur: u8, mut alpha: i8, mut beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[INFO] [stdout]     |                                                                    ----^^^^
[INFO] [stdout]     |                                                                    |
[INFO] [stdout]     |                                                                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/strategy/alphabeta.rs:239:55
[INFO] [stdout]     |
[INFO] [stdout] 239 | fn alphabeta_par_pvs_double_depth_par(profondeur: u8, mut alpha: i8, beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[INFO] [stdout]     |                                                       ----^^^^^
[INFO] [stdout]     |                                                       |
[INFO] [stdout]     |                                                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/strategy/alphabeta.rs:171:43
[INFO] [stdout]     |
[INFO] [stdout] 171 | fn alphabeta_par_infinite(profondeur: u8, mut alpha: i8, mut beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[INFO] [stdout]     |                                           ----^^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/strategy/alphabeta.rs:171:58
[INFO] [stdout]     |
[INFO] [stdout] 171 | fn alphabeta_par_infinite(profondeur: u8, mut alpha: i8, mut beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[INFO] [stdout]     |                                                          ----^^^^
[INFO] [stdout]     |                                                          |
[INFO] [stdout]     |                                                          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `tmp_bc` is never read
[INFO] [stdout]    --> src/strategy/alphabeta.rs:311:25
[INFO] [stdout]     |
[INFO] [stdout] 311 |                 let mut tmp_bc = best_move;
[INFO] [stdout]     |                         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `tmp_bv` is never read
[INFO] [stdout]    --> src/strategy/alphabeta.rs:312:25
[INFO] [stdout]     |
[INFO] [stdout] 312 |                 let mut tmp_bv = best_val;
[INFO] [stdout]     |                         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `tmp_bc` is never read
[INFO] [stdout]    --> src/strategy/alphabeta.rs:208:25
[INFO] [stdout]     |
[INFO] [stdout] 208 |                 let mut tmp_bc = best_move;
[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: value assigned to `tmp_bv` is never read
[INFO] [stdout]    --> src/strategy/alphabeta.rs:209:25
[INFO] [stdout]     |
[INFO] [stdout] 209 |                 let mut tmp_bv = best_val;
[INFO] [stdout]     |                         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/strategy/alphabeta.rs:300:35
[INFO] [stdout]     |
[INFO] [stdout] 300 | fn alphabeta_par2(profondeur: u8, mut alpha: i8, beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[INFO] [stdout]     |                                   ----^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/strategy/alphabeta.rs:197:39
[INFO] [stdout]     |
[INFO] [stdout] 197 | fn alphabeta_par_pvs2(profondeur: u8, mut alpha: i8, beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[INFO] [stdout]     |                                       ----^^^^^
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `tmp_bc` is never read
[INFO] [stdout]    --> src/strategy/alphabeta.rs:250:25
[INFO] [stdout]     |
[INFO] [stdout] 250 |                 let mut tmp_bc = best_move;
[INFO] [stdout]     |                         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `tmp_bv` is never read
[INFO] [stdout]    --> src/strategy/alphabeta.rs:251:25
[INFO] [stdout]     |
[INFO] [stdout] 251 |                 let mut tmp_bv = best_val;
[INFO] [stdout]     |                         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/strategy/alphabeta.rs:239:55
[INFO] [stdout]     |
[INFO] [stdout] 239 | fn alphabeta_par_pvs_double_depth_par(profondeur: u8, mut alpha: i8, beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[INFO] [stdout]     |                                                       ----^^^^^
[INFO] [stdout]     |                                                       |
[INFO] [stdout]     |                                                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `minimax` is never used
[INFO] [stdout]   --> src/strategy/minmax.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn minimax(profondeur: u8, maximizing: bool, state: Configuration) -> i8 {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `negamax2` is never used
[INFO] [stdout]   --> src/strategy/evil.rs:36:4
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn negamax2(profondeur: u8, mut alpha: i8, beta: i8, state: Configuration) -> (i8, i8, i8) {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `alphabeta_iteratif` is never used
[INFO] [stdout]    --> src/strategy/evil.rs:109:4
[INFO] [stdout]     |
[INFO] [stdout] 109 | fn alphabeta_iteratif(profondeur: u8, mut alpha: i8, mut beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `alphabeta_par` is never used
[INFO] [stdout]    --> src/strategy/evil.rs:123:4
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn alphabeta_par(profondeur: u8, mut alpha: i8, mut beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `alphabeta` is never used
[INFO] [stdout]   --> src/strategy/alphabeta.rs:62:4
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn alphabeta(profondeur: u8, mut alpha: i8, beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `alphabeta_aspiration` is never used
[INFO] [stdout]   --> src/strategy/alphabeta.rs:86:4
[INFO] [stdout]    |
[INFO] [stdout] 86 | fn alphabeta_aspiration(profondeur: u8, mut alpha: i8, beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `alphabeta_par` is never used
[INFO] [stdout]    --> src/strategy/alphabeta.rs:145:4
[INFO] [stdout]     |
[INFO] [stdout] 145 | fn alphabeta_par(profondeur: u8, state: Configuration) -> Option<Movement> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `alphabeta_par_classic_with_score` is never used
[INFO] [stdout]    --> src/strategy/alphabeta.rs:158:4
[INFO] [stdout]     |
[INFO] [stdout] 158 | fn alphabeta_par_classic_with_score(profondeur: u8, mut alpha: i8, mut beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `tmp_bc` is never read
[INFO] [stdout]    --> src/strategy/alphabeta.rs:311:25
[INFO] [stdout]     |
[INFO] [stdout] 311 |                 let mut tmp_bc = best_move;
[INFO] [stdout]     |                         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `alphabeta_par_infinite` is never used
[INFO] [stdout]    --> src/strategy/alphabeta.rs:171:4
[INFO] [stdout]     |
[INFO] [stdout] 171 | fn alphabeta_par_infinite(profondeur: u8, mut alpha: i8, mut beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `tmp_bv` is never read
[INFO] [stdout]    --> src/strategy/alphabeta.rs:312:25
[INFO] [stdout]     |
[INFO] [stdout] 312 |                 let mut tmp_bv = best_val;
[INFO] [stdout]     |                         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `alphabeta_par_pvs` is never used
[INFO] [stdout]    --> src/strategy/alphabeta.rs:184:4
[INFO] [stdout]     |
[INFO] [stdout] 184 | fn alphabeta_par_pvs(profondeur: u8, state: Configuration) -> Option<Movement> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `alphabeta_par_pvs_double_depth_par` is never used
[INFO] [stdout]    --> src/strategy/alphabeta.rs:239:4
[INFO] [stdout]     |
[INFO] [stdout] 239 | fn alphabeta_par_pvs_double_depth_par(profondeur: u8, mut alpha: i8, beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `alphabeta_par_aspiration` is never used
[INFO] [stdout]    --> src/strategy/alphabeta.rs:281:4
[INFO] [stdout]     |
[INFO] [stdout] 281 | fn alphabeta_par_aspiration(profondeur: u8, state: Configuration) -> Option<Movement> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `alphabeta_par2` is never used
[INFO] [stdout]    --> src/strategy/alphabeta.rs:300:4
[INFO] [stdout]     |
[INFO] [stdout] 300 | fn alphabeta_par2(profondeur: u8, mut alpha: i8, beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `alphabeta_sorted` is never used
[INFO] [stdout]    --> src/strategy/alphabeta.rs:343:4
[INFO] [stdout]     |
[INFO] [stdout] 343 | fn alphabeta_sorted(profondeur: u8, mut alpha: i8, beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/strategy/alphabeta.rs:300:35
[INFO] [stdout]     |
[INFO] [stdout] 300 | fn alphabeta_par2(profondeur: u8, mut alpha: i8, beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[INFO] [stdout]     |                                   ----^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `minimax` is never used
[INFO] [stdout]   --> src/strategy/minmax.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn minimax(profondeur: u8, maximizing: bool, state: Configuration) -> i8 {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `negamax2` is never used
[INFO] [stdout]   --> src/strategy/evil.rs:36:4
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn negamax2(profondeur: u8, mut alpha: i8, beta: i8, state: Configuration) -> (i8, i8, i8) {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `alphabeta_iteratif` is never used
[INFO] [stdout]    --> src/strategy/evil.rs:109:4
[INFO] [stdout]     |
[INFO] [stdout] 109 | fn alphabeta_iteratif(profondeur: u8, mut alpha: i8, mut beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `alphabeta_par` is never used
[INFO] [stdout]    --> src/strategy/evil.rs:123:4
[INFO] [stdout]     |
[INFO] [stdout] 123 | fn alphabeta_par(profondeur: u8, mut alpha: i8, mut beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `alphabeta` is never used
[INFO] [stdout]   --> src/strategy/alphabeta.rs:62:4
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn alphabeta(profondeur: u8, mut alpha: i8, beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `alphabeta_aspiration` is never used
[INFO] [stdout]   --> src/strategy/alphabeta.rs:86:4
[INFO] [stdout]    |
[INFO] [stdout] 86 | fn alphabeta_aspiration(profondeur: u8, mut alpha: i8, beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `alphabeta_par` is never used
[INFO] [stdout]    --> src/strategy/alphabeta.rs:145:4
[INFO] [stdout]     |
[INFO] [stdout] 145 | fn alphabeta_par(profondeur: u8, state: Configuration) -> Option<Movement> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `alphabeta_par_classic_with_score` is never used
[INFO] [stdout]    --> src/strategy/alphabeta.rs:158:4
[INFO] [stdout]     |
[INFO] [stdout] 158 | fn alphabeta_par_classic_with_score(profondeur: u8, mut alpha: i8, mut beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `alphabeta_par_infinite` is never used
[INFO] [stdout]    --> src/strategy/alphabeta.rs:171:4
[INFO] [stdout]     |
[INFO] [stdout] 171 | fn alphabeta_par_infinite(profondeur: u8, mut alpha: i8, mut beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `alphabeta_par_pvs` is never used
[INFO] [stdout]    --> src/strategy/alphabeta.rs:184:4
[INFO] [stdout]     |
[INFO] [stdout] 184 | fn alphabeta_par_pvs(profondeur: u8, state: Configuration) -> Option<Movement> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `alphabeta_par_pvs_double_depth_par` is never used
[INFO] [stdout]    --> src/strategy/alphabeta.rs:239:4
[INFO] [stdout]     |
[INFO] [stdout] 239 | fn alphabeta_par_pvs_double_depth_par(profondeur: u8, mut alpha: i8, beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `alphabeta_par_aspiration` is never used
[INFO] [stdout]    --> src/strategy/alphabeta.rs:281:4
[INFO] [stdout]     |
[INFO] [stdout] 281 | fn alphabeta_par_aspiration(profondeur: u8, state: Configuration) -> Option<Movement> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `alphabeta_par2` is never used
[INFO] [stdout]    --> src/strategy/alphabeta.rs:300:4
[INFO] [stdout]     |
[INFO] [stdout] 300 | fn alphabeta_par2(profondeur: u8, mut alpha: i8, beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `alphabeta_sorted` is never used
[INFO] [stdout]    --> src/strategy/alphabeta.rs:343:4
[INFO] [stdout]     |
[INFO] [stdout] 343 | fn alphabeta_sorted(profondeur: u8, mut alpha: i8, beta: i8, state: Configuration) -> (Option<Movement>, i8) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 36 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 36 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Evil`, `Human`, `MinMax`
[INFO] [stdout]  --> src/main.rs:4:33
[INFO] [stdout]   |
[INFO] [stdout] 4 | use blobwar::strategy::{Greedy, Human, MinMax, Evil, AlphaBeta};
[INFO] [stdout]   |                                 ^^^^^  ^^^^^^  ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Evil`, `Human`, `MinMax`
[INFO] [stdout]  --> src/main.rs:4:33
[INFO] [stdout]   |
[INFO] [stdout] 4 | use blobwar::strategy::{Greedy, Human, MinMax, Evil, AlphaBeta};
[INFO] [stdout]   |                                 ^^^^^  ^^^^^^  ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 6.13s
[INFO] running `Command { std: "docker" "inspect" "6c823dac7879c55408c65952b5df7582a28b128e853b4595b19a5abf405daecc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6c823dac7879c55408c65952b5df7582a28b128e853b4595b19a5abf405daecc", kill_on_drop: false }`
[INFO] [stdout] 6c823dac7879c55408c65952b5df7582a28b128e853b4595b19a5abf405daecc
