[INFO] updating cached repository https://github.com/richwandell/rust-algorithms
[INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"`
[INFO] running `"git" "rev-parse" "HEAD"`
[INFO] [stdout] 5c154c3e3da55f8c1be9b6f87c1537160409d6a6
[INFO] checking richwandell/rust-algorithms against master#209b2be09fcaff937480d1fbbe8b31646e361c7a for pr-70917
[INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frichwandell%2Frust-algorithms" "/workspace/builds/worker-8/source"`
[INFO] [stderr] Cloning into '/workspace/builds/worker-8/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/richwandell/rust-algorithms on toolchain 209b2be09fcaff937480d1fbbe8b31646e361c7a
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "read-manifest" "--manifest-path" "Cargo.toml"`
[INFO] started tweaking git repo https://github.com/richwandell/rust-algorithms
[INFO] finished tweaking git repo https://github.com/richwandell/rust-algorithms
[INFO] tweaked toml for git repo https://github.com/richwandell/rust-algorithms written to /workspace/builds/worker-8/source/Cargo.toml
[INFO] crate git repo https://github.com/richwandell/rust-algorithms already has a lockfile, it will not be regenerated
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "check" "--frozen" "--all" "--all-targets"`
[INFO] [stdout] c26182418ac4db81c23f473e0c65983a5e2932ece0c25bc092031eb77de0d3c3
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `"docker" "start" "-a" "c26182418ac4db81c23f473e0c65983a5e2932ece0c25bc092031eb77de0d3c3"`
[INFO] [stderr]     Checking spmc v0.3.0
[INFO] [stderr]     Checking noisy_float v0.1.11
[INFO] [stderr]     Checking rand_chacha v0.2.1
[INFO] [stderr]     Checking rand_pcg v0.2.0
[INFO] [stderr]     Checking rand v0.7.2
[INFO] [stderr]     Checking rand_distr v0.2.2
[INFO] [stderr]     Checking ndarray-stats v0.3.0
[INFO] [stderr]     Checking ndarray-rand v0.11.0
[INFO] [stderr]     Checking Algos v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr] warning: unused variable: `n`
[INFO] [stderr]   --> src/bin/producer_consumer_shared_memory.rs:15:9
[INFO] [stderr]    |
[INFO] [stderr] 15 |     for n in 0..cpus {
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> src/bin/producer_consumer_shared_memory.rs:41:9
[INFO] [stderr]    |
[INFO] [stderr] 41 |     for i in 0..cpus {
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `grid_x` is never read
[INFO] [stderr]   --> src/bin/sudoku_solver.rs:13:17
[INFO] [stderr]    |
[INFO] [stderr] 13 |         let mut grid_x = 0;
[INFO] [stderr]    |                 ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]   --> src/bin/producer_consumer_shared_memory.rs:42:9
[INFO] [stderr]    |
[INFO] [stderr] 42 |         sptx.send(exit);
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `grid_y` is never read
[INFO] [stderr]   --> src/bin/sudoku_solver.rs:14:17
[INFO] [stderr]    |
[INFO] [stderr] 14 |         let mut grid_y = 0;
[INFO] [stderr]    |                 ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/bin/sudoku_solver.rs:48:32
[INFO] [stderr]    |
[INFO] [stderr] 48 | fn solve(mut r:i32, mut c:i32, mut board: &mut Vec<Vec<i32>>) -> bool {
[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: unused variable: `n`
[INFO] [stderr]   --> src/bin/producer_consumer_message_passing.rs:14:9
[INFO] [stderr]    |
[INFO] [stderr] 14 |     for n in 0..cpus {
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> src/bin/producer_consumer_message_passing.rs:37:9
[INFO] [stderr]    |
[INFO] [stderr] 37 |     for i in 0..cpus {
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `n`
[INFO] [stderr]   --> src/bin/producer_consumer_message_passing.rs:14:9
[INFO] [stderr]    |
[INFO] [stderr] 14 |     for n in 0..cpus {
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> src/bin/producer_consumer_message_passing.rs:37:9
[INFO] [stderr]    |
[INFO] [stderr] 37 |     for i in 0..cpus {
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/bin/producer_consumer_message_passing.rs:10:10
[INFO] [stderr]    |
[INFO] [stderr] 10 |     let (mut mptx, mprx) = mpsc::channel();
[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: unused `std::result::Result` that must be used
[INFO] [stderr]   --> src/bin/producer_consumer_message_passing.rs:21:21
[INFO] [stderr]    |
[INFO] [stderr] 21 |                     tx.send(exit);
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]   --> src/bin/producer_consumer_message_passing.rs:26:17
[INFO] [stderr]    |
[INFO] [stderr] 26 |                 tx.send(return_value);
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]   --> src/bin/producer_consumer_message_passing.rs:38:9
[INFO] [stderr]    |
[INFO] [stderr] 38 |         sptx.send(exit);
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/bin/producer_consumer_message_passing.rs:10:10
[INFO] [stderr]    |
[INFO] [stderr] 10 |     let (mut mptx, mprx) = mpsc::channel();
[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: unused `std::result::Result` that must be used
[INFO] [stderr]   --> src/bin/producer_consumer_message_passing.rs:21:21
[INFO] [stderr]    |
[INFO] [stderr] 21 |                     tx.send(exit);
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]   --> src/bin/producer_consumer_message_passing.rs:26:17
[INFO] [stderr]    |
[INFO] [stderr] 26 |                 tx.send(return_value);
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]   --> src/bin/producer_consumer_message_passing.rs:38:9
[INFO] [stderr]    |
[INFO] [stderr] 38 |         sptx.send(exit);
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ArrayBase`, `Ix`, `OwnedRepr`
[INFO] [stderr]  --> src/bin/neural_network.rs:3:21
[INFO] [stderr]   |
[INFO] [stderr] 3 | use ndarray::{arr2, ArrayBase, Array2, OwnedRepr, Ix};
[INFO] [stderr]   |                     ^^^^^^^^^          ^^^^^^^^^  ^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ndarray::Ix2`
[INFO] [stderr]  --> src/bin/neural_network.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use ndarray::Ix2;
[INFO] [stderr]   |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `alpha`
[INFO] [stderr]   --> src/bin/neural_network.rs:86:13
[INFO] [stderr]    |
[INFO] [stderr] 86 |         let alpha = 0.02;
[INFO] [stderr]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_alpha`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `momentum`
[INFO] [stderr]   --> src/bin/neural_network.rs:89:13
[INFO] [stderr]    |
[INFO] [stderr] 89 |         let momentum = 0.9;
[INFO] [stderr]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_momentum`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `y`
[INFO] [stderr]    --> src/bin/neural_network.rs:105:56
[INFO] [stderr]     |
[INFO] [stderr] 105 |     fn cost_function_prime(&mut self, X: &Array2<f64>, y: &Array2<f64>) {
[INFO] [stderr]     |                                                        ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/bin/neural_network.rs:30:13
[INFO] [stderr]    |
[INFO] [stderr] 30 |         let mut W1: Array2<f64> = Array2::<f64>::random(
[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/bin/neural_network.rs:34:13
[INFO] [stderr]    |
[INFO] [stderr] 34 |         let mut W2: Array2<f64> = Array2::<f64>::random(
[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/bin/neural_network.rs:42:13
[INFO] [stderr]    |
[INFO] [stderr] 42 |         let mut Z2: Array2<f64> = Array2::<f64>::random(
[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/bin/neural_network.rs:46:13
[INFO] [stderr]    |
[INFO] [stderr] 46 |         let mut Z3: Array2<f64> = Array2::<f64>::random(
[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/bin/neural_network.rs:50:13
[INFO] [stderr]    |
[INFO] [stderr] 50 |         let mut A2: Array2<f64> = Array2::<f64>::random(
[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/bin/neural_network.rs:79:13
[INFO] [stderr]    |
[INFO] [stderr] 79 |         let mut bottom = z * -1.;
[INFO] [stderr]    |             ----^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `W1` should have a snake case name
[INFO] [stderr]   --> src/bin/neural_network.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 |     W1: Array2<f64>,
[INFO] [stderr]    |     ^^ help: convert the identifier to snake case (notice the capitalization): `w1`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `W2` should have a snake case name
[INFO] [stderr]   --> src/bin/neural_network.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 |     W2: Array2<f64>,
[INFO] [stderr]    |     ^^ help: convert the identifier to snake case (notice the capitalization): `w2`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `Z2` should have a snake case name
[INFO] [stderr]   --> src/bin/neural_network.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 |     Z2: Array2<f64>,
[INFO] [stderr]    |     ^^ help: convert the identifier to snake case (notice the capitalization): `z2`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `Z3` should have a snake case name
[INFO] [stderr]   --> src/bin/neural_network.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 |     Z3: Array2<f64>,
[INFO] [stderr]    |     ^^ help: convert the identifier to snake case (notice the capitalization): `z3`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `A2` should have a snake case name
[INFO] [stderr]   --> src/bin/neural_network.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 |     A2: Array2<f64>
[INFO] [stderr]    |     ^^ help: convert the identifier to snake case: `a2`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `X` should have a snake case name
[INFO] [stderr]   --> src/bin/neural_network.rs:20:27
[INFO] [stderr]    |
[INFO] [stderr] 20 |     fn forward(&mut self, X: &Array2<f64>) -> Array2<f64>;
[INFO] [stderr]    |                           ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `X` should have a snake case name
[INFO] [stderr]   --> src/bin/neural_network.rs:21:25
[INFO] [stderr]    |
[INFO] [stderr] 21 |     fn train(&mut self, X: &Array2<f64>, y: &Array2<f64>);
[INFO] [stderr]    |                         ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `X` should have a snake case name
[INFO] [stderr]   --> src/bin/neural_network.rs:22:39
[INFO] [stderr]    |
[INFO] [stderr] 22 |     fn cost_function_prime(&mut self, X: &Array2<f64>, y: &Array2<f64>);
[INFO] [stderr]    |                                       ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `X` should have a snake case name
[INFO] [stderr]   --> src/bin/neural_network.rs:23:37
[INFO] [stderr]    |
[INFO] [stderr] 23 |     fn compute_gradients(&mut self, X: &Array2<f64>, y: &Array2<f64>);
[INFO] [stderr]    |                                     ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `W1` should have a snake case name
[INFO] [stderr]   --> src/bin/neural_network.rs:30:17
[INFO] [stderr]    |
[INFO] [stderr] 30 |         let mut W1: Array2<f64> = Array2::<f64>::random(
[INFO] [stderr]    |                 ^^ help: convert the identifier to snake case (notice the capitalization): `w1`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `W2` should have a snake case name
[INFO] [stderr]   --> src/bin/neural_network.rs:34:17
[INFO] [stderr]    |
[INFO] [stderr] 34 |         let mut W2: Array2<f64> = Array2::<f64>::random(
[INFO] [stderr]    |                 ^^ help: convert the identifier to snake case (notice the capitalization): `w2`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Z2` should have a snake case name
[INFO] [stderr]   --> src/bin/neural_network.rs:42:17
[INFO] [stderr]    |
[INFO] [stderr] 42 |         let mut Z2: Array2<f64> = Array2::<f64>::random(
[INFO] [stderr]    |                 ^^ help: convert the identifier to snake case (notice the capitalization): `z2`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Z3` should have a snake case name
[INFO] [stderr]   --> src/bin/neural_network.rs:46:17
[INFO] [stderr]    |
[INFO] [stderr] 46 |         let mut Z3: Array2<f64> = Array2::<f64>::random(
[INFO] [stderr]    |                 ^^ help: convert the identifier to snake case (notice the capitalization): `z3`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `A2` should have a snake case name
[INFO] [stderr]   --> src/bin/neural_network.rs:50:17
[INFO] [stderr]    |
[INFO] [stderr] 50 |         let mut A2: Array2<f64> = Array2::<f64>::random(
[INFO] [stderr]    |                 ^^ help: convert the identifier to snake case: `a2`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `X` should have a snake case name
[INFO] [stderr]   --> src/bin/neural_network.rs:64:27
[INFO] [stderr]    |
[INFO] [stderr] 64 |     fn forward(&mut self, X: &Array2<f64>) -> Array2<f64> {
[INFO] [stderr]    |                           ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Z2` should have a snake case name
[INFO] [stderr]   --> src/bin/neural_network.rs:65:17
[INFO] [stderr]    |
[INFO] [stderr] 65 |         let mut Z2 = X.dot(&self.W1);
[INFO] [stderr]    |                 ^^ help: convert the identifier to snake case (notice the capitalization): `z2`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `A2` should have a snake case name
[INFO] [stderr]   --> src/bin/neural_network.rs:67:17
[INFO] [stderr]    |
[INFO] [stderr] 67 |         let mut A2 = self.sigmoid(&Z2);
[INFO] [stderr]    |                 ^^ help: convert the identifier to snake case: `a2`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Z3` should have a snake case name
[INFO] [stderr]   --> src/bin/neural_network.rs:70:17
[INFO] [stderr]    |
[INFO] [stderr] 70 |         let mut Z3 = self.A2.dot(&self.W2);
[INFO] [stderr]    |                 ^^ help: convert the identifier to snake case (notice the capitalization): `z3`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `X` should have a snake case name
[INFO] [stderr]   --> src/bin/neural_network.rs:85:25
[INFO] [stderr]    |
[INFO] [stderr] 85 |     fn train(&mut self, X: &Array2<f64>, y: &Array2<f64>) {
[INFO] [stderr]    |                         ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `X` should have a snake case name
[INFO] [stderr]    --> src/bin/neural_network.rs:100:37
[INFO] [stderr]     |
[INFO] [stderr] 100 |     fn compute_gradients(&mut self, X: &Array2<f64>, y: &Array2<f64>) {
[INFO] [stderr]     |                                     ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `X` should have a snake case name
[INFO] [stderr]    --> src/bin/neural_network.rs:105:39
[INFO] [stderr]     |
[INFO] [stderr] 105 |     fn cost_function_prime(&mut self, X: &Array2<f64>, y: &Array2<f64>) {
[INFO] [stderr]     |                                       ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `X` should have a snake case name
[INFO] [stderr]    --> src/bin/neural_network.rs:124:9
[INFO] [stderr]     |
[INFO] [stderr] 124 |     let X = training_x / max;
[INFO] [stderr]     |         ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]   --> src/bin/spoj_prime_generator.rs:29:9
[INFO] [stderr]    |
[INFO] [stderr] 29 |         io::stdin().read_line(&mut input);
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: crate `Algos` should have a snake case name
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr]   = help: convert the identifier to snake case: `algos`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `grid_x` is never read
[INFO] [stderr]   --> src/bin/sudoku_solver.rs:13:17
[INFO] [stderr]    |
[INFO] [stderr] 13 |         let mut grid_x = 0;
[INFO] [stderr]    |                 ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `grid_y` is never read
[INFO] [stderr]   --> src/bin/sudoku_solver.rs:14:17
[INFO] [stderr]    |
[INFO] [stderr] 14 |         let mut grid_y = 0;
[INFO] [stderr]    |                 ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/bin/sudoku_solver.rs:48:32
[INFO] [stderr]    |
[INFO] [stderr] 48 | fn solve(mut r:i32, mut c:i32, mut board: &mut Vec<Vec<i32>>) -> bool {
[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: unused `std::result::Result` that must be used
[INFO] [stderr]   --> src/bin/spoj_prime_generator.rs:29:9
[INFO] [stderr]    |
[INFO] [stderr] 29 |         io::stdin().read_line(&mut input);
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: crate `Algos` should have a snake case name
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr]   = help: convert the identifier to snake case: `algos`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::process`
[INFO] [stderr]  --> src/bin/spoj_discrete_roots.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::process;
[INFO] [stderr]   |     ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::process`
[INFO] [stderr]  --> src/bin/spoj_discrete_roots.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::process;
[INFO] [stderr]   |     ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `n`
[INFO] [stderr]   --> src/bin/producer_consumer_shared_memory.rs:15:9
[INFO] [stderr]    |
[INFO] [stderr] 15 |     for n in 0..cpus {
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> src/bin/producer_consumer_shared_memory.rs:41:9
[INFO] [stderr]    |
[INFO] [stderr] 41 |     for i in 0..cpus {
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]  --> src/bin/spoj_discrete_roots.rs:7:12
[INFO] [stderr]   |
[INFO] [stderr] 7 |         if b & 1 {
[INFO] [stderr]   |            ^^^^^ expected `bool`, found `i32`
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]   --> src/bin/producer_consumer_shared_memory.rs:42:9
[INFO] [stderr]    |
[INFO] [stderr] 42 |         sptx.send(exit);
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to previous error
[INFO] [stderr] 
[INFO] [stderr] For more information about this error, try `rustc --explain E0308`.
[INFO] [stderr] warning: unused imports: `ArrayBase`, `Ix`, `OwnedRepr`
[INFO] [stderr]  --> src/bin/neural_network.rs:3:21
[INFO] [stderr]   |
[INFO] [stderr] 3 | use ndarray::{arr2, ArrayBase, Array2, OwnedRepr, Ix};
[INFO] [stderr]   |                     ^^^^^^^^^          ^^^^^^^^^  ^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ndarray::Ix2`
[INFO] [stderr]  --> src/bin/neural_network.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use ndarray::Ix2;
[INFO] [stderr]   |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error: could not compile `Algos`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]  --> src/bin/spoj_discrete_roots.rs:7:12
[INFO] [stderr]   |
[INFO] [stderr] 7 |         if b & 1 {
[INFO] [stderr]   |            ^^^^^ expected `bool`, found `i32`
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to previous error
[INFO] [stderr] 
[INFO] [stderr] For more information about this error, try `rustc --explain E0308`.
[INFO] [stderr] error: could not compile `Algos`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] warning: unused variable: `alpha`
[INFO] [stderr]   --> src/bin/neural_network.rs:86:13
[INFO] [stderr]    |
[INFO] [stderr] 86 |         let alpha = 0.02;
[INFO] [stderr]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_alpha`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `momentum`
[INFO] [stderr]   --> src/bin/neural_network.rs:89:13
[INFO] [stderr]    |
[INFO] [stderr] 89 |         let momentum = 0.9;
[INFO] [stderr]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_momentum`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `y`
[INFO] [stderr]    --> src/bin/neural_network.rs:105:56
[INFO] [stderr]     |
[INFO] [stderr] 105 |     fn cost_function_prime(&mut self, X: &Array2<f64>, y: &Array2<f64>) {
[INFO] [stderr]     |                                                        ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/bin/neural_network.rs:30:13
[INFO] [stderr]    |
[INFO] [stderr] 30 |         let mut W1: Array2<f64> = Array2::<f64>::random(
[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/bin/neural_network.rs:34:13
[INFO] [stderr]    |
[INFO] [stderr] 34 |         let mut W2: Array2<f64> = Array2::<f64>::random(
[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/bin/neural_network.rs:42:13
[INFO] [stderr]    |
[INFO] [stderr] 42 |         let mut Z2: Array2<f64> = Array2::<f64>::random(
[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/bin/neural_network.rs:46:13
[INFO] [stderr]    |
[INFO] [stderr] 46 |         let mut Z3: Array2<f64> = Array2::<f64>::random(
[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/bin/neural_network.rs:50:13
[INFO] [stderr]    |
[INFO] [stderr] 50 |         let mut A2: Array2<f64> = Array2::<f64>::random(
[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/bin/neural_network.rs:79:13
[INFO] [stderr]    |
[INFO] [stderr] 79 |         let mut bottom = z * -1.;
[INFO] [stderr]    |             ----^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `W1` should have a snake case name
[INFO] [stderr]   --> src/bin/neural_network.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 |     W1: Array2<f64>,
[INFO] [stderr]    |     ^^ help: convert the identifier to snake case (notice the capitalization): `w1`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `W2` should have a snake case name
[INFO] [stderr]   --> src/bin/neural_network.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 |     W2: Array2<f64>,
[INFO] [stderr]    |     ^^ help: convert the identifier to snake case (notice the capitalization): `w2`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `Z2` should have a snake case name
[INFO] [stderr]   --> src/bin/neural_network.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 |     Z2: Array2<f64>,
[INFO] [stderr]    |     ^^ help: convert the identifier to snake case (notice the capitalization): `z2`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `Z3` should have a snake case name
[INFO] [stderr]   --> src/bin/neural_network.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 |     Z3: Array2<f64>,
[INFO] [stderr]    |     ^^ help: convert the identifier to snake case (notice the capitalization): `z3`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `A2` should have a snake case name
[INFO] [stderr]   --> src/bin/neural_network.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 |     A2: Array2<f64>
[INFO] [stderr]    |     ^^ help: convert the identifier to snake case: `a2`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `X` should have a snake case name
[INFO] [stderr]   --> src/bin/neural_network.rs:20:27
[INFO] [stderr]    |
[INFO] [stderr] 20 |     fn forward(&mut self, X: &Array2<f64>) -> Array2<f64>;
[INFO] [stderr]    |                           ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `X` should have a snake case name
[INFO] [stderr]   --> src/bin/neural_network.rs:21:25
[INFO] [stderr]    |
[INFO] [stderr] 21 |     fn train(&mut self, X: &Array2<f64>, y: &Array2<f64>);
[INFO] [stderr]    |                         ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `X` should have a snake case name
[INFO] [stderr]   --> src/bin/neural_network.rs:22:39
[INFO] [stderr]    |
[INFO] [stderr] 22 |     fn cost_function_prime(&mut self, X: &Array2<f64>, y: &Array2<f64>);
[INFO] [stderr]    |                                       ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `X` should have a snake case name
[INFO] [stderr]   --> src/bin/neural_network.rs:23:37
[INFO] [stderr]    |
[INFO] [stderr] 23 |     fn compute_gradients(&mut self, X: &Array2<f64>, y: &Array2<f64>);
[INFO] [stderr]    |                                     ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `W1` should have a snake case name
[INFO] [stderr]   --> src/bin/neural_network.rs:30:17
[INFO] [stderr]    |
[INFO] [stderr] 30 |         let mut W1: Array2<f64> = Array2::<f64>::random(
[INFO] [stderr]    |                 ^^ help: convert the identifier to snake case (notice the capitalization): `w1`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `W2` should have a snake case name
[INFO] [stderr]   --> src/bin/neural_network.rs:34:17
[INFO] [stderr]    |
[INFO] [stderr] 34 |         let mut W2: Array2<f64> = Array2::<f64>::random(
[INFO] [stderr]    |                 ^^ help: convert the identifier to snake case (notice the capitalization): `w2`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Z2` should have a snake case name
[INFO] [stderr]   --> src/bin/neural_network.rs:42:17
[INFO] [stderr]    |
[INFO] [stderr] 42 |         let mut Z2: Array2<f64> = Array2::<f64>::random(
[INFO] [stderr]    |                 ^^ help: convert the identifier to snake case (notice the capitalization): `z2`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Z3` should have a snake case name
[INFO] [stderr]   --> src/bin/neural_network.rs:46:17
[INFO] [stderr]    |
[INFO] [stderr] 46 |         let mut Z3: Array2<f64> = Array2::<f64>::random(
[INFO] [stderr]    |                 ^^ help: convert the identifier to snake case (notice the capitalization): `z3`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `A2` should have a snake case name
[INFO] [stderr]   --> src/bin/neural_network.rs:50:17
[INFO] [stderr]    |
[INFO] [stderr] 50 |         let mut A2: Array2<f64> = Array2::<f64>::random(
[INFO] [stderr]    |                 ^^ help: convert the identifier to snake case: `a2`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `X` should have a snake case name
[INFO] [stderr]   --> src/bin/neural_network.rs:64:27
[INFO] [stderr]    |
[INFO] [stderr] 64 |     fn forward(&mut self, X: &Array2<f64>) -> Array2<f64> {
[INFO] [stderr]    |                           ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Z2` should have a snake case name
[INFO] [stderr]   --> src/bin/neural_network.rs:65:17
[INFO] [stderr]    |
[INFO] [stderr] 65 |         let mut Z2 = X.dot(&self.W1);
[INFO] [stderr]    |                 ^^ help: convert the identifier to snake case (notice the capitalization): `z2`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `A2` should have a snake case name
[INFO] [stderr]   --> src/bin/neural_network.rs:67:17
[INFO] [stderr]    |
[INFO] [stderr] 67 |         let mut A2 = self.sigmoid(&Z2);
[INFO] [stderr]    |                 ^^ help: convert the identifier to snake case: `a2`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Z3` should have a snake case name
[INFO] [stderr]   --> src/bin/neural_network.rs:70:17
[INFO] [stderr]    |
[INFO] [stderr] 70 |         let mut Z3 = self.A2.dot(&self.W2);
[INFO] [stderr]    |                 ^^ help: convert the identifier to snake case (notice the capitalization): `z3`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `X` should have a snake case name
[INFO] [stderr]   --> src/bin/neural_network.rs:85:25
[INFO] [stderr]    |
[INFO] [stderr] 85 |     fn train(&mut self, X: &Array2<f64>, y: &Array2<f64>) {
[INFO] [stderr]    |                         ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `X` should have a snake case name
[INFO] [stderr]    --> src/bin/neural_network.rs:100:37
[INFO] [stderr]     |
[INFO] [stderr] 100 |     fn compute_gradients(&mut self, X: &Array2<f64>, y: &Array2<f64>) {
[INFO] [stderr]     |                                     ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `X` should have a snake case name
[INFO] [stderr]    --> src/bin/neural_network.rs:105:39
[INFO] [stderr]     |
[INFO] [stderr] 105 |     fn cost_function_prime(&mut self, X: &Array2<f64>, y: &Array2<f64>) {
[INFO] [stderr]     |                                       ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `X` should have a snake case name
[INFO] [stderr]    --> src/bin/neural_network.rs:124:9
[INFO] [stderr]     |
[INFO] [stderr] 124 |     let X = training_x / max;
[INFO] [stderr]     |         ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stderr] 
[INFO] [stderr] error: build failed
[INFO] running `"docker" "inspect" "c26182418ac4db81c23f473e0c65983a5e2932ece0c25bc092031eb77de0d3c3"`
[INFO] running `"docker" "rm" "-f" "c26182418ac4db81c23f473e0c65983a5e2932ece0c25bc092031eb77de0d3c3"`
[INFO] [stdout] c26182418ac4db81c23f473e0c65983a5e2932ece0c25bc092031eb77de0d3c3
