[INFO] cloning repository https://github.com/origaniels/flappy-brain
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/origaniels/flappy-brain" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Foriganiels%2Fflappy-brain", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Foriganiels%2Fflappy-brain'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7caacf01871f3c266a6f5c284b1257ccf23c37f7
[INFO] checking origaniels/flappy-brain against master#350d0ef0ec0493e6d21cfb265cb8211a0e74d766 for pr-145342
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Foriganiels%2Fflappy-brain" "/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/origaniels/flappy-brain
[INFO] finished tweaking git repo https://github.com/origaniels/flappy-brain
[INFO] tweaked toml for git repo https://github.com/origaniels/flappy-brain written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/origaniels/flappy-brain on toolchain 350d0ef0ec0493e6d21cfb265cb8211a0e74d766
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/origaniels/flappy-brain 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" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5591a9c81be45677b69be2964cf71ed7eb5d80eb46693aed720f9f59e5accc01
[INFO] running `Command { std: "docker" "start" "-a" "5591a9c81be45677b69be2964cf71ed7eb5d80eb46693aed720f9f59e5accc01", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5591a9c81be45677b69be2964cf71ed7eb5d80eb46693aed720f9f59e5accc01", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5591a9c81be45677b69be2964cf71ed7eb5d80eb46693aed720f9f59e5accc01", kill_on_drop: false }`
[INFO] [stdout] 5591a9c81be45677b69be2964cf71ed7eb5d80eb46693aed720f9f59e5accc01
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c66537369b5f4b7d2e0978cf8b099e508d95ba96ddaf3210e81368c0a91b277a
[INFO] running `Command { std: "docker" "start" "-a" "c66537369b5f4b7d2e0978cf8b099e508d95ba96ddaf3210e81368c0a91b277a", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr] note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr] note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr] note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]    Compiling libc v0.2.155
[INFO] [stderr]    Compiling autocfg v1.3.0
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.86
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]     Checking ppv-lite86 v0.2.17
[INFO] [stderr]    Compiling rustversion v1.0.17
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling libm v0.2.8
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling signal-hook v0.3.17
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]     Checking log v0.4.22
[INFO] [stderr]     Checking once_cell v1.19.0
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]     Checking allocator-api2 v0.2.18
[INFO] [stderr]     Checking ryu v1.0.18
[INFO] [stderr]     Checking itoa v1.0.11
[INFO] [stderr]     Checking either v1.13.0
[INFO] [stderr]     Checking bitflags v2.6.0
[INFO] [stderr]     Checking unicode-segmentation v1.11.0
[INFO] [stderr]     Checking unicode-width v0.1.13
[INFO] [stderr]     Checking static_assertions v1.1.0
[INFO] [stderr]     Checking cassowary v0.3.0
[INFO] [stderr]     Checking bytemuck v1.16.1
[INFO] [stderr]    Compiling serde v1.0.204
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]    Compiling serde_json v1.0.121
[INFO] [stderr]     Checking rawpointer v0.2.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling matrixmultiply v0.3.9
[INFO] [stderr]     Checking memchr v2.7.4
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking safe_arch v0.7.2
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking wide v0.7.26
[INFO] [stderr]     Checking castaway v0.2.3
[INFO] [stderr]    Compiling syn v2.0.72
[INFO] [stderr]     Checking compact_str v0.7.1
[INFO] [stderr]     Checking lru v0.12.3
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking signal-hook-mio v0.2.4
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking crossterm v0.27.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking unicode-truncate v1.1.0
[INFO] [stderr]     Checking simba v0.9.0
[INFO] [stderr]     Checking backend v0.1.0 (/opt/rustwide/workdir/backend)
[INFO] [stderr]     Checking rand_distr v0.4.3
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling stability v0.2.1
[INFO] [stderr]    Compiling nalgebra-macros v0.2.2
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking ratatui v0.27.0
[INFO] [stderr]     Checking nalgebra v0.33.0
[INFO] [stderr]     Checking frontend v0.1.0 (/opt/rustwide/workdir/frontend)
[INFO] [stderr]     Checking neural_network v0.1.0 (/opt/rustwide/workdir/neural_network)
[INFO] [stdout] warning: unused imports: `KeyCode`, `KeyEventKind`, and `self`
[INFO] [stdout]  --> neural_network/src/network.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | ...   event::{self, KeyCode, KeyEventKind}, terminal::{disable_raw_mode, enable_raw_mode, EnterAlternateScreen, LeaveAlternateScreen}, Ex...
[INFO] [stdout]   |               ^^^^  ^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::slice`
[INFO] [stdout]  --> neural_network/src/layer.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::slice;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IoSliceMut`, `IoSlice`, `Read`, and `default`
[INFO] [stdout]  --> neural_network/src/layer.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{default, f64::consts::E, fs::File, io::{BufRead, BufReader, BufWriter, IoSlice, IoSliceMut, Read, Write}};
[INFO] [stdout]   |           ^^^^^^^                                                                ^^^^^^^  ^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DefaultAllocator`, `Matrix`, and `VectorN`
[INFO] [stdout]  --> neural_network/src/layer.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 | use nalgebra::{DefaultAllocator, Matrix, SMatrix, SVector, VectorN};
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^  ^^^^^^                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `nalgebra::VectorN`: use SVector for a statically-sized matrix using integer dimensions, or OVector for an owned matrix using types as dimensions.
[INFO] [stdout]  --> neural_network/src/layer.rs:4:60
[INFO] [stdout]   |
[INFO] [stdout] 4 | use nalgebra::{DefaultAllocator, Matrix, SMatrix, SVector, VectorN};
[INFO] [stdout]   |                                                            ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `KeyCode`, `KeyEventKind`, and `self`
[INFO] [stdout]  --> neural_network/src/network.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | ...   event::{self, KeyCode, KeyEventKind}, terminal::{disable_raw_mode, enable_raw_mode, EnterAlternateScreen, LeaveAlternateScreen}, Ex...
[INFO] [stdout]   |               ^^^^  ^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::slice`
[INFO] [stdout]  --> neural_network/src/layer.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::slice;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IoSliceMut`, `IoSlice`, `Read`, and `default`
[INFO] [stdout]  --> neural_network/src/layer.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{default, f64::consts::E, fs::File, io::{BufRead, BufReader, BufWriter, IoSlice, IoSliceMut, Read, Write}};
[INFO] [stdout]   |           ^^^^^^^                                                                ^^^^^^^  ^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DefaultAllocator`, `Matrix`, and `VectorN`
[INFO] [stdout]  --> neural_network/src/layer.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 | use nalgebra::{DefaultAllocator, Matrix, SMatrix, SVector, VectorN};
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^  ^^^^^^                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `nalgebra::VectorN`: use SVector for a statically-sized matrix using integer dimensions, or OVector for an owned matrix using types as dimensions.
[INFO] [stdout]  --> neural_network/src/layer.rs:4:60
[INFO] [stdout]   |
[INFO] [stdout] 4 | use nalgebra::{DefaultAllocator, Matrix, SMatrix, SVector, VectorN};
[INFO] [stdout]   |                                                            ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `out2` is never read
[INFO] [stdout]   --> neural_network/src/network.rs:65:21
[INFO] [stdout]    |
[INFO] [stdout] 65 |             let mut out2: SVector<f64, 2> = SVector::<f64, 2>::new(0.0, 0.0);
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `duration`
[INFO] [stdout]   --> neural_network/src/network.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 |     duration: u32) {
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `score`
[INFO] [stdout]    --> neural_network/src/network.rs:227:5
[INFO] [stdout]     |
[INFO] [stdout] 227 |     score: f64,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_score`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> neural_network/src/layer.rs:69:35
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn weights_to_file(&self, mut file: File) {
[INFO] [stdout]    |                                   ----^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> neural_network/src/layer.rs:80:39
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn file_to_weights(&mut self, mut file: File) {
[INFO] [stdout]    |                                       ----^^^^
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> neural_network/src/layer.rs:92:34
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub fn biases_to_file(&self, mut file: File) {
[INFO] [stdout]    |                                  ----^^^^
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> neural_network/src/layer.rs:101:38
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn file_to_biases(&mut self, mut file: File) {
[INFO] [stdout]     |                                      ----^^^^
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GOAL_SCORE` is never used
[INFO] [stdout]    --> neural_network/src/network.rs:220:7
[INFO] [stdout]     |
[INFO] [stdout] 220 | const GOAL_SCORE: f64 = 1000.0; // number of frames to survive
[INFO] [stdout]     |       ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GOAL_DISTANCE_IMP` is never used
[INFO] [stdout]    --> neural_network/src/network.rs:223:7
[INFO] [stdout]     |
[INFO] [stdout] 223 | const GOAL_DISTANCE_IMP:f64 = 0.3;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `out2` is never read
[INFO] [stdout]   --> neural_network/src/network.rs:65:21
[INFO] [stdout]    |
[INFO] [stdout] 65 |             let mut out2: SVector<f64, 2> = SVector::<f64, 2>::new(0.0, 0.0);
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `duration`
[INFO] [stdout]   --> neural_network/src/network.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 |     duration: u32) {
[INFO] [stdout]    |     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `score`
[INFO] [stdout]    --> neural_network/src/network.rs:227:5
[INFO] [stdout]     |
[INFO] [stdout] 227 |     score: f64,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_score`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> neural_network/src/layer.rs:69:35
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn weights_to_file(&self, mut file: File) {
[INFO] [stdout]    |                                   ----^^^^
[INFO] [stdout]    |                                   |
[INFO] [stdout]    |                                   help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> neural_network/src/layer.rs:80:39
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn file_to_weights(&mut self, mut file: File) {
[INFO] [stdout]    |                                       ----^^^^
[INFO] [stdout]    |                                       |
[INFO] [stdout]    |                                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> neural_network/src/layer.rs:92:34
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub fn biases_to_file(&self, mut file: File) {
[INFO] [stdout]    |                                  ----^^^^
[INFO] [stdout]    |                                  |
[INFO] [stdout]    |                                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> neural_network/src/layer.rs:101:38
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn file_to_biases(&mut self, mut file: File) {
[INFO] [stdout]     |                                      ----^^^^
[INFO] [stdout]     |                                      |
[INFO] [stdout]     |                                      help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GOAL_SCORE` is never used
[INFO] [stdout]    --> neural_network/src/network.rs:220:7
[INFO] [stdout]     |
[INFO] [stdout] 220 | const GOAL_SCORE: f64 = 1000.0; // number of frames to survive
[INFO] [stdout]     |       ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GOAL_DISTANCE_IMP` is never used
[INFO] [stdout]    --> neural_network/src/network.rs:223:7
[INFO] [stdout]     |
[INFO] [stdout] 223 | const GOAL_DISTANCE_IMP:f64 = 0.3;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `os::linux::net` and `vec`
[INFO] [stdout]  --> neural_network/src/main.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fs::File, os::linux::net, vec};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^  ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `os::linux::net` and `vec`
[INFO] [stdout]  --> neural_network/src/main.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fs::File, os::linux::net, vec};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^  ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> neural_network/src/main.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |         for i in 1..=duration {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `train` is never used
[INFO] [stdout]  --> neural_network/src/main.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn train(
[INFO] [stdout]   |    ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_res` is never used
[INFO] [stdout]   --> neural_network/src/main.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn print_res(
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> neural_network/src/main.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |         for i in 1..=duration {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `train` is never used
[INFO] [stdout]  --> neural_network/src/main.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn train(
[INFO] [stdout]   |    ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_res` is never used
[INFO] [stdout]   --> neural_network/src/main.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn print_res(
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 29.17s
[INFO] running `Command { std: "docker" "inspect" "c66537369b5f4b7d2e0978cf8b099e508d95ba96ddaf3210e81368c0a91b277a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c66537369b5f4b7d2e0978cf8b099e508d95ba96ddaf3210e81368c0a91b277a", kill_on_drop: false }`
[INFO] [stdout] c66537369b5f4b7d2e0978cf8b099e508d95ba96ddaf3210e81368c0a91b277a
