[INFO] cloning repository https://github.com/maxjeffos/rust-neural-network-experiments
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/maxjeffos/rust-neural-network-experiments" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmaxjeffos%2Frust-neural-network-experiments", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmaxjeffos%2Frust-neural-network-experiments'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c4c2539f42a371031368d45b92d7a75516ec12f0
[INFO] checking maxjeffos/rust-neural-network-experiments against try#b1f2594eac607c1f051534800237eeedb5590a49 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmaxjeffos%2Frust-neural-network-experiments" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/maxjeffos/rust-neural-network-experiments
[INFO] finished tweaking git repo https://github.com/maxjeffos/rust-neural-network-experiments
[INFO] tweaked toml for git repo https://github.com/maxjeffos/rust-neural-network-experiments written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/maxjeffos/rust-neural-network-experiments on toolchain b1f2594eac607c1f051534800237eeedb5590a49
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b1f2594eac607c1f051534800237eeedb5590a49" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/maxjeffos/rust-neural-network-experiments 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" "+b1f2594eac607c1f051534800237eeedb5590a49" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+b1f2594eac607c1f051534800237eeedb5590a49" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9db358fdbae8a5329bc74f47cd50cd9c7bc0edf463711a26b720a24e4e21bf41
[INFO] running `Command { std: "docker" "start" "-a" "9db358fdbae8a5329bc74f47cd50cd9c7bc0edf463711a26b720a24e4e21bf41", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9db358fdbae8a5329bc74f47cd50cd9c7bc0edf463711a26b720a24e4e21bf41", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9db358fdbae8a5329bc74f47cd50cd9c7bc0edf463711a26b720a24e4e21bf41", kill_on_drop: false }`
[INFO] [stdout] 9db358fdbae8a5329bc74f47cd50cd9c7bc0edf463711a26b720a24e4e21bf41
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+b1f2594eac607c1f051534800237eeedb5590a49" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 72bed6c0d14dc1c2062c949e1c86cb26965c44e230969f058cfa7a083b47861b
[INFO] running `Command { std: "docker" "start" "-a" "72bed6c0d14dc1c2062c949e1c86cb26965c44e230969f058cfa7a083b47861b", kill_on_drop: false }`
[INFO] [stderr] warning: virtual workspace defaulting to `resolver = "1"` despite one or more workspace members being on edition 2021 which implies `resolver = "2"`
[INFO] [stderr]   |
[INFO] [stderr]   = note: to keep the current resolver, specify `workspace.resolver = "1"` in the workspace root's manifest
[INFO] [stderr]   = note: to use the edition 2021 resolver, specify `workspace.resolver = "2"` in the workspace root's manifest
[INFO] [stderr]   = note: for more details see https://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions
[INFO] [stderr]    Compiling libc v0.2.112
[INFO] [stderr]    Compiling libm v0.2.1
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling crossbeam-utils v0.8.6
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]     Checking ppv-lite86 v0.2.16
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.6
[INFO] [stderr]    Compiling rayon-core v1.9.1
[INFO] [stderr]    Compiling rayon v1.5.1
[INFO] [stderr]    Compiling proc-macro2 v1.0.36
[INFO] [stderr]     Checking rawpointer v0.2.1
[INFO] [stderr]    Compiling syn v1.0.85
[INFO] [stderr]    Compiling serde v1.0.136
[INFO] [stderr]    Compiling serde_derive v1.0.136
[INFO] [stderr]    Compiling serde_json v1.0.78
[INFO] [stderr]     Checking mnist v0.5.0
[INFO] [stderr]     Checking matrixmultiply v0.3.2
[INFO] [stderr]     Checking ryu v1.0.9
[INFO] [stderr]     Checking itoa v1.0.1
[INFO] [stderr]    Compiling anyhow v1.0.82
[INFO] [stderr]     Checking crossbeam-channel v0.5.2
[INFO] [stderr]    Compiling quote v1.0.14
[INFO] [stderr]     Checking crossbeam-deque v0.8.1
[INFO] [stderr]     Checking getrandom v0.2.4
[INFO] [stderr]     Checking num_cpus v1.13.1
[INFO] [stderr]     Checking time v0.1.43
[INFO] [stderr]     Checking time-test v0.2.2
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking num-integer v0.1.44
[INFO] [stderr]     Checking num-complex v0.4.0
[INFO] [stderr]     Checking float-cmp v0.9.0
[INFO] [stderr]     Checking autodiff v0.4.0
[INFO] [stderr]     Checking rand v0.8.4
[INFO] [stderr]     Checking test1-autodiff v0.1.0 (/opt/rustwide/workdir/test1-autodiff)
[INFO] [stdout] warning: function `e_to_the_x` is never used
[INFO] [stdout]  --> test1-autodiff/src/main.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn e_to_the_x(x: FT<f64>) -> FT<f64> {
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `e_to_the_x` is never used
[INFO] [stdout]  --> test1-autodiff/src/main.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn e_to_the_x(x: FT<f64>) -> FT<f64> {
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking rand_distr v0.4.2
[INFO] [stderr]     Checking ndarray v0.15.4
[INFO] [stderr]     Checking common v0.1.0 (/opt/rustwide/workdir/common)
[INFO] [stdout] warning: enum `Quadrant` is never used
[INFO] [stdout]  --> common/src/point.rs:7:6
[INFO] [stdout]   |
[INFO] [stdout] 7 | enum Quadrant {
[INFO] [stdout]   |      ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `softmax` is never used
[INFO] [stdout]  --> common/src/softmax.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn softmax(logits: &[f64]) -> Vec<f64> {
[INFO] [stdout]   |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `softmax_derivative` is never used
[INFO] [stdout]   --> common/src/softmax.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn softmax_derivative(logits: &[f64]) -> Vec<Vec<f64>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> common/src/linalg/mod.rs:714:64
[INFO] [stdout]     |
[INFO] [stdout] 714 |     pub fn iter_with<'a>(&'a self, other: &'a ColumnVector) -> IterWith {
[INFO] [stdout]     |                           --               --                  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |                |
[INFO] [stdout]     |                           |                the lifetime is named here
[INFO] [stdout]     |                           the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 714 |     pub fn iter_with<'a>(&'a self, other: &'a ColumnVector) -> IterWith<'a> {
[INFO] [stdout]     |                                                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking test5-playing-with-matrix-ideas v0.1.0 (/opt/rustwide/workdir/test5-playing-with-matrix-ideas)
[INFO] [stderr]     Checking test3-simple-linear-regression v0.1.0 (/opt/rustwide/workdir/test3-simple-linear-regression)
[INFO] [stderr]     Checking test4-multivariable-regression v0.1.0 (/opt/rustwide/workdir/test4-multivariable-regression)
[INFO] [stdout] warning: enum `MultivariableRegressionError` is never used
[INFO] [stdout]   --> test4-multivariable-regression/src/main.rs:36:6
[INFO] [stdout]    |
[INFO] [stdout] 36 | enum MultivariableRegressionError {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `InvalidDataError` is never used
[INFO] [stdout]   --> test4-multivariable-regression/src/main.rs:43:6
[INFO] [stdout]    |
[INFO] [stdout] 43 | enum InvalidDataError {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MultivariableRegressionError` is never used
[INFO] [stdout]   --> test4-multivariable-regression/src/main.rs:36:6
[INFO] [stdout]    |
[INFO] [stdout] 36 | enum MultivariableRegressionError {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `InvalidDataError` is never used
[INFO] [stdout]   --> test4-multivariable-regression/src/main.rs:43:6
[INFO] [stdout]    |
[INFO] [stdout] 43 | enum InvalidDataError {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `predict` is never used
[INFO] [stdout]   --> test4-multivariable-regression/src/main.rs:87:4
[INFO] [stdout]    |
[INFO] [stdout] 87 | fn predict(theta: &[f64], independant: &[f64]) -> f64 {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Quadrant` is never used
[INFO] [stdout]  --> common/src/point.rs:7:6
[INFO] [stdout]   |
[INFO] [stdout] 7 | enum Quadrant {
[INFO] [stdout]   |      ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> common/src/linalg/mod.rs:714:64
[INFO] [stdout]     |
[INFO] [stdout] 714 |     pub fn iter_with<'a>(&'a self, other: &'a ColumnVector) -> IterWith {
[INFO] [stdout]     |                           --               --                  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                           |                |
[INFO] [stdout]     |                           |                the lifetime is named here
[INFO] [stdout]     |                           the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 714 |     pub fn iter_with<'a>(&'a self, other: &'a ColumnVector) -> IterWith<'a> {
[INFO] [stdout]     |                                                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking mnist-data v0.1.0 (/opt/rustwide/workdir/mnist-data)
[INFO] [stderr]     Checking test2-mlp-classifier v0.1.0 (/opt/rustwide/workdir/test2-mlp-classifier)
[INFO] [stdout] warning: variant `blue` should have an upper camel case name
[INFO] [stdout]   --> test2-mlp-classifier/src/main.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     blue,
[INFO] [stdout]    |     ^^^^ help: convert the identifier to upper camel case: `Blue`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `orange` should have an upper camel case name
[INFO] [stdout]   --> test2-mlp-classifier/src/main.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 |     orange,
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Orange`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray`
[INFO] [stdout]  --> test2-mlp-classifier/src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ndarray::*;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> test2-mlp-classifier/src/main.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |     for i in 0..n {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MultilayerPerceptron` is never constructed
[INFO] [stdout]  --> test2-mlp-classifier/src/main.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct MultilayerPerceptron {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MLPArchitecture` is never constructed
[INFO] [stdout]   --> test2-mlp-classifier/src/main.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct MLPArchitecture {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> test2-mlp-classifier/src/main.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl MLPArchitecture {
[INFO] [stdout]    | -------------------- associated function in this implementation
[INFO] [stdout] 21 |     fn new(input_size: usize, hidden_layers: Vec<usize>, output_size: usize) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `blue` should have an upper camel case name
[INFO] [stdout]   --> test2-mlp-classifier/src/main.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     blue,
[INFO] [stdout]    |     ^^^^ help: convert the identifier to upper camel case: `Blue`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `orange` should have an upper camel case name
[INFO] [stdout]   --> test2-mlp-classifier/src/main.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 |     orange,
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Orange`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ndarray`
[INFO] [stdout]  --> test2-mlp-classifier/src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ndarray::*;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> test2-mlp-classifier/src/main.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |     for i in 0..n {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MultilayerPerceptron` is never constructed
[INFO] [stdout]  --> test2-mlp-classifier/src/main.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct MultilayerPerceptron {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MLPArchitecture` is never constructed
[INFO] [stdout]   --> test2-mlp-classifier/src/main.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct MLPArchitecture {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> test2-mlp-classifier/src/main.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl MLPArchitecture {
[INFO] [stdout]    | -------------------- associated function in this implementation
[INFO] [stdout] 21 |     fn new(input_size: usize, hidden_layers: Vec<usize>, output_size: usize) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking metrics v0.1.0 (/opt/rustwide/workdir/metrics)
[INFO] [stderr]     Checking test7-nn-mnist-classifier v0.1.0 (/opt/rustwide/workdir/test7-nn-mnist-classifier)
[INFO] [stderr]     Checking test6-nn v0.1.0 (/opt/rustwide/workdir/test6-nn)
[INFO] [stdout] warning: unused variable: `normalized_distance`
[INFO] [stdout]    --> test7-nn-mnist-classifier/src/lib.rs:639:21
[INFO] [stdout]     |
[INFO] [stdout] 639 |                 let normalized_distance = euclidian_distance(&approx_gradients_big_v, &d_vec)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_normalized_distance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LayerGradients` is never constructed
[INFO] [stdout]   --> test7-nn-mnist-classifier/src/lib.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 81 | struct LayerGradients {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> test7-nn-mnist-classifier/src/lib.rs:87:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | impl LayerGradients {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 87 |     fn new(weight_gradients: Matrix, bias_gradients: ColumnVector) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GRADIENT_CHECK_EPSILON_SQUARED` is never used
[INFO] [stdout]    --> test7-nn-mnist-classifier/src/lib.rs:118:7
[INFO] [stdout]     |
[INFO] [stdout] 118 | const GRADIENT_CHECK_EPSILON_SQUARED: f64 = GRADIENT_CHECK_EPSILON * GRADIENT_CHECK_EPSILON;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `err_output_layer` and `unroll_gradients` are never used
[INFO] [stdout]     --> test7-nn-mnist-classifier/src/lib.rs:328:8
[INFO] [stdout]      |
[INFO] [stdout]  148 | impl NeuralNetwork {
[INFO] [stdout]      | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  328 |     fn err_output_layer(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1128 |     fn unroll_gradients(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> test7-nn-mnist-classifier/src/lib.rs:719:13
[INFO] [stdout]     |
[INFO] [stdout] 719 |             session_logger.write_training_session_file(initial_cost, network_config, optimizer_str);
[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 719 |             let _ = session_logger.write_training_session_file(initial_cost, network_config, optimizer_str);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `normalized_distance`
[INFO] [stdout]    --> test6-nn/src/lib.rs:585:21
[INFO] [stdout]     |
[INFO] [stdout] 585 |                 let normalized_distance = euclidian_distance(&approx_gradients_big_v, &d_vec)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_normalized_distance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LayerGradients` is never constructed
[INFO] [stdout]   --> test6-nn/src/lib.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 81 | struct LayerGradients {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> test6-nn/src/lib.rs:87:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | impl LayerGradients {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 87 |     fn new(weight_gradients: Matrix, bias_gradients: ColumnVector) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GRADIENT_CHECK_EPSILON_SQUARED` is never used
[INFO] [stdout]    --> test6-nn/src/lib.rs:118:7
[INFO] [stdout]     |
[INFO] [stdout] 118 | const GRADIENT_CHECK_EPSILON_SQUARED: f64 = GRADIENT_CHECK_EPSILON * GRADIENT_CHECK_EPSILON;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `unroll_gradients` is never used
[INFO] [stdout]     --> test6-nn/src/lib.rs:1074:8
[INFO] [stdout]      |
[INFO] [stdout]  146 | impl SimpleNeuralNetwork {
[INFO] [stdout]      | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1074 |     fn unroll_gradients(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JELU` is never constructed
[INFO] [stdout]  --> test6-nn/src/activation/activator/jelu.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct JELU {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> test6-nn/src/activation/activator/jelu.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl JELU {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 12 |     pub fn new(crossover_point: f64) -> JELU {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> test6-nn/src/lib.rs:665:13
[INFO] [stdout]     |
[INFO] [stdout] 665 |             session_logger.write_training_session_file(initial_cost, network_config, optimizer_str);
[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 665 |             let _ = session_logger.write_training_session_file(initial_cost, network_config, optimizer_str);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> test6-nn/src/big_theta.rs:381:13
[INFO] [stdout]     |
[INFO] [stdout] 381 |         let mut big_theta = create_big_theta_for_test(&sizes);
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> test7-nn-mnist-classifier/src/big_theta.rs:381:13
[INFO] [stdout]     |
[INFO] [stdout] 381 |         let mut big_theta = create_big_theta_for_test(&sizes);
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `normalized_distance`
[INFO] [stdout]    --> test6-nn/src/lib.rs:585:21
[INFO] [stdout]     |
[INFO] [stdout] 585 |                 let normalized_distance = euclidian_distance(&approx_gradients_big_v, &d_vec)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_normalized_distance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> test7-nn-mnist-classifier/src/main.rs:99:5
[INFO] [stdout]     |
[INFO] [stdout]  99 | /     nn.train_stochastic(
[INFO] [stdout] 100 | |         &training_data,
[INFO] [stdout] 101 | |         10_000,
[INFO] [stdout] ...   |
[INFO] [stdout] 110 | |         Some(session_logger),
[INFO] [stdout] 111 | |     );
[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout]  99 |     let _ = nn.train_stochastic(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> test7-nn-mnist-classifier/src/main.rs:99:5
[INFO] [stdout]     |
[INFO] [stdout]  99 | /     nn.train_stochastic(
[INFO] [stdout] 100 | |         &training_data,
[INFO] [stdout] 101 | |         10_000,
[INFO] [stdout] ...   |
[INFO] [stdout] 110 | |         Some(session_logger),
[INFO] [stdout] 111 | |     );
[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout]  99 |     let _ = nn.train_stochastic(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> test6-nn/src/main.rs:92:5
[INFO] [stdout]     |
[INFO] [stdout]  92 | /     nn.train_stochastic(
[INFO] [stdout]  93 | |         &training_data,
[INFO] [stdout]  94 | |         10_000,
[INFO] [stdout] ...   |
[INFO] [stdout] 103 | |         Some(session_logger),
[INFO] [stdout] 104 | |     );
[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout]  92 |     let _ = nn.train_stochastic(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> test6-nn/src/main.rs:92:5
[INFO] [stdout]     |
[INFO] [stdout]  92 | /     nn.train_stochastic(
[INFO] [stdout]  93 | |         &training_data,
[INFO] [stdout]  94 | |         10_000,
[INFO] [stdout] ...   |
[INFO] [stdout] 103 | |         Some(session_logger),
[INFO] [stdout] 104 | |     );
[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout]  92 |     let _ = nn.train_stochastic(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `normalized_distance`
[INFO] [stdout]    --> test7-nn-mnist-classifier/src/lib.rs:639:21
[INFO] [stdout]     |
[INFO] [stdout] 639 |                 let normalized_distance = euclidian_distance(&approx_gradients_big_v, &d_vec)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_normalized_distance`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GRADIENT_CHECK_EPSILON_SQUARED` is never used
[INFO] [stdout]    --> test6-nn/src/lib.rs:118:7
[INFO] [stdout]     |
[INFO] [stdout] 118 | const GRADIENT_CHECK_EPSILON_SQUARED: f64 = GRADIENT_CHECK_EPSILON * GRADIENT_CHECK_EPSILON;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> test6-nn/src/lib.rs:665:13
[INFO] [stdout]     |
[INFO] [stdout] 665 |             session_logger.write_training_session_file(initial_cost, network_config, optimizer_str);
[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 665 |             let _ = session_logger.write_training_session_file(initial_cost, network_config, optimizer_str);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lr`
[INFO] [stdout]     --> test7-nn-mnist-classifier/src/lib.rs:2242:13
[INFO] [stdout]      |
[INFO] [stdout] 2242 |         let lr = LeakyReLU::new(0.1);
[INFO] [stdout]      |             ^^ help: if this is intentional, prefix it with an underscore: `_lr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GRADIENT_CHECK_EPSILON_SQUARED` is never used
[INFO] [stdout]    --> test7-nn-mnist-classifier/src/lib.rs:118:7
[INFO] [stdout]     |
[INFO] [stdout] 118 | const GRADIENT_CHECK_EPSILON_SQUARED: f64 = GRADIENT_CHECK_EPSILON * GRADIENT_CHECK_EPSILON;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `err_output_layer` is never used
[INFO] [stdout]    --> test7-nn-mnist-classifier/src/lib.rs:328:8
[INFO] [stdout]     |
[INFO] [stdout] 148 | impl NeuralNetwork {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 328 |     fn err_output_layer(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> test7-nn-mnist-classifier/src/lib.rs:719:13
[INFO] [stdout]     |
[INFO] [stdout] 719 |             session_logger.write_training_session_file(initial_cost, network_config, optimizer_str);
[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 719 |             let _ = session_logger.write_training_session_file(initial_cost, network_config, optimizer_str);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 16.25s
[INFO] running `Command { std: "docker" "inspect" "72bed6c0d14dc1c2062c949e1c86cb26965c44e230969f058cfa7a083b47861b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "72bed6c0d14dc1c2062c949e1c86cb26965c44e230969f058cfa7a083b47861b", kill_on_drop: false }`
[INFO] [stdout] 72bed6c0d14dc1c2062c949e1c86cb26965c44e230969f058cfa7a083b47861b
