[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 1.69.0 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-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/bobhacko1112/nimrod on toolchain 1.69.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.69.0" "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-tc1/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" "+1.69.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9fc560c96c3f3ef62daba15f6908229a09145517ba56fc5ef911297ecb8bfb72
[INFO] running `Command { std: "docker" "start" "-a" "9fc560c96c3f3ef62daba15f6908229a09145517ba56fc5ef911297ecb8bfb72", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9fc560c96c3f3ef62daba15f6908229a09145517ba56fc5ef911297ecb8bfb72", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9fc560c96c3f3ef62daba15f6908229a09145517ba56fc5ef911297ecb8bfb72", kill_on_drop: false }`
[INFO] [stdout] 9fc560c96c3f3ef62daba15f6908229a09145517ba56fc5ef911297ecb8bfb72
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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=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" "+1.69.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 738a216281fb193983b42860ca0d994c4ca92b1d4c0e618c99dff18d1aaacecd
[INFO] running `Command { std: "docker" "start" "-a" "738a216281fb193983b42860ca0d994c4ca92b1d4c0e618c99dff18d1aaacecd", 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 libc v0.2.65
[INFO] [stderr]    Compiling proc-macro2 v1.0.6
[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 scopeguard v1.0.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.6
[INFO] [stderr]    Compiling serde v1.0.102
[INFO] [stderr]    Compiling ryu v1.0.2
[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 crossbeam-queue v0.2.0
[INFO] [stderr]    Compiling crossbeam-channel v0.4.0
[INFO] [stderr]    Compiling rand_core v0.5.1
[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: method `get` is never used
[INFO] [stdout]   --> src/lib.rs:97:8
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn get(&self, x: f64) -> f64 {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_derivative` is never used
[INFO] [stdout]    --> src/lib.rs:111:8
[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] 127 |     fn feed_forward(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `feed_forward` is never used
[INFO] [stdout]    --> src/lib.rs:147:8
[INFO] [stdout]     |
[INFO] [stdout] 147 |     fn feed_forward(&mut self, bias: f64, activation_function: ActivatonFunction) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `backprop` is never used
[INFO] [stdout]    --> src/lib.rs:160:8
[INFO] [stdout]     |
[INFO] [stdout] 160 |     fn backprop(
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `backprop` is never used
[INFO] [stdout]    --> src/lib.rs:243:8
[INFO] [stdout]     |
[INFO] [stdout] 243 |     fn backprop(&self, targets: &Vec<f64>) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_result` is never used
[INFO] [stdout]    --> src/lib.rs:266:8
[INFO] [stdout]     |
[INFO] [stdout] 266 |     fn get_result(&self) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_results` is never used
[INFO] [stdout]    --> src/lib.rs:276:8
[INFO] [stdout]     |
[INFO] [stdout] 276 |     fn get_results(&self) -> Vec<f64> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_error` is never used
[INFO] [stdout]    --> src/lib.rs:283:8
[INFO] [stdout]     |
[INFO] [stdout] 283 |     fn get_error(&self) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `feed_forward` is never used
[INFO] [stdout]    --> src/lib.rs:289:8
[INFO] [stdout]     |
[INFO] [stdout] 289 |     fn feed_forward(&mut self, inputs: &Vec<f64>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/lib.rs:301:8
[INFO] [stdout]     |
[INFO] [stdout] 301 |     fn new(layers: &Vec<usize>) -> Net {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `create` is never used
[INFO] [stdout]    --> src/lib.rs:309:8
[INFO] [stdout]     |
[INFO] [stdout] 309 |     fn create(
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_file` is never used
[INFO] [stdout]    --> src/lib.rs:382:8
[INFO] [stdout]     |
[INFO] [stdout] 382 |     fn to_file(&mut self, filename: &str) -> Result<&str, &str> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_file` is never used
[INFO] [stdout]    --> src/lib.rs:386:8
[INFO] [stdout]     |
[INFO] [stdout] 386 |     fn from_file(filename: &str) -> Result<Net, &str> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/lib.rs:392:8
[INFO] [stdout]     |
[INFO] [stdout] 392 |     fn new(
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `go` is never used
[INFO] [stdout]    --> src/lib.rs:413:8
[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] 
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: 52 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.57s
[INFO] running `Command { std: "docker" "inspect" "738a216281fb193983b42860ca0d994c4ca92b1d4c0e618c99dff18d1aaacecd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "738a216281fb193983b42860ca0d994c4ca92b1d4c0e618c99dff18d1aaacecd", kill_on_drop: false }`
[INFO] [stdout] 738a216281fb193983b42860ca0d994c4ca92b1d4c0e618c99dff18d1aaacecd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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=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" "+1.69.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a8b9ae0769583b6b8f35901895ac7cacdbe0747331a99ebdef6b14ad81615d9c
[INFO] running `Command { std: "docker" "start" "-a" "a8b9ae0769583b6b8f35901895ac7cacdbe0747331a99ebdef6b14ad81615d9c", 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: method `get` is never used
[INFO] [stdout]   --> src/lib.rs:97:8
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn get(&self, x: f64) -> f64 {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_derivative` is never used
[INFO] [stdout]    --> src/lib.rs:111:8
[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] 127 |     fn feed_forward(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `feed_forward` is never used
[INFO] [stdout]    --> src/lib.rs:147:8
[INFO] [stdout]     |
[INFO] [stdout] 147 |     fn feed_forward(&mut self, bias: f64, activation_function: ActivatonFunction) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `backprop` is never used
[INFO] [stdout]    --> src/lib.rs:160:8
[INFO] [stdout]     |
[INFO] [stdout] 160 |     fn backprop(
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `backprop` is never used
[INFO] [stdout]    --> src/lib.rs:243:8
[INFO] [stdout]     |
[INFO] [stdout] 243 |     fn backprop(&self, targets: &Vec<f64>) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_result` is never used
[INFO] [stdout]    --> src/lib.rs:266:8
[INFO] [stdout]     |
[INFO] [stdout] 266 |     fn get_result(&self) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_results` is never used
[INFO] [stdout]    --> src/lib.rs:276:8
[INFO] [stdout]     |
[INFO] [stdout] 276 |     fn get_results(&self) -> Vec<f64> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_error` is never used
[INFO] [stdout]    --> src/lib.rs:283:8
[INFO] [stdout]     |
[INFO] [stdout] 283 |     fn get_error(&self) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `feed_forward` is never used
[INFO] [stdout]    --> src/lib.rs:289:8
[INFO] [stdout]     |
[INFO] [stdout] 289 |     fn feed_forward(&mut self, inputs: &Vec<f64>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/lib.rs:301:8
[INFO] [stdout]     |
[INFO] [stdout] 301 |     fn new(layers: &Vec<usize>) -> Net {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `create` is never used
[INFO] [stdout]    --> src/lib.rs:309:8
[INFO] [stdout]     |
[INFO] [stdout] 309 |     fn create(
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_file` is never used
[INFO] [stdout]    --> src/lib.rs:382:8
[INFO] [stdout]     |
[INFO] [stdout] 382 |     fn to_file(&mut self, filename: &str) -> Result<&str, &str> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_file` is never used
[INFO] [stdout]    --> src/lib.rs:386:8
[INFO] [stdout]     |
[INFO] [stdout] 386 |     fn from_file(filename: &str) -> Result<Net, &str> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/lib.rs:392:8
[INFO] [stdout]     |
[INFO] [stdout] 392 |     fn new(
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `go` is never used
[INFO] [stdout]    --> src/lib.rs:413:8
[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] 
[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] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling brain v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: 52 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0170`.
[INFO] [stdout] 
[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: method `get_result` is never used
[INFO] [stdout]    --> src/lib.rs:266:8
[INFO] [stdout]     |
[INFO] [stdout] 266 |     fn get_result(&self) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/lib.rs:301:8
[INFO] [stdout]     |
[INFO] [stdout] 301 |     fn new(layers: &Vec<usize>) -> Net {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_file` is never used
[INFO] [stdout]    --> src/lib.rs:382:8
[INFO] [stdout]     |
[INFO] [stdout] 382 |     fn to_file(&mut self, filename: &str) -> Result<&str, &str> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_file` is never used
[INFO] [stdout]    --> src/lib.rs:386:8
[INFO] [stdout]     |
[INFO] [stdout] 386 |     fn from_file(filename: &str) -> Result<Net, &str> {
[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] 
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: 42 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.63s
[INFO] running `Command { std: "docker" "inspect" "a8b9ae0769583b6b8f35901895ac7cacdbe0747331a99ebdef6b14ad81615d9c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a8b9ae0769583b6b8f35901895ac7cacdbe0747331a99ebdef6b14ad81615d9c", kill_on_drop: false }`
[INFO] [stdout] a8b9ae0769583b6b8f35901895ac7cacdbe0747331a99ebdef6b14ad81615d9c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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=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" "+1.69.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 2e73a5fa3b7738889596e953d69539d7cdedb24788afeccf74264aa68c0ef7d9
[INFO] running `Command { std: "docker" "start" "-a" "2e73a5fa3b7738889596e953d69539d7cdedb24788afeccf74264aa68c0ef7d9", 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: method `get` is never used
[INFO] [stderr]   --> src/lib.rs:97:8
[INFO] [stderr]    |
[INFO] [stderr] 97 |     fn get(&self, x: f64) -> f64 {
[INFO] [stderr]    |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_derivative` is never used
[INFO] [stderr]    --> src/lib.rs:111:8
[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] 127 |     fn feed_forward(&mut self) {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `feed_forward` is never used
[INFO] [stderr]    --> src/lib.rs:147:8
[INFO] [stderr]     |
[INFO] [stderr] 147 |     fn feed_forward(&mut self, bias: f64, activation_function: ActivatonFunction) {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `backprop` is never used
[INFO] [stderr]    --> src/lib.rs:160:8
[INFO] [stderr]     |
[INFO] [stderr] 160 |     fn backprop(
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `backprop` is never used
[INFO] [stderr]    --> src/lib.rs:243:8
[INFO] [stderr]     |
[INFO] [stderr] 243 |     fn backprop(&self, targets: &Vec<f64>) {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_result` is never used
[INFO] [stderr]    --> src/lib.rs:266:8
[INFO] [stderr]     |
[INFO] [stderr] 266 |     fn get_result(&self) -> usize {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_results` is never used
[INFO] [stderr]    --> src/lib.rs:276:8
[INFO] [stderr]     |
[INFO] [stderr] 276 |     fn get_results(&self) -> Vec<f64> {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_error` is never used
[INFO] [stderr]    --> src/lib.rs:283:8
[INFO] [stderr]     |
[INFO] [stderr] 283 |     fn get_error(&self) -> f64 {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `feed_forward` is never used
[INFO] [stderr]    --> src/lib.rs:289:8
[INFO] [stderr]     |
[INFO] [stderr] 289 |     fn feed_forward(&mut self, inputs: &Vec<f64>) {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/lib.rs:301:8
[INFO] [stderr]     |
[INFO] [stderr] 301 |     fn new(layers: &Vec<usize>) -> Net {
[INFO] [stderr]     |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `create` is never used
[INFO] [stderr]    --> src/lib.rs:309:8
[INFO] [stderr]     |
[INFO] [stderr] 309 |     fn create(
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `to_file` is never used
[INFO] [stderr]    --> src/lib.rs:382:8
[INFO] [stderr]     |
[INFO] [stderr] 382 |     fn to_file(&mut self, filename: &str) -> Result<&str, &str> {
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `from_file` is never used
[INFO] [stderr]    --> src/lib.rs:386:8
[INFO] [stderr]     |
[INFO] [stderr] 386 |     fn from_file(filename: &str) -> Result<Net, &str> {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/lib.rs:392:8
[INFO] [stderr]     |
[INFO] [stderr] 392 |     fn new(
[INFO] [stderr]     |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `go` is never used
[INFO] [stderr]    --> src/lib.rs:413:8
[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] 
[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] 
[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: method `get_result` is never used
[INFO] [stderr]    --> src/lib.rs:266:8
[INFO] [stderr]     |
[INFO] [stderr] 266 |     fn get_result(&self) -> usize {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `brain` (lib) generated 52 warnings (run `cargo fix --lib -p brain` to apply 23 suggestions)
[INFO] [stderr] warning: `brain` (lib test) generated 42 warnings (36 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-82a04929a218360d)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test tests::it_works ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 30.97s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests brain
[INFO] [stderr] warning: variant `sigmoid` should have an upper camel case name
[INFO] [stderr]   --> /opt/rustwide/workdir/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]   --> /opt/rustwide/workdir/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]   --> /opt/rustwide/workdir/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]   --> /opt/rustwide/workdir/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]   --> /opt/rustwide/workdir/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]    --> /opt/rustwide/workdir/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]    --> /opt/rustwide/workdir/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: 7 warnings emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "2e73a5fa3b7738889596e953d69539d7cdedb24788afeccf74264aa68c0ef7d9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2e73a5fa3b7738889596e953d69539d7cdedb24788afeccf74264aa68c0ef7d9", kill_on_drop: false }`
[INFO] [stdout] 2e73a5fa3b7738889596e953d69539d7cdedb24788afeccf74264aa68c0ef7d9
