[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); [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 { [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 { [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); [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 { [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 { [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