[INFO] cloning repository https://github.com/huynq55-v2/threes_game
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/huynq55-v2/threes_game" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhuynq55-v2%2Fthrees_game", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhuynq55-v2%2Fthrees_game'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e5b2cc2ad82d3d32bf4ed0eefe89428c8ef688ec
[INFO] checking huynq55-v2/threes_game against eca445e5ae4a6679cc27d3a09106ce245e13a5a6 for pr-162478
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhuynq55-v2%2Fthrees_game" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/huynq55-v2/threes_game
[INFO] finished tweaking git repo https://github.com/huynq55-v2/threes_game
[INFO] tweaked toml for git repo https://github.com/huynq55-v2/threes_game written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/huynq55-v2/threes_game on toolchain eca445e5ae4a6679cc27d3a09106ce245e13a5a6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/huynq55-v2/threes_game 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" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: binary `play_game` should have a kebab-case name
[INFO] [stderr]   |
[INFO] [stderr] 1 | /workspace/builds/worker-4-tc1/source/target/.../play_game
[INFO] [stderr]   |                                                  ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: to change the binary name to `play-game`, convert `bin.name`
[INFO] [stderr]  --> Cargo.toml:2:8
[INFO] [stderr]   |
[INFO] [stderr] 2 - name = "play_game"
[INFO] [stderr] 2 + name = "play-game"
[INFO] [stderr]   |
[INFO] [stderr] warning: binary `play_multithreaded` should have a kebab-case name
[INFO] [stderr]   |
[INFO] [stderr] 1 | /workspace/builds/worker-4-tc1/source/target/.../play_multithreaded
[INFO] [stderr]   |                                                  ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: to change the binary name to `play-multithreaded`, convert the file stem
[INFO] [stderr]   |
[INFO] [stderr] 1 - src/bin/play_multithreaded.rs
[INFO] [stderr] 1 + src/bin/play-multithreaded.rs
[INFO] [stderr]   |
[INFO] [stderr] warning: binary `spawn_eval` should have a kebab-case name
[INFO] [stderr]   |
[INFO] [stderr] 1 | /workspace/builds/worker-4-tc1/source/target/.../spawn_eval
[INFO] [stderr]   |                                                  ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: to change the binary name to `spawn-eval`, convert the file stem
[INFO] [stderr]   |
[INFO] [stderr] 1 - src/bin/spawn_eval.rs
[INFO] [stderr] 1 + src/bin/spawn-eval.rs
[INFO] [stderr]   |
[INFO] [stderr] warning: binary `suggest_move` should have a kebab-case name
[INFO] [stderr]   |
[INFO] [stderr] 1 | /workspace/builds/worker-4-tc1/source/target/.../suggest_move
[INFO] [stderr]   |                                                  ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: to change the binary name to `suggest-move`, convert the file stem
[INFO] [stderr]   |
[INFO] [stderr] 1 - src/bin/suggest_move.rs
[INFO] [stderr] 1 + src/bin/suggest-move.rs
[INFO] [stderr]   |
[INFO] [stderr] warning: `threes_game` (manifest) generated 4 warnings
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rmp-serde v1.3.1
[INFO] [stderr]   Downloaded pyo3-macros v0.27.2
[INFO] [stderr]   Downloaded rmp v0.8.15
[INFO] [stderr]   Downloaded quad-rand v0.2.3
[INFO] [stderr]   Downloaded linemux v0.3.0
[INFO] [stderr]   Downloaded pyo3-macros-backend v0.27.2
[INFO] [stderr]   Downloaded macroquad_macro v0.1.8
[INFO] [stderr]   Downloaded pyo3-ffi v0.27.2
[INFO] [stderr]   Downloaded target-lexicon v0.13.4
[INFO] [stderr]   Downloaded objc-rs v0.2.8
[INFO] [stderr]   Downloaded pyo3-build-config v0.27.2
[INFO] [stderr]   Downloaded notify v5.2.0
[INFO] [stderr]   Downloaded miniquad v0.4.8
[INFO] [stderr]   Downloaded glam v0.27.0
[INFO] [stderr]   Downloaded macroquad v0.4.14
[INFO] [stderr]   Downloaded pyo3 v0.27.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 6a65d1631390d84698b6c874a50f80603e1af09d1da77a783f42d496f156a153
[INFO] running `Command { std: "docker" "start" "6a65d1631390d84698b6c874a50f80603e1af09d1da77a783f42d496f156a153", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6a65d1631390d84698b6c874a50f80603e1af09d1da77a783f42d496f156a153", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6a65d1631390d84698b6c874a50f80603e1af09d1da77a783f42d496f156a153" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6a65d1631390d84698b6c874a50f80603e1af09d1da77a783f42d496f156a153", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "6a65d1631390d84698b6c874a50f80603e1af09d1da77a783f42d496f156a153" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: binary `play_game` should have a kebab-case name
[INFO] [stderr]   |
[INFO] [stderr] 1 | /opt/rustwide/target/.../play_game
[INFO] [stderr]   |                          ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: to change the binary name to `play-game`, convert `bin.name`
[INFO] [stderr]  --> Cargo.toml:2:8
[INFO] [stderr]   |
[INFO] [stderr] 2 - name = "play_game"
[INFO] [stderr] 2 + name = "play-game"
[INFO] [stderr]   |
[INFO] [stderr] warning: binary `play_multithreaded` should have a kebab-case name
[INFO] [stderr]   |
[INFO] [stderr] 1 | /opt/rustwide/target/.../play_multithreaded
[INFO] [stderr]   |                          ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: to change the binary name to `play-multithreaded`, convert the file stem
[INFO] [stderr]   |
[INFO] [stderr] 1 - src/bin/play_multithreaded.rs
[INFO] [stderr] 1 + src/bin/play-multithreaded.rs
[INFO] [stderr]   |
[INFO] [stderr] warning: binary `spawn_eval` should have a kebab-case name
[INFO] [stderr]   |
[INFO] [stderr] 1 | /opt/rustwide/target/.../spawn_eval
[INFO] [stderr]   |                          ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: to change the binary name to `spawn-eval`, convert the file stem
[INFO] [stderr]   |
[INFO] [stderr] 1 - src/bin/spawn_eval.rs
[INFO] [stderr] 1 + src/bin/spawn-eval.rs
[INFO] [stderr]   |
[INFO] [stderr] warning: binary `suggest_move` should have a kebab-case name
[INFO] [stderr]   |
[INFO] [stderr] 1 | /opt/rustwide/target/.../suggest_move
[INFO] [stderr]   |                          ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: to change the binary name to `suggest-move`, convert the file stem
[INFO] [stderr]   |
[INFO] [stderr] 1 - src/bin/suggest_move.rs
[INFO] [stderr] 1 + src/bin/suggest-move.rs
[INFO] [stderr]   |
[INFO] [stderr] warning: `threes_game` (manifest) generated 4 warnings
[INFO] [stderr]    Compiling libc v0.2.180
[INFO] [stderr]    Compiling target-lexicon v0.13.4
[INFO] [stderr]    Compiling unicode-ident v1.0.22
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]     Checking simd-adler32 v0.3.8
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]    Compiling zerocopy v0.8.35
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]    Compiling miniquad v0.4.8
[INFO] [stderr]     Checking foldhash v0.1.5
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling zmij v1.0.19
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]     Checking bitflags v2.10.0
[INFO] [stderr]     Checking linux-raw-sys v0.11.0
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]     Checking ttf-parser v0.21.1
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling macroquad_macro v0.1.8
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]     Checking memchr v2.7.6
[INFO] [stderr]     Checking unindent v0.2.4
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking quad-rand v0.2.3
[INFO] [stderr]     Checking itoa v1.0.17
[INFO] [stderr]     Checking glam v0.27.0
[INFO] [stderr]     Checking png v0.17.16
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling pyo3-build-config v0.27.2
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]     Checking rmp v0.8.15
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking inotify-sys v0.1.5
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking filetime v0.2.27
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking inotify v0.9.6
[INFO] [stderr]     Checking socket2 v0.6.2
[INFO] [stderr]     Checking fontdue v0.9.3
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking image v0.24.9
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking notify v5.2.0
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling pyo3-macros-backend v0.27.2
[INFO] [stderr]    Compiling pyo3-ffi v0.27.2
[INFO] [stderr]    Compiling pyo3 v0.27.2
[INFO] [stderr]     Checking macroquad v0.4.14
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking tokio v1.49.0
[INFO] [stderr]     Checking derive_more v2.1.1
[INFO] [stderr]     Checking crossterm v0.29.0
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]    Compiling pyo3-macros v0.27.2
[INFO] [stderr]     Checking rmp-serde v1.3.1
[INFO] [stderr]     Checking linemux v0.3.0
[INFO] [stderr]     Checking threes_game v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: constant `GOLDEN_RATIO` is never used
[INFO] [stdout]  --> src/pbt.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const GOLDEN_RATIO: f64 = 1.61803398875;
[INFO] [stdout]   |       ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/bin/play_multithreaded.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::{Arc, Mutex};
[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: `threes_rs::game::Direction`
[INFO] [stdout]  --> src/bin/play_multithreaded.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use threes_rs::game::Direction;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/play_multithreaded.rs:59:17
[INFO] [stdout]    |
[INFO] [stdout] 59 |             let mut rng = rand::rng();
[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: unused variable: `rng`
[INFO] [stdout]   --> src/bin/play_multithreaded.rs:59:17
[INFO] [stdout]    |
[INFO] [stdout] 59 |             let mut rng = rand::rng();
[INFO] [stdout]    |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `epsilon`
[INFO] [stdout]   --> src/bin/play_multithreaded.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let epsilon = 0.0; // Pure greedy
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_epsilon`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]  --> src/bin/migrate.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::env;
[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: `Mutex`
[INFO] [stdout]  --> src/bin/play_multithreaded.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::{Arc, Mutex};
[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: `threes_rs::game::Direction`
[INFO] [stdout]  --> src/bin/play_multithreaded.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use threes_rs::game::Direction;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]  --> src/bin/migrate.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::env;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/play_multithreaded.rs:59:17
[INFO] [stdout]    |
[INFO] [stdout] 59 |             let mut rng = rand::rng();
[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: unused variable: `rng`
[INFO] [stdout]   --> src/bin/play_multithreaded.rs:59:17
[INFO] [stdout]    |
[INFO] [stdout] 59 |             let mut rng = rand::rng();
[INFO] [stdout]    |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `epsilon`
[INFO] [stdout]   --> src/bin/play_multithreaded.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let epsilon = 0.0; // Pure greedy
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_epsilon`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]   --> src/bin/train.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let args: Vec<String> = env::args().collect();
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `buff_multiplier` is never read
[INFO] [stdout]    --> src/bin/train.rs:190:35
[INFO] [stdout]     |
[INFO] [stdout] 190 |         let mut buff_multiplier = 1.0;
[INFO] [stdout]     |                                   ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 196 |             buff_multiplier = 1.0 / GOLDEN_RATIO;
[INFO] [stdout]     |             ------------------------------------ `buff_multiplier` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `score`
[INFO] [stdout]    --> src/bin/suggest_move.rs:181:5
[INFO] [stdout]     |
[INFO] [stdout] 181 |     score: u32,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_score`
[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/bin/train.rs:717:5
[INFO] [stdout]     |
[INFO] [stdout] 717 |     mut brain: NTupleNetwork,
[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: unused variable: `t_id`
[INFO] [stdout]    --> src/bin/train.rs:732:15
[INFO] [stdout]     |
[INFO] [stdout] 732 |         .map(|t_id| {
[INFO] [stdout]     |               ^^^^ help: if this is intentional, prefix it with an underscore: `_t_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `value` is assigned to, but never used
[INFO] [stdout]    --> src/bin/train.rs:778:25
[INFO] [stdout]     |
[INFO] [stdout] 778 |                     let mut value = 0.0;
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_value` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `value` is never read
[INFO] [stdout]    --> src/bin/train.rs:791:34
[INFO] [stdout]     |
[INFO] [stdout] 791 |                         (action, value) = local_env.get_best_action_depth(brain_ptr_mut, 2);
[INFO] [stdout]     |                                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `total_target_episodes`
[INFO] [stdout]    --> src/bin/train.rs:722:5
[INFO] [stdout]     |
[INFO] [stdout] 722 |     total_target_episodes: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_target_episodes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_offset`
[INFO] [stdout]    --> src/bin/train.rs:723:5
[INFO] [stdout]     |
[INFO] [stdout] 723 |     start_offset: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SharedBrain` is never constructed
[INFO] [stdout]   --> src/bin/train.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | struct SharedBrain {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TrainingPolicy` is never used
[INFO] [stdout]   --> src/bin/train.rs:21:6
[INFO] [stdout]    |
[INFO] [stdout] 21 | enum TrainingPolicy {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StepDataLocal` is never constructed
[INFO] [stdout]    --> src/bin/play_game.rs:124:8
[INFO] [stdout]     |
[INFO] [stdout] 124 | struct StepDataLocal {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GOLDEN_RATIO` is never used
[INFO] [stdout]  --> src/pbt.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const GOLDEN_RATIO: f64 = 1.61803398875;
[INFO] [stdout]   |       ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `score`
[INFO] [stdout]    --> src/bin/suggest_move.rs:181:5
[INFO] [stdout]     |
[INFO] [stdout] 181 |     score: u32,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_score`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StepDataLocal` is never constructed
[INFO] [stdout]    --> src/bin/play_game.rs:124:8
[INFO] [stdout]     |
[INFO] [stdout] 124 | struct StepDataLocal {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]   --> src/bin/train.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let args: Vec<String> = env::args().collect();
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `buff_multiplier` is never read
[INFO] [stdout]    --> src/bin/train.rs:190:35
[INFO] [stdout]     |
[INFO] [stdout] 190 |         let mut buff_multiplier = 1.0;
[INFO] [stdout]     |                                   ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 196 |             buff_multiplier = 1.0 / GOLDEN_RATIO;
[INFO] [stdout]     |             ------------------------------------ `buff_multiplier` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bin/train.rs:717:5
[INFO] [stdout]     |
[INFO] [stdout] 717 |     mut brain: NTupleNetwork,
[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: unused variable: `t_id`
[INFO] [stdout]    --> src/bin/train.rs:732:15
[INFO] [stdout]     |
[INFO] [stdout] 732 |         .map(|t_id| {
[INFO] [stdout]     |               ^^^^ help: if this is intentional, prefix it with an underscore: `_t_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `value` is assigned to, but never used
[INFO] [stdout]    --> src/bin/train.rs:778:25
[INFO] [stdout]     |
[INFO] [stdout] 778 |                     let mut value = 0.0;
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_value` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `value` is never read
[INFO] [stdout]    --> src/bin/train.rs:791:34
[INFO] [stdout]     |
[INFO] [stdout] 791 |                         (action, value) = local_env.get_best_action_depth(brain_ptr_mut, 2);
[INFO] [stdout]     |                                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `total_target_episodes`
[INFO] [stdout]    --> src/bin/train.rs:722:5
[INFO] [stdout]     |
[INFO] [stdout] 722 |     total_target_episodes: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_total_target_episodes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_offset`
[INFO] [stdout]    --> src/bin/train.rs:723:5
[INFO] [stdout]     |
[INFO] [stdout] 723 |     start_offset: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SharedBrain` is never constructed
[INFO] [stdout]   --> src/bin/train.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | struct SharedBrain {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TrainingPolicy` is never used
[INFO] [stdout]   --> src/bin/train.rs:21:6
[INFO] [stdout]    |
[INFO] [stdout] 21 | enum TrainingPolicy {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `crossterm`
[INFO] [stderr]  --> Cargo.toml:6:1
[INFO] [stderr]   |
[INFO] [stderr] 6 | crossterm = "0.29.0"
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `crossterm`
[INFO] [stderr] warning: unused dependency `pyo3`
[INFO] [stderr]   --> Cargo.toml:15:15
[INFO] [stderr]    |
[INFO] [stderr] 15 | [dependencies.pyo3]
[INFO] [stderr]    |               ^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `pyo3`
[INFO] [stderr] warning: `threes_game` (manifest) generated 2 warnings
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 38.28s
[INFO] running `Command { std: "docker" "inspect" "6a65d1631390d84698b6c874a50f80603e1af09d1da77a783f42d496f156a153", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6a65d1631390d84698b6c874a50f80603e1af09d1da77a783f42d496f156a153", kill_on_drop: false }`
[INFO] [stdout] 6a65d1631390d84698b6c874a50f80603e1af09d1da77a783f42d496f156a153
