[INFO] cloning repository https://github.com/Gaok1/Pong_AI
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Gaok1/Pong_AI" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGaok1%2FPong_AI", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGaok1%2FPong_AI'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f5ad43c10a8f9a13b0d5afb3eb5643ba736e31ea
[INFO] checking Gaok1/Pong_AI against eca445e5ae4a6679cc27d3a09106ce245e13a5a6 for pr-162478
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGaok1%2FPong_AI" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Gaok1/Pong_AI
[INFO] finished tweaking git repo https://github.com/Gaok1/Pong_AI
[INFO] tweaked toml for git repo https://github.com/Gaok1/Pong_AI written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Gaok1/Pong_AI 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/Gaok1/Pong_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" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: binary `game_quad` should have a kebab-case name
[INFO] [stderr]    |
[INFO] [stderr]  1 | /workspace/builds/worker-0-tc1/source/target/.../game_quad
[INFO] [stderr]    |                                                  ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::non_kebab_case_bins` is set to `warn` by default
[INFO] [stderr] help: to change the binary name to `game-quad`, convert `package.name`
[INFO] [stderr]   --> Cargo.toml:15:8
[INFO] [stderr]    |
[INFO] [stderr] 15 - name = "game_quad"
[INFO] [stderr] 15 + name = "game-quad"
[INFO] [stderr]    |
[INFO] [stderr] help: to change the binary name to `game-quad`, specify `bin.name`
[INFO] [stderr]   --> Cargo.toml:16:19
[INFO] [stderr]    |
[INFO] [stderr] 16 ~ version = "0.1.0"
[INFO] [stderr] 17 + [[bin]]
[INFO] [stderr] 18 + name = "game-quad"
[INFO] [stderr] 19 + path = "src/main.rs"
[INFO] [stderr]    |
[INFO] [stderr] warning: `game_quad` (manifest) generated 1 warning
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.14
[INFO] [stderr]   Downloaded zerocopy v0.8.14
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] 46059b28efddc85491c46f943ba8479d344656299a280ba75e6fcfec1d243b81
[INFO] running `Command { std: "docker" "start" "46059b28efddc85491c46f943ba8479d344656299a280ba75e6fcfec1d243b81", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "46059b28efddc85491c46f943ba8479d344656299a280ba75e6fcfec1d243b81", 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" "46059b28efddc85491c46f943ba8479d344656299a280ba75e6fcfec1d243b81" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "46059b28efddc85491c46f943ba8479d344656299a280ba75e6fcfec1d243b81", 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" "46059b28efddc85491c46f943ba8479d344656299a280ba75e6fcfec1d243b81" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: binary `game_quad` should have a kebab-case name
[INFO] [stderr]    |
[INFO] [stderr]  1 | /opt/rustwide/target/.../game_quad
[INFO] [stderr]    |                          ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::non_kebab_case_bins` is set to `warn` by default
[INFO] [stderr] help: to change the binary name to `game-quad`, convert `package.name`
[INFO] [stderr]   --> Cargo.toml:15:8
[INFO] [stderr]    |
[INFO] [stderr] 15 - name = "game_quad"
[INFO] [stderr] 15 + name = "game-quad"
[INFO] [stderr]    |
[INFO] [stderr] help: to change the binary name to `game-quad`, specify `bin.name`
[INFO] [stderr]   --> Cargo.toml:16:19
[INFO] [stderr]    |
[INFO] [stderr] 16 ~ version = "0.1.0"
[INFO] [stderr] 17 + [[bin]]
[INFO] [stderr] 18 + name = "game-quad"
[INFO] [stderr] 19 + path = "src/main.rs"
[INFO] [stderr]    |
[INFO] [stderr] warning: `game_quad` (manifest) generated 1 warning
[INFO] [stderr]    Compiling zerocopy v0.8.14
[INFO] [stderr]    Compiling getrandom v0.3.1
[INFO] [stderr]     Checking once_cell v1.20.2
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking miniz_oxide v0.8.3
[INFO] [stderr]    Compiling miniquad v0.4.6
[INFO] [stderr]     Checking ttf-parser v0.15.2
[INFO] [stderr]    Compiling syn v2.0.98
[INFO] [stderr]     Checking quad-alsa-sys v0.3.2
[INFO] [stderr]     Checking bytemuck v1.21.0
[INFO] [stderr]     Checking flate2 v1.0.35
[INFO] [stderr]     Checking quad-snd v0.2.8
[INFO] [stderr]     Checking png v0.17.16
[INFO] [stderr]     Checking image v0.24.9
[INFO] [stderr]     Checking rand_core v0.9.0
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling serde_derive v1.0.217
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]     Checking hashbrown v0.13.2
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking fontdue v0.7.3
[INFO] [stderr]     Checking rand v0.9.0
[INFO] [stderr]     Checking macroquad v0.4.13
[INFO] [stderr]     Checking serde v1.0.217
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking game_quad v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `NeuralNetworkModel`
[INFO] [stdout]  --> src/main.rs:5:39
[INFO] [stdout]   |
[INFO] [stdout] 5 |     neural_network_f::{NeuralNetwork, NeuralNetworkModel},
[INFO] [stdout]   |                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/game/pong.rs:41:36
[INFO] [stdout]    |
[INFO] [stdout] 41 |                 self.position.y -= (velocity as f32 * PLAYER_VELOCITY);
[INFO] [stdout]    |                                    ^                                 ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 41 -                 self.position.y -= (velocity as f32 * PLAYER_VELOCITY);
[INFO] [stdout] 41 +                 self.position.y -= velocity as f32 * PLAYER_VELOCITY;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/game/pong.rs:44:36
[INFO] [stdout]    |
[INFO] [stdout] 44 |                 self.position.y += (velocity as f32 * PLAYER_VELOCITY);
[INFO] [stdout]    |                                    ^                                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 44 -                 self.position.y += (velocity as f32 * PLAYER_VELOCITY);
[INFO] [stdout] 44 +                 self.position.y += velocity as f32 * PLAYER_VELOCITY;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::pong::PLAYER_VELOCITY`
[INFO] [stdout]  --> src/game/controller.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use super::pong::PLAYER_VELOCITY;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rng`
[INFO] [stdout]  --> src/neural_network/neuron.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rand::{random_range, Rng};
[INFO] [stdout]   |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Cell`
[INFO] [stdout]  --> src/neural_network/neural_network_f.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::{Cell, RefCell};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Mutex`
[INFO] [stdout]  --> src/neural_network/neural_network_f.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::Mutex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Neuron`
[INFO] [stdout]   --> src/neural_network/neural_network_f.rs:15:57
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::neural_network::neuron::{ActivationFunction, Neuron};
[INFO] [stdout]    |                                                         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> src/neural_network/neural_network_f.rs:17:21
[INFO] [stdout]    |
[INFO] [stdout] 17 | use super::layers::{self, Layer};
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NeuralNetworkModel`
[INFO] [stdout]  --> src/main.rs:5:39
[INFO] [stdout]   |
[INFO] [stdout] 5 |     neural_network_f::{NeuralNetwork, NeuralNetworkModel},
[INFO] [stdout]   |                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/game/pong.rs:41:36
[INFO] [stdout]    |
[INFO] [stdout] 41 |                 self.position.y -= (velocity as f32 * PLAYER_VELOCITY);
[INFO] [stdout]    |                                    ^                                 ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 41 -                 self.position.y -= (velocity as f32 * PLAYER_VELOCITY);
[INFO] [stdout] 41 +                 self.position.y -= velocity as f32 * PLAYER_VELOCITY;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/game/pong.rs:44:36
[INFO] [stdout]    |
[INFO] [stdout] 44 |                 self.position.y += (velocity as f32 * PLAYER_VELOCITY);
[INFO] [stdout]    |                                    ^                                 ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 44 -                 self.position.y += (velocity as f32 * PLAYER_VELOCITY);
[INFO] [stdout] 44 +                 self.position.y += velocity as f32 * PLAYER_VELOCITY;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::pong::PLAYER_VELOCITY`
[INFO] [stdout]  --> src/game/controller.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use super::pong::PLAYER_VELOCITY;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rng`
[INFO] [stdout]  --> src/neural_network/neuron.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rand::{random_range, Rng};
[INFO] [stdout]   |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Cell`
[INFO] [stdout]  --> src/neural_network/neural_network_f.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::{Cell, RefCell};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Mutex`
[INFO] [stdout]  --> src/neural_network/neural_network_f.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::Mutex;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Neuron`
[INFO] [stdout]   --> src/neural_network/neural_network_f.rs:15:57
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::neural_network::neuron::{ActivationFunction, Neuron};
[INFO] [stdout]    |                                                         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> src/neural_network/neural_network_f.rs:17:21
[INFO] [stdout]    |
[INFO] [stdout] 17 | use super::layers::{self, Layer};
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::distr::uniform::SampleBorrow`
[INFO] [stdout]   --> src/neural_network/neural_network_f.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use rand::distr::uniform::SampleBorrow;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::distr::uniform::SampleBorrow`
[INFO] [stdout]   --> src/neural_network/neural_network_f.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use rand::distr::uniform::SampleBorrow;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Player` is more private than the item `Pong::player1`
[INFO] [stdout]   --> src/game/pong.rs:89:5
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub player1: Player,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^ field `Pong::player1` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `Player` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/game/pong.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct Player {
[INFO] [stdout]    | ^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Player` is more private than the item `Pong::player2`
[INFO] [stdout]   --> src/game/pong.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub player2: Player,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^ field `Pong::player2` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `Player` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/game/pong.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct Player {
[INFO] [stdout]    | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Ball` is more private than the item `Pong::ball`
[INFO] [stdout]    --> src/game/pong.rs:93:5
[INFO] [stdout]     |
[INFO] [stdout]  93 |     pub ball: Ball,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ field `Pong::ball` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `Ball` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/game/pong.rs:279:1
[INFO] [stdout]     |
[INFO] [stdout] 279 | struct Ball {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `winner` and `pontuation` are never read
[INFO] [stdout]   --> src/game/pong.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub struct GameStats {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 81 |     pub winner: Winner,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 82 |     pub pontuation: Pontuation,
[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 `ControlKeys` is never used
[INFO] [stdout]   --> src/game/controller.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub enum ControlKeys {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HumanController` is never constructed
[INFO] [stdout]   --> src/game/controller.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct HumanController {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/game/controller.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl HumanController {
[INFO] [stdout]    | -------------------- associated function in this implementation
[INFO] [stdout] 39 |     pub fn new(ctrl: ControlKeys) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/neural_network/neuron.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub trait NeuronTrait {
[INFO] [stdout]    |           ----------- associated items in this trait
[INFO] [stdout] 28 |     /// Cria um novo neurônio com pesos e bias inicializados aleatoriamente.
[INFO] [stdout] 29 |     fn new(input_len: usize, activation_function: ActivationFunction) -> Self;
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     fn new_clone(neuron: &Neuron) -> Self;
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     fn new_seted(
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     fn get_weights(&self) -> &[f64];
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     fn get_bias(&self) -> f64;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     fn set_weights(&mut self, weights: Vec<f64>);
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     fn set_bias(&mut self, bias: f64);
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 58 |
[INFO] [stdout] 59 |     fn activation_function(&self) -> ActivationFunction;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `mutate_weight`, `mutate_bias`, and `print_Neuron` are never used
[INFO] [stdout]    --> src/neural_network/neuron.rs:155:12
[INFO] [stdout]     |
[INFO] [stdout] 154 | impl Neuron {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] 155 |     pub fn mutate_weight(&mut self, index: usize, delta: f64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub fn mutate_bias(&mut self, delta: f64) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |     pub fn print_Neuron(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `timer` is never read
[INFO] [stdout]   --> src/neural_network/neural_network_f.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct NeuralNetwork {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub timer: Instant,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NeuralNetwork` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `from_model`, `mut_layers`, `save_neural_network_bin`, `print_NeuralNetworkModel`, and `all_weights_mut` are never used
[INFO] [stdout]    --> src/neural_network/neural_network_f.rs:29:12
[INFO] [stdout]     |
[INFO] [stdout]  27 | impl NeuralNetwork {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout]  28 |     /// Cria uma rede neural com os inputs inicializados com zeros.
[INFO] [stdout]  29 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  52 |     pub fn from_model(model: &NeuralNetworkModel) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  79 |     pub fn mut_layers(&mut self) -> &mut Vec<Layer> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  83 |     pub fn save_neural_network_bin(&self, filename: &str) -> std::io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     pub fn print_NeuralNetworkModel(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn all_weights_mut(&mut self) -> Vec<&mut f64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NeuralNetworkModel` is never constructed
[INFO] [stdout]    --> src/neural_network/neural_network_f.rs:118:12
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub struct NeuralNetworkModel {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `generate`, and `from_neural_network` are never used
[INFO] [stdout]    --> src/neural_network/neural_network_f.rs:125:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl NeuralNetworkModel {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout] 125 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn generate(&self) -> NeuralNetwork {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub fn from_neural_network(nn: NeuralNetwork) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REACTION_TIME` is never used
[INFO] [stdout]    --> src/neural_network/neural_network_f.rs:163:7
[INFO] [stdout]     |
[INFO] [stdout] 163 | const REACTION_TIME: f64 = 0.16;
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `mut_neurons` are never used
[INFO] [stdout]   --> src/neural_network/layers.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Layer {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 11 |     pub fn new(neurons_len: usize, input_len: usize, activation_function: ActivationFunction) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn mut_neurons(&mut self) -> &mut Vec<Neuron> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `print_Neuron` should have a snake case name
[INFO] [stdout]    --> src/neural_network/neuron.rs:171:12
[INFO] [stdout]     |
[INFO] [stdout] 171 |     pub fn print_Neuron(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^ help: convert the identifier to snake case: `print_neuron`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `print_NeuralNetworkModel` should have a snake case name
[INFO] [stdout]   --> src/neural_network/neural_network_f.rs:98:12
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub fn print_NeuralNetworkModel(&self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `print_neural_network_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Player` is more private than the item `Pong::player1`
[INFO] [stdout]   --> src/game/pong.rs:89:5
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub player1: Player,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^ field `Pong::player1` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `Player` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/game/pong.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct Player {
[INFO] [stdout]    | ^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Player` is more private than the item `Pong::player2`
[INFO] [stdout]   --> src/game/pong.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub player2: Player,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^ field `Pong::player2` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `Player` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/game/pong.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct Player {
[INFO] [stdout]    | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Ball` is more private than the item `Pong::ball`
[INFO] [stdout]    --> src/game/pong.rs:93:5
[INFO] [stdout]     |
[INFO] [stdout]  93 |     pub ball: Ball,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^ field `Pong::ball` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `Ball` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/game/pong.rs:279:1
[INFO] [stdout]     |
[INFO] [stdout] 279 | struct Ball {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `winner` and `pontuation` are never read
[INFO] [stdout]   --> src/game/pong.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub struct GameStats {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 81 |     pub winner: Winner,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 82 |     pub pontuation: Pontuation,
[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 `ControlKeys` is never used
[INFO] [stdout]   --> src/game/controller.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub enum ControlKeys {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HumanController` is never constructed
[INFO] [stdout]   --> src/game/controller.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct HumanController {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/game/controller.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl HumanController {
[INFO] [stdout]    | -------------------- associated function in this implementation
[INFO] [stdout] 39 |     pub fn new(ctrl: ControlKeys) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/neural_network/neuron.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub trait NeuronTrait {
[INFO] [stdout]    |           ----------- associated items in this trait
[INFO] [stdout] 28 |     /// Cria um novo neurônio com pesos e bias inicializados aleatoriamente.
[INFO] [stdout] 29 |     fn new(input_len: usize, activation_function: ActivationFunction) -> Self;
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     fn new_clone(neuron: &Neuron) -> Self;
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     fn new_seted(
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     fn get_weights(&self) -> &[f64];
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     fn get_bias(&self) -> f64;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     fn set_weights(&mut self, weights: Vec<f64>);
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     fn set_bias(&mut self, bias: f64);
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 58 |
[INFO] [stdout] 59 |     fn activation_function(&self) -> ActivationFunction;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `mutate_weight`, `mutate_bias`, and `print_Neuron` are never used
[INFO] [stdout]    --> src/neural_network/neuron.rs:155:12
[INFO] [stdout]     |
[INFO] [stdout] 154 | impl Neuron {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] 155 |     pub fn mutate_weight(&mut self, index: usize, delta: f64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub fn mutate_bias(&mut self, delta: f64) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |     pub fn print_Neuron(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `timer` is never read
[INFO] [stdout]   --> src/neural_network/neural_network_f.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct NeuralNetwork {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub timer: Instant,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NeuralNetwork` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `from_model`, `mut_layers`, `save_neural_network_bin`, `print_NeuralNetworkModel`, and `all_weights_mut` are never used
[INFO] [stdout]    --> src/neural_network/neural_network_f.rs:29:12
[INFO] [stdout]     |
[INFO] [stdout]  27 | impl NeuralNetwork {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout]  28 |     /// Cria uma rede neural com os inputs inicializados com zeros.
[INFO] [stdout]  29 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  52 |     pub fn from_model(model: &NeuralNetworkModel) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  79 |     pub fn mut_layers(&mut self) -> &mut Vec<Layer> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  83 |     pub fn save_neural_network_bin(&self, filename: &str) -> std::io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     pub fn print_NeuralNetworkModel(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn all_weights_mut(&mut self) -> Vec<&mut f64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NeuralNetworkModel` is never constructed
[INFO] [stdout]    --> src/neural_network/neural_network_f.rs:118:12
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub struct NeuralNetworkModel {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `generate`, and `from_neural_network` are never used
[INFO] [stdout]    --> src/neural_network/neural_network_f.rs:125:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl NeuralNetworkModel {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout] 125 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn generate(&self) -> NeuralNetwork {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub fn from_neural_network(nn: NeuralNetwork) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REACTION_TIME` is never used
[INFO] [stdout]    --> src/neural_network/neural_network_f.rs:163:7
[INFO] [stdout]     |
[INFO] [stdout] 163 | const REACTION_TIME: f64 = 0.16;
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `mut_neurons` are never used
[INFO] [stdout]   --> src/neural_network/layers.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Layer {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 11 |     pub fn new(neurons_len: usize, input_len: usize, activation_function: ActivationFunction) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn mut_neurons(&mut self) -> &mut Vec<Neuron> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `print_Neuron` should have a snake case name
[INFO] [stdout]    --> src/neural_network/neuron.rs:171:12
[INFO] [stdout]     |
[INFO] [stdout] 171 |     pub fn print_Neuron(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^ help: convert the identifier to snake case: `print_neuron`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `print_NeuralNetworkModel` should have a snake case name
[INFO] [stdout]   --> src/neural_network/neural_network_f.rs:98:12
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub fn print_NeuralNetworkModel(&self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `print_neural_network_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 13.65s
[INFO] running `Command { std: "docker" "inspect" "46059b28efddc85491c46f943ba8479d344656299a280ba75e6fcfec1d243b81", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "46059b28efddc85491c46f943ba8479d344656299a280ba75e6fcfec1d243b81", kill_on_drop: false }`
[INFO] [stdout] 46059b28efddc85491c46f943ba8479d344656299a280ba75e6fcfec1d243b81
