[INFO] cloning repository https://github.com/huynq55-v3/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-v3/threes_game" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhuynq55-v3%2Fthrees_game", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhuynq55-v3%2Fthrees_game'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 044d9ced661965b7bd9697b257a0437925c202eb
[INFO] checking huynq55-v3/threes_game against 895980e0290783bb09b1ccf1b11f14eb09b10430 for pr-160186
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhuynq55-v3%2Fthrees_game" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/huynq55-v3/threes_game
[INFO] finished tweaking git repo https://github.com/huynq55-v3/threes_game
[INFO] tweaked toml for git repo https://github.com/huynq55-v3/threes_game written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/huynq55-v3/threes_game on toolchain 895980e0290783bb09b1ccf1b11f14eb09b10430
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/huynq55-v3/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" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] e96ee5057c57e87250b3f78193e7a615c584d12eeba77a0de2ebbc53a804bdc4
[INFO] running `Command { std: "docker" "start" "e96ee5057c57e87250b3f78193e7a615c584d12eeba77a0de2ebbc53a804bdc4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e96ee5057c57e87250b3f78193e7a615c584d12eeba77a0de2ebbc53a804bdc4", 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" "e96ee5057c57e87250b3f78193e7a615c584d12eeba77a0de2ebbc53a804bdc4" "/opt/rustwide/cargo-home/bin/cargo" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e96ee5057c57e87250b3f78193e7a615c584d12eeba77a0de2ebbc53a804bdc4", 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" "e96ee5057c57e87250b3f78193e7a615c584d12eeba77a0de2ebbc53a804bdc4" "/opt/rustwide/cargo-home/bin/cargo" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[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]     Checking smallvec v1.15.1
[INFO] [stderr]    Compiling zerocopy v0.8.35
[INFO] [stderr]     Checking serde_core v1.0.228
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling zmij v1.0.19
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]     Checking linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]     Checking bitflags v2.10.0
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking rmp v0.8.15
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking memchr v2.7.6
[INFO] [stderr]     Checking png v0.17.16
[INFO] [stderr]     Checking unindent v0.2.4
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling pyo3-build-config v0.27.2
[INFO] [stderr]     Checking image v0.24.9
[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 socket2 v0.6.2
[INFO] [stderr]     Checking inotify v0.9.6
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking miniquad v0.4.8
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking notify v5.2.0
[INFO] [stderr]     Checking signal-hook v0.3.18
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling pyo3-ffi v0.27.2
[INFO] [stderr]    Compiling pyo3-macros-backend v0.27.2
[INFO] [stderr]    Compiling pyo3 v0.27.2
[INFO] [stderr]     Checking macroquad v0.4.14
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]     Checking tokio v1.49.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking derive_more v2.1.1
[INFO] [stderr]     Checking crossterm v0.29.0
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.9.2
[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: `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: `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: 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: 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: 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 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:698:5
[INFO] [stdout]     |
[INFO] [stdout] 698 |     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:713:15
[INFO] [stdout]     |
[INFO] [stdout] 713 |         .map(|t_id| {
[INFO] [stdout]     |               ^^^^ help: if this is intentional, prefix it with an underscore: `_t_id`
[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: variable `value` is assigned to, but never used
[INFO] [stdout]    --> src/bin/train.rs:759:25
[INFO] [stdout]     |
[INFO] [stdout] 759 |                     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:772:34
[INFO] [stdout]     |
[INFO] [stdout] 772 |                         (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:703:5
[INFO] [stdout]     |
[INFO] [stdout] 703 |     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:704:5
[INFO] [stdout]     |
[INFO] [stdout] 704 |     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: 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: 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: `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: 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:698:5
[INFO] [stdout]     |
[INFO] [stdout] 698 |     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:713:15
[INFO] [stdout]     |
[INFO] [stdout] 713 |         .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:759:25
[INFO] [stdout]     |
[INFO] [stdout] 759 |                     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:772:34
[INFO] [stdout]     |
[INFO] [stdout] 772 |                         (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:703:5
[INFO] [stdout]     |
[INFO] [stdout] 703 |     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:704:5
[INFO] [stdout]     |
[INFO] [stdout] 704 |     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] [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 35.83s
[INFO] running `Command { std: "docker" "inspect" "e96ee5057c57e87250b3f78193e7a615c584d12eeba77a0de2ebbc53a804bdc4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e96ee5057c57e87250b3f78193e7a615c584d12eeba77a0de2ebbc53a804bdc4", kill_on_drop: false }`
[INFO] [stdout] e96ee5057c57e87250b3f78193e7a615c584d12eeba77a0de2ebbc53a804bdc4
