[INFO] cloning repository https://github.com/bobhacko1112/nimrod
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/bobhacko1112/nimrod" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbobhacko1112%2Fnimrod", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbobhacko1112%2Fnimrod'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d25b0758fbf9cf9d8da3a405802d34536115f914
[INFO] testing bobhacko1112/nimrod against beta-2023-04-20 for beta-1.70-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbobhacko1112%2Fnimrod" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/bobhacko1112/nimrod on toolchain beta-2023-04-20
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2023-04-20" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/bobhacko1112/nimrod
[INFO] finished tweaking git repo https://github.com/bobhacko1112/nimrod
[INFO] tweaked toml for git repo https://github.com/bobhacko1112/nimrod written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/bobhacko1112/nimrod 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" "+beta-2023-04-20" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-04-20" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1c8be738cf05502d668e14dbd9ee3819c9ed1bca87c38cb04d2a5808a4fd8ed3
[INFO] running `Command { std: "docker" "start" "-a" "1c8be738cf05502d668e14dbd9ee3819c9ed1bca87c38cb04d2a5808a4fd8ed3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1c8be738cf05502d668e14dbd9ee3819c9ed1bca87c38cb04d2a5808a4fd8ed3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1c8be738cf05502d668e14dbd9ee3819c9ed1bca87c38cb04d2a5808a4fd8ed3", kill_on_drop: false }`
[INFO] [stdout] 1c8be738cf05502d668e14dbd9ee3819c9ed1bca87c38cb04d2a5808a4fd8ed3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-04-20" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 80a216509f405c2f567d22975db501d8805cf18e56b7b52fb236035f127967ff
[INFO] running `Command { std: "docker" "start" "-a" "80a216509f405c2f567d22975db501d8805cf18e56b7b52fb236035f127967ff", kill_on_drop: false }`
[INFO] [stderr]    Compiling cfg-if v0.1.10
[INFO] [stderr]    Compiling autocfg v0.1.7
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.6
[INFO] [stderr]    Compiling libc v0.2.65
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[INFO] [stderr]    Compiling getrandom v0.1.13
[INFO] [stderr]    Compiling syn v1.0.8
[INFO] [stderr]    Compiling serde v1.0.102
[INFO] [stderr]    Compiling ppv-lite86 v0.2.6
[INFO] [stderr]    Compiling ryu v1.0.2
[INFO] [stderr]    Compiling scopeguard v1.0.0
[INFO] [stderr]    Compiling itoa v0.4.4
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling crossbeam-utils v0.7.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.0
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling c2-chacha v0.2.3
[INFO] [stderr]    Compiling memoffset v0.5.3
[INFO] [stderr]    Compiling num_cpus v1.11.1
[INFO] [stderr]    Compiling quote v1.0.2
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling crossbeam-channel v0.4.0
[INFO] [stderr]    Compiling crossbeam-queue v0.2.0
[INFO] [stderr]    Compiling rand_chacha v0.2.1
[INFO] [stderr]    Compiling rand v0.7.2
[INFO] [stderr]    Compiling crossbeam-deque v0.7.2
[INFO] [stderr]    Compiling crossbeam v0.7.3
[INFO] [stderr]    Compiling serde_derive v1.0.102
[INFO] [stderr]    Compiling serde_json v1.0.41
[INFO] [stderr]    Compiling brain v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `rand::prelude::*`
[INFO] [stdout]  --> src/lib.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rand::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/lib.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::BufReader`
[INFO] [stdout]  --> src/lib.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::BufReader;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `sigmoid` should have an upper camel case name
[INFO] [stdout]   --> src/lib.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     sigmoid,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Sigmoid`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `tanh` should have an upper camel case name
[INFO] [stdout]   --> src/lib.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     tanh,
[INFO] [stdout]    |     ^^^^ help: convert the identifier to upper camel case: `Tanh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `relu` should have an upper camel case name
[INFO] [stdout]   --> src/lib.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |     relu,
[INFO] [stdout]    |     ^^^^ help: convert the identifier to upper camel case: `Relu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `epochs` should have an upper camel case name
[INFO] [stdout]   --> src/lib.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     epochs(usize),
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to upper camel case: `Epochs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `error` should have an upper camel case name
[INFO] [stdout]   --> src/lib.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     error(f64),
[INFO] [stdout]    |     ^^^^^ help: convert the identifier to upper camel case: `Error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/lib.rs:205:20
[INFO] [stdout]     |
[INFO] [stdout] 205 |                 if (self.errors_received == 0) {
[INFO] [stdout]     |                    ^                         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 205 -                 if (self.errors_received == 0) {
[INFO] [stdout] 205 +                 if self.errors_received == 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/lib.rs:218:20
[INFO] [stdout]     |
[INFO] [stdout] 218 |                 if (self.errors_received == self.back_connections && self.is_input == false) {
[INFO] [stdout]     |                    ^                                                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 218 -                 if (self.errors_received == self.back_connections && self.is_input == false) {
[INFO] [stdout] 218 +                 if self.errors_received == self.back_connections && self.is_input == false {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::prelude`
[INFO] [stdout]  --> src/lib.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `sigmoid` is named the same as one of the variants of the type `ActivatonFunction`
[INFO] [stdout]   --> src/lib.rs:99:13
[INFO] [stdout]    |
[INFO] [stdout] 99 |             sigmoid => 1.0 / (1.0 + (-x).exp()),
[INFO] [stdout]    |             ^^^^^^^ help: to match on the variant, qualify the path: `ActivatonFunction::sigmoid`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bindings_with_variant_name)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `tanh` is named the same as one of the variants of the type `ActivatonFunction`
[INFO] [stdout]    --> src/lib.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |             tanh => x.tanh(),
[INFO] [stdout]     |             ^^^^ help: to match on the variant, qualify the path: `ActivatonFunction::tanh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `relu` is named the same as one of the variants of the type `ActivatonFunction`
[INFO] [stdout]    --> src/lib.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |             relu => {
[INFO] [stdout]     |             ^^^^ help: to match on the variant, qualify the path: `ActivatonFunction::relu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/lib.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 99  |             sigmoid => 1.0 / (1.0 + (-x).exp()),
[INFO] [stdout]     |             ------- matches any value
[INFO] [stdout] 100 |             tanh => x.tanh(),
[INFO] [stdout]     |             ^^^^ unreachable pattern
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/lib.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 99  |             sigmoid => 1.0 / (1.0 + (-x).exp()),
[INFO] [stdout]     |             ------- matches any value
[INFO] [stdout] 100 |             tanh => x.tanh(),
[INFO] [stdout] 101 |             relu => {
[INFO] [stdout]     |             ^^^^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `sigmoid` is named the same as one of the variants of the type `ActivatonFunction`
[INFO] [stdout]    --> src/lib.rs:113:13
[INFO] [stdout]     |
[INFO] [stdout] 113 |             sigmoid => x * (1.0f64 - x),
[INFO] [stdout]     |             ^^^^^^^ help: to match on the variant, qualify the path: `ActivatonFunction::sigmoid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `tanh` is named the same as one of the variants of the type `ActivatonFunction`
[INFO] [stdout]    --> src/lib.rs:114:13
[INFO] [stdout]     |
[INFO] [stdout] 114 |             tanh => 1.0f64 - x.powf(2.0f64),
[INFO] [stdout]     |             ^^^^ help: to match on the variant, qualify the path: `ActivatonFunction::tanh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `relu` is named the same as one of the variants of the type `ActivatonFunction`
[INFO] [stdout]    --> src/lib.rs:115:13
[INFO] [stdout]     |
[INFO] [stdout] 115 |             relu => {
[INFO] [stdout]     |             ^^^^ help: to match on the variant, qualify the path: `ActivatonFunction::relu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/lib.rs:114:13
[INFO] [stdout]     |
[INFO] [stdout] 113 |             sigmoid => x * (1.0f64 - x),
[INFO] [stdout]     |             ------- matches any value
[INFO] [stdout] 114 |             tanh => 1.0f64 - x.powf(2.0f64),
[INFO] [stdout]     |             ^^^^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/lib.rs:115:13
[INFO] [stdout]     |
[INFO] [stdout] 113 |             sigmoid => x * (1.0f64 - x),
[INFO] [stdout]     |             ------- matches any value
[INFO] [stdout] 114 |             tanh => 1.0f64 - x.powf(2.0f64),
[INFO] [stdout] 115 |             relu => {
[INFO] [stdout]     |             ^^^^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sigmoid`
[INFO] [stdout]   --> src/lib.rs:99:13
[INFO] [stdout]    |
[INFO] [stdout] 99 |             sigmoid => 1.0 / (1.0 + (-x).exp()),
[INFO] [stdout]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sigmoid`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tanh`
[INFO] [stdout]    --> src/lib.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |             tanh => x.tanh(),
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_tanh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `relu`
[INFO] [stdout]    --> src/lib.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |             relu => {
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_relu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sigmoid`
[INFO] [stdout]    --> src/lib.rs:113:13
[INFO] [stdout]     |
[INFO] [stdout] 113 |             sigmoid => x * (1.0f64 - x),
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sigmoid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tanh`
[INFO] [stdout]    --> src/lib.rs:114:13
[INFO] [stdout]     |
[INFO] [stdout] 114 |             tanh => 1.0f64 - x.powf(2.0f64),
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_tanh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `relu`
[INFO] [stdout]    --> src/lib.rs:115:13
[INFO] [stdout]     |
[INFO] [stdout] 115 |             relu => {
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_relu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]    --> src/lib.rs:165:9
[INFO] [stdout]     |
[INFO] [stdout] 165 |         out: Option<f64>,
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filename`
[INFO] [stdout]    --> src/lib.rs:382:27
[INFO] [stdout]     |
[INFO] [stdout] 382 |     fn to_file(&mut self, filename: &str) -> Result<&str, &str> {
[INFO] [stdout]     |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filename`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filename`
[INFO] [stdout]    --> src/lib.rs:386:18
[INFO] [stdout]     |
[INFO] [stdout] 386 |     fn from_file(filename: &str) -> Result<Net, &str> {
[INFO] [stdout]     |                  ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filename`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prev_error`
[INFO] [stdout]    --> src/lib.rs:435:25
[INFO] [stdout]     |
[INFO] [stdout] 435 |                 let mut prev_error = 0.6f64;
[INFO] [stdout]     |                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:400:13
[INFO] [stdout]     |
[INFO] [stdout] 400 |         let mut net = Net::create(
[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]    --> src/lib.rs:435:21
[INFO] [stdout]     |
[INFO] [stdout] 435 |                 let mut prev_error = 0.6f64;
[INFO] [stdout]     |                     ----^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `random` is never used
[INFO] [stdout]   --> src/lib.rs:42:4
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn random() -> f64 {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get` and `get_derivative` are never used
[INFO] [stdout]    --> src/lib.rs:97:8
[INFO] [stdout]     |
[INFO] [stdout] 96  | impl ActivatonFunction {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] 97  |     fn get(&self, x: f64) -> f64 {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     fn get_derivative(&self, x: f64) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `feed_forward` is never used
[INFO] [stdout]    --> src/lib.rs:127:8
[INFO] [stdout]     |
[INFO] [stdout] 126 | impl Layer {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] 127 |     fn feed_forward(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `feed_forward` and `backprop` are never used
[INFO] [stdout]    --> src/lib.rs:147:8
[INFO] [stdout]     |
[INFO] [stdout] 146 | impl Cell {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] 147 |     fn feed_forward(&mut self, bias: f64, activation_function: ActivatonFunction) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     fn backprop(
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/lib.rs:243:8
[INFO] [stdout]     |
[INFO] [stdout] 242 | impl Net {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout] 243 |     fn backprop(&self, targets: &Vec<f64>) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     fn get_result(&self) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 |     fn get_results(&self) -> Vec<f64> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 283 |     fn get_error(&self) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 289 |     fn feed_forward(&mut self, inputs: &Vec<f64>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 301 |     fn new(layers: &Vec<usize>) -> Net {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 309 |     fn create(
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 382 |     fn to_file(&mut self, filename: &str) -> Result<&str, &str> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 386 |     fn from_file(filename: &str) -> Result<Net, &str> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `go` are never used
[INFO] [stdout]    --> src/lib.rs:392:8
[INFO] [stdout]     |
[INFO] [stdout] 391 | impl Trainer {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 392 |     fn new(
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 413 |     fn go(mut self) -> Net {
[INFO] [stdout]     |        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/lib.rs:172:17
[INFO] [stdout]     |
[INFO] [stdout] 172 | /                 thread::scope(|s| {
[INFO] [stdout] 173 | |                     match &mut self.connections {
[INFO] [stdout] 174 | |                         Some(connections) => {
[INFO] [stdout] 175 | |                             // spawn thread here
[INFO] [stdout] ...   |
[INFO] [stdout] 198 | |                     }
[INFO] [stdout] 199 | |                 });
[INFO] [stdout]     | |__________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 172 |                 let _ = thread::scope(|s| {
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/lib.rs:246:9
[INFO] [stdout]     |
[INFO] [stdout] 246 | /         thread::scope(|s| {
[INFO] [stdout] 247 | |             for (cell_chunk, target_chunk) in self.network[out_index]
[INFO] [stdout] 248 | |                 .cells
[INFO] [stdout] 249 | |                 .chunks(core_count)
[INFO] [stdout] ...   |
[INFO] [stdout] 262 | |             }
[INFO] [stdout] 263 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 246 |         let _ = thread::scope(|s| {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 41 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0170`.
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 8.32s
[INFO] running `Command { std: "docker" "inspect" "80a216509f405c2f567d22975db501d8805cf18e56b7b52fb236035f127967ff", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "80a216509f405c2f567d22975db501d8805cf18e56b7b52fb236035f127967ff", kill_on_drop: false }`
[INFO] [stdout] 80a216509f405c2f567d22975db501d8805cf18e56b7b52fb236035f127967ff
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-04-20" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c369e0ef528c16d6f7276c122a0bde21f439930b151a97841fac8bed0bcef2c2
[INFO] running `Command { std: "docker" "start" "-a" "c369e0ef528c16d6f7276c122a0bde21f439930b151a97841fac8bed0bcef2c2", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `rand::prelude::*`
[INFO] [stdout]  --> src/lib.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rand::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/lib.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::BufReader`
[INFO] [stdout]  --> src/lib.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::BufReader;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `sigmoid` should have an upper camel case name
[INFO] [stdout]   --> src/lib.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     sigmoid,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Sigmoid`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `tanh` should have an upper camel case name
[INFO] [stdout]   --> src/lib.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     tanh,
[INFO] [stdout]    |     ^^^^ help: convert the identifier to upper camel case: `Tanh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `relu` should have an upper camel case name
[INFO] [stdout]   --> src/lib.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |     relu,
[INFO] [stdout]    |     ^^^^ help: convert the identifier to upper camel case: `Relu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `epochs` should have an upper camel case name
[INFO] [stdout]   --> src/lib.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     epochs(usize),
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to upper camel case: `Epochs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `error` should have an upper camel case name
[INFO] [stdout]   --> src/lib.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     error(f64),
[INFO] [stdout]    |     ^^^^^ help: convert the identifier to upper camel case: `Error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/lib.rs:205:20
[INFO] [stdout]     |
[INFO] [stdout] 205 |                 if (self.errors_received == 0) {
[INFO] [stdout]     |                    ^                         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 205 -                 if (self.errors_received == 0) {
[INFO] [stdout] 205 +                 if self.errors_received == 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/lib.rs:218:20
[INFO] [stdout]     |
[INFO] [stdout] 218 |                 if (self.errors_received == self.back_connections && self.is_input == false) {
[INFO] [stdout]     |                    ^                                                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 218 -                 if (self.errors_received == self.back_connections && self.is_input == false) {
[INFO] [stdout] 218 +                 if self.errors_received == self.back_connections && self.is_input == false {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::prelude`
[INFO] [stdout]  --> src/lib.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `sigmoid` is named the same as one of the variants of the type `ActivatonFunction`
[INFO] [stdout]   --> src/lib.rs:99:13
[INFO] [stdout]    |
[INFO] [stdout] 99 |             sigmoid => 1.0 / (1.0 + (-x).exp()),
[INFO] [stdout]    |             ^^^^^^^ help: to match on the variant, qualify the path: `ActivatonFunction::sigmoid`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bindings_with_variant_name)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `tanh` is named the same as one of the variants of the type `ActivatonFunction`
[INFO] [stdout]    --> src/lib.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |             tanh => x.tanh(),
[INFO] [stdout]     |             ^^^^ help: to match on the variant, qualify the path: `ActivatonFunction::tanh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `relu` is named the same as one of the variants of the type `ActivatonFunction`
[INFO] [stdout]    --> src/lib.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |             relu => {
[INFO] [stdout]     |             ^^^^ help: to match on the variant, qualify the path: `ActivatonFunction::relu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/lib.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 99  |             sigmoid => 1.0 / (1.0 + (-x).exp()),
[INFO] [stdout]     |             ------- matches any value
[INFO] [stdout] 100 |             tanh => x.tanh(),
[INFO] [stdout]     |             ^^^^ unreachable pattern
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/lib.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 99  |             sigmoid => 1.0 / (1.0 + (-x).exp()),
[INFO] [stdout]     |             ------- matches any value
[INFO] [stdout] 100 |             tanh => x.tanh(),
[INFO] [stdout] 101 |             relu => {
[INFO] [stdout]     |             ^^^^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `sigmoid` is named the same as one of the variants of the type `ActivatonFunction`
[INFO] [stdout]    --> src/lib.rs:113:13
[INFO] [stdout]     |
[INFO] [stdout] 113 |             sigmoid => x * (1.0f64 - x),
[INFO] [stdout]     |             ^^^^^^^ help: to match on the variant, qualify the path: `ActivatonFunction::sigmoid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `tanh` is named the same as one of the variants of the type `ActivatonFunction`
[INFO] [stdout]    --> src/lib.rs:114:13
[INFO] [stdout]     |
[INFO] [stdout] 114 |             tanh => 1.0f64 - x.powf(2.0f64),
[INFO] [stdout]     |             ^^^^ help: to match on the variant, qualify the path: `ActivatonFunction::tanh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `relu` is named the same as one of the variants of the type `ActivatonFunction`
[INFO] [stdout]    --> src/lib.rs:115:13
[INFO] [stdout]     |
[INFO] [stdout] 115 |             relu => {
[INFO] [stdout]     |             ^^^^ help: to match on the variant, qualify the path: `ActivatonFunction::relu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/lib.rs:114:13
[INFO] [stdout]     |
[INFO] [stdout] 113 |             sigmoid => x * (1.0f64 - x),
[INFO] [stdout]     |             ------- matches any value
[INFO] [stdout] 114 |             tanh => 1.0f64 - x.powf(2.0f64),
[INFO] [stdout]     |             ^^^^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/lib.rs:115:13
[INFO] [stdout]     |
[INFO] [stdout] 113 |             sigmoid => x * (1.0f64 - x),
[INFO] [stdout]     |             ------- matches any value
[INFO] [stdout] 114 |             tanh => 1.0f64 - x.powf(2.0f64),
[INFO] [stdout] 115 |             relu => {
[INFO] [stdout]     |             ^^^^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sigmoid`
[INFO] [stdout]   --> src/lib.rs:99:13
[INFO] [stdout]    |
[INFO] [stdout] 99 |             sigmoid => 1.0 / (1.0 + (-x).exp()),
[INFO] [stdout]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sigmoid`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tanh`
[INFO] [stdout]    --> src/lib.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |             tanh => x.tanh(),
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_tanh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `relu`
[INFO] [stdout]    --> src/lib.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |             relu => {
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_relu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sigmoid`
[INFO] [stdout]    --> src/lib.rs:113:13
[INFO] [stdout]     |
[INFO] [stdout] 113 |             sigmoid => x * (1.0f64 - x),
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sigmoid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tanh`
[INFO] [stdout]    --> src/lib.rs:114:13
[INFO] [stdout]     |
[INFO] [stdout] 114 |             tanh => 1.0f64 - x.powf(2.0f64),
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_tanh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `relu`
[INFO] [stdout]    --> src/lib.rs:115:13
[INFO] [stdout]     |
[INFO] [stdout] 115 |             relu => {
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_relu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]    --> src/lib.rs:165:9
[INFO] [stdout]     |
[INFO] [stdout] 165 |         out: Option<f64>,
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filename`
[INFO] [stdout]    --> src/lib.rs:382:27
[INFO] [stdout]     |
[INFO] [stdout] 382 |     fn to_file(&mut self, filename: &str) -> Result<&str, &str> {
[INFO] [stdout]     |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filename`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filename`
[INFO] [stdout]    --> src/lib.rs:386:18
[INFO] [stdout]     |
[INFO] [stdout] 386 |     fn from_file(filename: &str) -> Result<Net, &str> {
[INFO] [stdout]     |                  ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filename`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prev_error`
[INFO] [stdout]    --> src/lib.rs:435:25
[INFO] [stdout]     |
[INFO] [stdout] 435 |                 let mut prev_error = 0.6f64;
[INFO] [stdout]     |                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lib.rs:400:13
[INFO] [stdout]     |
[INFO] [stdout] 400 |         let mut net = Net::create(
[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]    --> src/lib.rs:435:21
[INFO] [stdout]     |
[INFO] [stdout] 435 |                 let mut prev_error = 0.6f64;
[INFO] [stdout]     |                     ----^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `random` is never used
[INFO] [stdout]   --> src/lib.rs:42:4
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn random() -> f64 {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get` and `get_derivative` are never used
[INFO] [stdout]    --> src/lib.rs:97:8
[INFO] [stdout]     |
[INFO] [stdout] 96  | impl ActivatonFunction {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] 97  |     fn get(&self, x: f64) -> f64 {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     fn get_derivative(&self, x: f64) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `feed_forward` is never used
[INFO] [stdout]    --> src/lib.rs:127:8
[INFO] [stdout]     |
[INFO] [stdout] 126 | impl Layer {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] 127 |     fn feed_forward(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `feed_forward` and `backprop` are never used
[INFO] [stdout]    --> src/lib.rs:147:8
[INFO] [stdout]     |
[INFO] [stdout] 146 | impl Cell {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] 147 |     fn feed_forward(&mut self, bias: f64, activation_function: ActivatonFunction) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     fn backprop(
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/lib.rs:243:8
[INFO] [stdout]     |
[INFO] [stdout] 242 | impl Net {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout] 243 |     fn backprop(&self, targets: &Vec<f64>) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     fn get_result(&self) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 |     fn get_results(&self) -> Vec<f64> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 283 |     fn get_error(&self) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 289 |     fn feed_forward(&mut self, inputs: &Vec<f64>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 301 |     fn new(layers: &Vec<usize>) -> Net {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 309 |     fn create(
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 382 |     fn to_file(&mut self, filename: &str) -> Result<&str, &str> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 386 |     fn from_file(filename: &str) -> Result<Net, &str> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `go` are never used
[INFO] [stdout]    --> src/lib.rs:392:8
[INFO] [stdout]     |
[INFO] [stdout] 391 | impl Trainer {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 392 |     fn new(
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 413 |     fn go(mut self) -> Net {
[INFO] [stdout]     |        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/lib.rs:172:17
[INFO] [stdout]     |
[INFO] [stdout] 172 | /                 thread::scope(|s| {
[INFO] [stdout] 173 | |                     match &mut self.connections {
[INFO] [stdout] 174 | |                         Some(connections) => {
[INFO] [stdout] 175 | |                             // spawn thread here
[INFO] [stdout] ...   |
[INFO] [stdout] 198 | |                     }
[INFO] [stdout] 199 | |                 });
[INFO] [stdout]     | |__________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 172 |                 let _ = thread::scope(|s| {
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/lib.rs:246:9
[INFO] [stdout]     |
[INFO] [stdout] 246 | /         thread::scope(|s| {
[INFO] [stdout] 247 | |             for (cell_chunk, target_chunk) in self.network[out_index]
[INFO] [stdout] 248 | |                 .cells
[INFO] [stdout] 249 | |                 .chunks(core_count)
[INFO] [stdout] ...   |
[INFO] [stdout] 262 | |             }
[INFO] [stdout] 263 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 246 |         let _ = thread::scope(|s| {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 41 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0170`.
[INFO] [stdout] 
[INFO] [stderr]    Compiling brain v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `rand::prelude::*`
[INFO] [stdout]  --> src/lib.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rand::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/lib.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::BufReader`
[INFO] [stdout]  --> src/lib.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::BufReader;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `sigmoid` should have an upper camel case name
[INFO] [stdout]   --> src/lib.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     sigmoid,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Sigmoid`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `tanh` should have an upper camel case name
[INFO] [stdout]   --> src/lib.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     tanh,
[INFO] [stdout]    |     ^^^^ help: convert the identifier to upper camel case: `Tanh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `relu` should have an upper camel case name
[INFO] [stdout]   --> src/lib.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |     relu,
[INFO] [stdout]    |     ^^^^ help: convert the identifier to upper camel case: `Relu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `epochs` should have an upper camel case name
[INFO] [stdout]   --> src/lib.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     epochs(usize),
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to upper camel case: `Epochs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `error` should have an upper camel case name
[INFO] [stdout]   --> src/lib.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     error(f64),
[INFO] [stdout]    |     ^^^^^ help: convert the identifier to upper camel case: `Error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/lib.rs:205:20
[INFO] [stdout]     |
[INFO] [stdout] 205 |                 if (self.errors_received == 0) {
[INFO] [stdout]     |                    ^                         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 205 -                 if (self.errors_received == 0) {
[INFO] [stdout] 205 +                 if self.errors_received == 0 {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/lib.rs:218:20
[INFO] [stdout]     |
[INFO] [stdout] 218 |                 if (self.errors_received == self.back_connections && self.is_input == false) {
[INFO] [stdout]     |                    ^                                                                       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 218 -                 if (self.errors_received == self.back_connections && self.is_input == false) {
[INFO] [stdout] 218 +                 if self.errors_received == self.back_connections && self.is_input == false {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::prelude`
[INFO] [stdout]  --> src/lib.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `sigmoid` is named the same as one of the variants of the type `ActivatonFunction`
[INFO] [stdout]   --> src/lib.rs:99:13
[INFO] [stdout]    |
[INFO] [stdout] 99 |             sigmoid => 1.0 / (1.0 + (-x).exp()),
[INFO] [stdout]    |             ^^^^^^^ help: to match on the variant, qualify the path: `ActivatonFunction::sigmoid`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bindings_with_variant_name)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `tanh` is named the same as one of the variants of the type `ActivatonFunction`
[INFO] [stdout]    --> src/lib.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |             tanh => x.tanh(),
[INFO] [stdout]     |             ^^^^ help: to match on the variant, qualify the path: `ActivatonFunction::tanh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `relu` is named the same as one of the variants of the type `ActivatonFunction`
[INFO] [stdout]    --> src/lib.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |             relu => {
[INFO] [stdout]     |             ^^^^ help: to match on the variant, qualify the path: `ActivatonFunction::relu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/lib.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 99  |             sigmoid => 1.0 / (1.0 + (-x).exp()),
[INFO] [stdout]     |             ------- matches any value
[INFO] [stdout] 100 |             tanh => x.tanh(),
[INFO] [stdout]     |             ^^^^ unreachable pattern
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/lib.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 99  |             sigmoid => 1.0 / (1.0 + (-x).exp()),
[INFO] [stdout]     |             ------- matches any value
[INFO] [stdout] 100 |             tanh => x.tanh(),
[INFO] [stdout] 101 |             relu => {
[INFO] [stdout]     |             ^^^^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `sigmoid` is named the same as one of the variants of the type `ActivatonFunction`
[INFO] [stdout]    --> src/lib.rs:113:13
[INFO] [stdout]     |
[INFO] [stdout] 113 |             sigmoid => x * (1.0f64 - x),
[INFO] [stdout]     |             ^^^^^^^ help: to match on the variant, qualify the path: `ActivatonFunction::sigmoid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `tanh` is named the same as one of the variants of the type `ActivatonFunction`
[INFO] [stdout]    --> src/lib.rs:114:13
[INFO] [stdout]     |
[INFO] [stdout] 114 |             tanh => 1.0f64 - x.powf(2.0f64),
[INFO] [stdout]     |             ^^^^ help: to match on the variant, qualify the path: `ActivatonFunction::tanh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `relu` is named the same as one of the variants of the type `ActivatonFunction`
[INFO] [stdout]    --> src/lib.rs:115:13
[INFO] [stdout]     |
[INFO] [stdout] 115 |             relu => {
[INFO] [stdout]     |             ^^^^ help: to match on the variant, qualify the path: `ActivatonFunction::relu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/lib.rs:114:13
[INFO] [stdout]     |
[INFO] [stdout] 113 |             sigmoid => x * (1.0f64 - x),
[INFO] [stdout]     |             ------- matches any value
[INFO] [stdout] 114 |             tanh => 1.0f64 - x.powf(2.0f64),
[INFO] [stdout]     |             ^^^^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/lib.rs:115:13
[INFO] [stdout]     |
[INFO] [stdout] 113 |             sigmoid => x * (1.0f64 - x),
[INFO] [stdout]     |             ------- matches any value
[INFO] [stdout] 114 |             tanh => 1.0f64 - x.powf(2.0f64),
[INFO] [stdout] 115 |             relu => {
[INFO] [stdout]     |             ^^^^ unreachable pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `net`
[INFO] [stdout]   --> src/lib.rs:38:17
[INFO] [stdout]    |
[INFO] [stdout] 38 |         let mut net = trainer.go();
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_net`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sigmoid`
[INFO] [stdout]   --> src/lib.rs:99:13
[INFO] [stdout]    |
[INFO] [stdout] 99 |             sigmoid => 1.0 / (1.0 + (-x).exp()),
[INFO] [stdout]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sigmoid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tanh`
[INFO] [stdout]    --> src/lib.rs:100:13
[INFO] [stdout]     |
[INFO] [stdout] 100 |             tanh => x.tanh(),
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_tanh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `relu`
[INFO] [stdout]    --> src/lib.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |             relu => {
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_relu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sigmoid`
[INFO] [stdout]    --> src/lib.rs:113:13
[INFO] [stdout]     |
[INFO] [stdout] 113 |             sigmoid => x * (1.0f64 - x),
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sigmoid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tanh`
[INFO] [stdout]    --> src/lib.rs:114:13
[INFO] [stdout]     |
[INFO] [stdout] 114 |             tanh => 1.0f64 - x.powf(2.0f64),
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_tanh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `relu`
[INFO] [stdout]    --> src/lib.rs:115:13
[INFO] [stdout]     |
[INFO] [stdout] 115 |             relu => {
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_relu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out`
[INFO] [stdout]    --> src/lib.rs:165:9
[INFO] [stdout]     |
[INFO] [stdout] 165 |         out: Option<f64>,
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filename`
[INFO] [stdout]    --> src/lib.rs:382:27
[INFO] [stdout]     |
[INFO] [stdout] 382 |     fn to_file(&mut self, filename: &str) -> Result<&str, &str> {
[INFO] [stdout]     |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filename`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filename`
[INFO] [stdout]    --> src/lib.rs:386:18
[INFO] [stdout]     |
[INFO] [stdout] 386 |     fn from_file(filename: &str) -> Result<Net, &str> {
[INFO] [stdout]     |                  ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filename`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prev_error`
[INFO] [stdout]    --> src/lib.rs:435:25
[INFO] [stdout]     |
[INFO] [stdout] 435 |                 let mut prev_error = 0.6f64;
[INFO] [stdout]     |                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/lib.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let mut trainer = Trainer::new(
[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]   --> src/lib.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |         let mut net = trainer.go();
[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]    --> src/lib.rs:400:13
[INFO] [stdout]     |
[INFO] [stdout] 400 |         let mut net = Net::create(
[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]    --> src/lib.rs:435:21
[INFO] [stdout]     |
[INFO] [stdout] 435 |                 let mut prev_error = 0.6f64;
[INFO] [stdout]     |                     ----^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `get_result`, `new`, `to_file`, and `from_file` are never used
[INFO] [stdout]    --> src/lib.rs:266:8
[INFO] [stdout]     |
[INFO] [stdout] 242 | impl Net {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 266 |     fn get_result(&self) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 301 |     fn new(layers: &Vec<usize>) -> Net {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 382 |     fn to_file(&mut self, filename: &str) -> Result<&str, &str> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 386 |     fn from_file(filename: &str) -> Result<Net, &str> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/lib.rs:172:17
[INFO] [stdout]     |
[INFO] [stdout] 172 | /                 thread::scope(|s| {
[INFO] [stdout] 173 | |                     match &mut self.connections {
[INFO] [stdout] 174 | |                         Some(connections) => {
[INFO] [stdout] 175 | |                             // spawn thread here
[INFO] [stdout] ...   |
[INFO] [stdout] 198 | |                     }
[INFO] [stdout] 199 | |                 });
[INFO] [stdout]     | |__________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 172 |                 let _ = thread::scope(|s| {
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/lib.rs:246:9
[INFO] [stdout]     |
[INFO] [stdout] 246 | /         thread::scope(|s| {
[INFO] [stdout] 247 | |             for (cell_chunk, target_chunk) in self.network[out_index]
[INFO] [stdout] 248 | |                 .cells
[INFO] [stdout] 249 | |                 .chunks(core_count)
[INFO] [stdout] ...   |
[INFO] [stdout] 262 | |             }
[INFO] [stdout] 263 | |         });
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 246 |         let _ = thread::scope(|s| {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 39 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0170`.
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.62s
[INFO] running `Command { std: "docker" "inspect" "c369e0ef528c16d6f7276c122a0bde21f439930b151a97841fac8bed0bcef2c2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c369e0ef528c16d6f7276c122a0bde21f439930b151a97841fac8bed0bcef2c2", kill_on_drop: false }`
[INFO] [stdout] c369e0ef528c16d6f7276c122a0bde21f439930b151a97841fac8bed0bcef2c2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-04-20" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 4f92990e761fb068fc9d6beabdc89fa46eb0ec7370139c95f916069acd21fee7
[INFO] running `Command { std: "docker" "start" "-a" "4f92990e761fb068fc9d6beabdc89fa46eb0ec7370139c95f916069acd21fee7", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `rand::prelude::*`
[INFO] [stderr]  --> src/lib.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use rand::prelude::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fs::File`
[INFO] [stderr]  --> src/lib.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::fs::File;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::BufReader`
[INFO] [stderr]  --> src/lib.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::io::BufReader;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `sigmoid` should have an upper camel case name
[INFO] [stderr]   --> src/lib.rs:49:5
[INFO] [stderr]    |
[INFO] [stderr] 49 |     sigmoid,
[INFO] [stderr]    |     ^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Sigmoid`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `tanh` should have an upper camel case name
[INFO] [stderr]   --> src/lib.rs:50:5
[INFO] [stderr]    |
[INFO] [stderr] 50 |     tanh,
[INFO] [stderr]    |     ^^^^ help: convert the identifier to upper camel case: `Tanh`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `relu` should have an upper camel case name
[INFO] [stderr]   --> src/lib.rs:51:5
[INFO] [stderr]    |
[INFO] [stderr] 51 |     relu,
[INFO] [stderr]    |     ^^^^ help: convert the identifier to upper camel case: `Relu`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `epochs` should have an upper camel case name
[INFO] [stderr]   --> src/lib.rs:55:5
[INFO] [stderr]    |
[INFO] [stderr] 55 |     epochs(usize),
[INFO] [stderr]    |     ^^^^^^ help: convert the identifier to upper camel case: `Epochs`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `error` should have an upper camel case name
[INFO] [stderr]   --> src/lib.rs:56:5
[INFO] [stderr]    |
[INFO] [stderr] 56 |     error(f64),
[INFO] [stderr]    |     ^^^^^ help: convert the identifier to upper camel case: `Error`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/lib.rs:205:20
[INFO] [stderr]     |
[INFO] [stderr] 205 |                 if (self.errors_received == 0) {
[INFO] [stderr]     |                    ^                         ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 205 -                 if (self.errors_received == 0) {
[INFO] [stderr] 205 +                 if self.errors_received == 0 {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]    --> src/lib.rs:218:20
[INFO] [stderr]     |
[INFO] [stderr] 218 |                 if (self.errors_received == self.back_connections && self.is_input == false) {
[INFO] [stderr]     |                    ^                                                                       ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 218 -                 if (self.errors_received == self.back_connections && self.is_input == false) {
[INFO] [stderr] 218 +                 if self.errors_received == self.back_connections && self.is_input == false {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::prelude`
[INFO] [stderr]  --> src/lib.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::io::prelude::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning[E0170]: pattern binding `sigmoid` is named the same as one of the variants of the type `ActivatonFunction`
[INFO] [stderr]   --> src/lib.rs:99:13
[INFO] [stderr]    |
[INFO] [stderr] 99 |             sigmoid => 1.0 / (1.0 + (-x).exp()),
[INFO] [stderr]    |             ^^^^^^^ help: to match on the variant, qualify the path: `ActivatonFunction::sigmoid`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bindings_with_variant_name)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning[E0170]: pattern binding `tanh` is named the same as one of the variants of the type `ActivatonFunction`
[INFO] [stderr]    --> src/lib.rs:100:13
[INFO] [stderr]     |
[INFO] [stderr] 100 |             tanh => x.tanh(),
[INFO] [stderr]     |             ^^^^ help: to match on the variant, qualify the path: `ActivatonFunction::tanh`
[INFO] [stderr] 
[INFO] [stderr] warning[E0170]: pattern binding `relu` is named the same as one of the variants of the type `ActivatonFunction`
[INFO] [stderr]    --> src/lib.rs:101:13
[INFO] [stderr]     |
[INFO] [stderr] 101 |             relu => {
[INFO] [stderr]     |             ^^^^ help: to match on the variant, qualify the path: `ActivatonFunction::relu`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/lib.rs:100:13
[INFO] [stderr]     |
[INFO] [stderr] 99  |             sigmoid => 1.0 / (1.0 + (-x).exp()),
[INFO] [stderr]     |             ------- matches any value
[INFO] [stderr] 100 |             tanh => x.tanh(),
[INFO] [stderr]     |             ^^^^ unreachable pattern
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/lib.rs:101:13
[INFO] [stderr]     |
[INFO] [stderr] 99  |             sigmoid => 1.0 / (1.0 + (-x).exp()),
[INFO] [stderr]     |             ------- matches any value
[INFO] [stderr] 100 |             tanh => x.tanh(),
[INFO] [stderr] 101 |             relu => {
[INFO] [stderr]     |             ^^^^ unreachable pattern
[INFO] [stderr] 
[INFO] [stderr] warning[E0170]: pattern binding `sigmoid` is named the same as one of the variants of the type `ActivatonFunction`
[INFO] [stderr]    --> src/lib.rs:113:13
[INFO] [stderr]     |
[INFO] [stderr] 113 |             sigmoid => x * (1.0f64 - x),
[INFO] [stderr]     |             ^^^^^^^ help: to match on the variant, qualify the path: `ActivatonFunction::sigmoid`
[INFO] [stderr] 
[INFO] [stderr] warning[E0170]: pattern binding `tanh` is named the same as one of the variants of the type `ActivatonFunction`
[INFO] [stderr]    --> src/lib.rs:114:13
[INFO] [stderr]     |
[INFO] [stderr] 114 |             tanh => 1.0f64 - x.powf(2.0f64),
[INFO] [stderr]     |             ^^^^ help: to match on the variant, qualify the path: `ActivatonFunction::tanh`
[INFO] [stderr] 
[INFO] [stderr] warning[E0170]: pattern binding `relu` is named the same as one of the variants of the type `ActivatonFunction`
[INFO] [stderr]    --> src/lib.rs:115:13
[INFO] [stderr]     |
[INFO] [stderr] 115 |             relu => {
[INFO] [stderr]     |             ^^^^ help: to match on the variant, qualify the path: `ActivatonFunction::relu`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/lib.rs:114:13
[INFO] [stderr]     |
[INFO] [stderr] 113 |             sigmoid => x * (1.0f64 - x),
[INFO] [stderr]     |             ------- matches any value
[INFO] [stderr] 114 |             tanh => 1.0f64 - x.powf(2.0f64),
[INFO] [stderr]     |             ^^^^ unreachable pattern
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/lib.rs:115:13
[INFO] [stderr]     |
[INFO] [stderr] 113 |             sigmoid => x * (1.0f64 - x),
[INFO] [stderr]     |             ------- matches any value
[INFO] [stderr] 114 |             tanh => 1.0f64 - x.powf(2.0f64),
[INFO] [stderr] 115 |             relu => {
[INFO] [stderr]     |             ^^^^ unreachable pattern
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sigmoid`
[INFO] [stderr]   --> src/lib.rs:99:13
[INFO] [stderr]    |
[INFO] [stderr] 99 |             sigmoid => 1.0 / (1.0 + (-x).exp()),
[INFO] [stderr]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sigmoid`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `tanh`
[INFO] [stderr]    --> src/lib.rs:100:13
[INFO] [stderr]     |
[INFO] [stderr] 100 |             tanh => x.tanh(),
[INFO] [stderr]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_tanh`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `relu`
[INFO] [stderr]    --> src/lib.rs:101:13
[INFO] [stderr]     |
[INFO] [stderr] 101 |             relu => {
[INFO] [stderr]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_relu`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sigmoid`
[INFO] [stderr]    --> src/lib.rs:113:13
[INFO] [stderr]     |
[INFO] [stderr] 113 |             sigmoid => x * (1.0f64 - x),
[INFO] [stderr]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sigmoid`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `tanh`
[INFO] [stderr]    --> src/lib.rs:114:13
[INFO] [stderr]     |
[INFO] [stderr] 114 |             tanh => 1.0f64 - x.powf(2.0f64),
[INFO] [stderr]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_tanh`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `relu`
[INFO] [stderr]    --> src/lib.rs:115:13
[INFO] [stderr]     |
[INFO] [stderr] 115 |             relu => {
[INFO] [stderr]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_relu`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `out`
[INFO] [stderr]    --> src/lib.rs:165:9
[INFO] [stderr]     |
[INFO] [stderr] 165 |         out: Option<f64>,
[INFO] [stderr]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_out`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `filename`
[INFO] [stderr]    --> src/lib.rs:382:27
[INFO] [stderr]     |
[INFO] [stderr] 382 |     fn to_file(&mut self, filename: &str) -> Result<&str, &str> {
[INFO] [stderr]     |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filename`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `filename`
[INFO] [stderr]    --> src/lib.rs:386:18
[INFO] [stderr]     |
[INFO] [stderr] 386 |     fn from_file(filename: &str) -> Result<Net, &str> {
[INFO] [stderr]     |                  ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filename`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `prev_error`
[INFO] [stderr]    --> src/lib.rs:435:25
[INFO] [stderr]     |
[INFO] [stderr] 435 |                 let mut prev_error = 0.6f64;
[INFO] [stderr]     |                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_error`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/lib.rs:400:13
[INFO] [stderr]     |
[INFO] [stderr] 400 |         let mut net = Net::create(
[INFO] [stderr]     |             ----^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/lib.rs:435:21
[INFO] [stderr]     |
[INFO] [stderr] 435 |                 let mut prev_error = 0.6f64;
[INFO] [stderr]     |                     ----^^^^^^^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: function `random` is never used
[INFO] [stderr]   --> src/lib.rs:42:4
[INFO] [stderr]    |
[INFO] [stderr] 42 | fn random() -> f64 {
[INFO] [stderr]    |    ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: methods `get` and `get_derivative` are never used
[INFO] [stderr]    --> src/lib.rs:97:8
[INFO] [stderr]     |
[INFO] [stderr] 96  | impl ActivatonFunction {
[INFO] [stderr]     | ---------------------- methods in this implementation
[INFO] [stderr] 97  |     fn get(&self, x: f64) -> f64 {
[INFO] [stderr]     |        ^^^
[INFO] [stderr] ...
[INFO] [stderr] 111 |     fn get_derivative(&self, x: f64) -> f64 {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `feed_forward` is never used
[INFO] [stderr]    --> src/lib.rs:127:8
[INFO] [stderr]     |
[INFO] [stderr] 126 | impl Layer {
[INFO] [stderr]     | ---------- method in this implementation
[INFO] [stderr] 127 |     fn feed_forward(&mut self) {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `feed_forward` and `backprop` are never used
[INFO] [stderr]    --> src/lib.rs:147:8
[INFO] [stderr]     |
[INFO] [stderr] 146 | impl Cell {
[INFO] [stderr]     | --------- methods in this implementation
[INFO] [stderr] 147 |     fn feed_forward(&mut self, bias: f64, activation_function: ActivatonFunction) {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 160 |     fn backprop(
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/lib.rs:243:8
[INFO] [stderr]     |
[INFO] [stderr] 242 | impl Net {
[INFO] [stderr]     | -------- associated items in this implementation
[INFO] [stderr] 243 |     fn backprop(&self, targets: &Vec<f64>) {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 266 |     fn get_result(&self) -> usize {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 276 |     fn get_results(&self) -> Vec<f64> {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 283 |     fn get_error(&self) -> f64 {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 289 |     fn feed_forward(&mut self, inputs: &Vec<f64>) {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 301 |     fn new(layers: &Vec<usize>) -> Net {
[INFO] [stderr]     |        ^^^
[INFO] [stderr] ...
[INFO] [stderr] 309 |     fn create(
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 382 |     fn to_file(&mut self, filename: &str) -> Result<&str, &str> {
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 386 |     fn from_file(filename: &str) -> Result<Net, &str> {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `go` are never used
[INFO] [stderr]    --> src/lib.rs:392:8
[INFO] [stderr]     |
[INFO] [stderr] 391 | impl Trainer {
[INFO] [stderr]     | ------------ associated items in this implementation
[INFO] [stderr] 392 |     fn new(
[INFO] [stderr]     |        ^^^
[INFO] [stderr] ...
[INFO] [stderr] 413 |     fn go(mut self) -> Net {
[INFO] [stderr]     |        ^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/lib.rs:172:17
[INFO] [stderr]     |
[INFO] [stderr] 172 | /                 thread::scope(|s| {
[INFO] [stderr] 173 | |                     match &mut self.connections {
[INFO] [stderr] 174 | |                         Some(connections) => {
[INFO] [stderr] 175 | |                             // spawn thread here
[INFO] [stderr] ...   |
[INFO] [stderr] 198 | |                     }
[INFO] [stderr] 199 | |                 });
[INFO] [stderr]     | |__________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 172 |                 let _ = thread::scope(|s| {
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/lib.rs:246:9
[INFO] [stderr]     |
[INFO] [stderr] 246 | /         thread::scope(|s| {
[INFO] [stderr] 247 | |             for (cell_chunk, target_chunk) in self.network[out_index]
[INFO] [stderr] 248 | |                 .cells
[INFO] [stderr] 249 | |                 .chunks(core_count)
[INFO] [stderr] ...   |
[INFO] [stderr] 262 | |             }
[INFO] [stderr] 263 | |         });
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 246 |         let _ = thread::scope(|s| {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] For more information about this error, try `rustc --explain E0170`.
[INFO] [stderr] warning: unused variable: `net`
[INFO] [stderr]   --> src/lib.rs:38:17
[INFO] [stderr]    |
[INFO] [stderr] 38 |         let mut net = trainer.go();
[INFO] [stderr]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_net`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sigmoid`
[INFO] [stderr]   --> src/lib.rs:99:13
[INFO] [stderr]    |
[INFO] [stderr] 99 |             sigmoid => 1.0 / (1.0 + (-x).exp()),
[INFO] [stderr]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sigmoid`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/lib.rs:29:13
[INFO] [stderr]    |
[INFO] [stderr] 29 |         let mut trainer = Trainer::new(
[INFO] [stderr]    |             ----^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/lib.rs:38:13
[INFO] [stderr]    |
[INFO] [stderr] 38 |         let mut net = trainer.go();
[INFO] [stderr]    |             ----^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/lib.rs:400:13
[INFO] [stderr]     |
[INFO] [stderr] 400 |         let mut net = Net::create(
[INFO] [stderr]     |             ----^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `get_result`, `new`, `to_file`, and `from_file` are never used
[INFO] [stderr]    --> src/lib.rs:266:8
[INFO] [stderr]     |
[INFO] [stderr] 242 | impl Net {
[INFO] [stderr]     | -------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 266 |     fn get_result(&self) -> usize {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 301 |     fn new(layers: &Vec<usize>) -> Net {
[INFO] [stderr]     |        ^^^
[INFO] [stderr] ...
[INFO] [stderr] 382 |     fn to_file(&mut self, filename: &str) -> Result<&str, &str> {
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 386 |     fn from_file(filename: &str) -> Result<Net, &str> {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `brain` (lib) generated 41 warnings (run `cargo fix --lib -p brain` to apply 23 suggestions)
[INFO] [stderr] warning: `brain` (lib test) generated 39 warnings (33 duplicates) (run `cargo fix --lib -p brain --tests` to apply 5 suggestions)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.02s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/brain-9d53c257db712666)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test tests::it_works has been running for over 60 seconds
[ERROR] error running command: no output for 300 seconds
[INFO] running `Command { std: "docker" "inspect" "4f92990e761fb068fc9d6beabdc89fa46eb0ec7370139c95f916069acd21fee7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4f92990e761fb068fc9d6beabdc89fa46eb0ec7370139c95f916069acd21fee7", kill_on_drop: false }`
[INFO] [stdout] 4f92990e761fb068fc9d6beabdc89fa46eb0ec7370139c95f916069acd21fee7
