[INFO] fetching crate sproutml 0.1.1...
[INFO] building sproutml-0.1.1 against try#d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6 for pr-146237-1
[INFO] extracting crate sproutml 0.1.1 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate sproutml 0.1.1
[INFO] finished tweaking crates.io crate sproutml 0.1.1
[INFO] tweaked toml for crates.io crate sproutml 0.1.1 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate sproutml 0.1.1 on toolchain d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate sproutml 0.1.1 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" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] fbb16edf1eeb346b2a9585c1add87ed1a8c411ddc954a3b24f730cb55eb10787
[INFO] running `Command { std: "docker" "start" "-a" "fbb16edf1eeb346b2a9585c1add87ed1a8c411ddc954a3b24f730cb55eb10787", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fbb16edf1eeb346b2a9585c1add87ed1a8c411ddc954a3b24f730cb55eb10787", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fbb16edf1eeb346b2a9585c1add87ed1a8c411ddc954a3b24f730cb55eb10787", kill_on_drop: false }`
[INFO] [stdout] fbb16edf1eeb346b2a9585c1add87ed1a8c411ddc954a3b24f730cb55eb10787
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 41da16a5407a8aa67f53e279263c2ce9d6fc43cab790a377ef4adaf522591ec0
[INFO] running `Command { std: "docker" "start" "-a" "41da16a5407a8aa67f53e279263c2ce9d6fc43cab790a377ef4adaf522591ec0", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.78
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling crossbeam-utils v0.8.19
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]    Compiling simd-adler32 v0.3.7
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling num-bigint v0.4.4
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]    Compiling lock_api v0.4.11
[INFO] [stderr]    Compiling anyhow v1.0.82
[INFO] [stderr]    Compiling crc32fast v1.4.0
[INFO] [stderr]    Compiling either v1.10.0
[INFO] [stderr]    Compiling thiserror v1.0.58
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling paste v1.0.14
[INFO] [stderr]    Compiling aligned-vec v0.5.0
[INFO] [stderr]    Compiling miniz_oxide v0.7.2
[INFO] [stderr]    Compiling memchr v2.7.2
[INFO] [stderr]    Compiling built v0.7.2
[INFO] [stderr]    Compiling arrayvec v0.7.4
[INFO] [stderr]    Compiling bytemuck v1.14.3
[INFO] [stderr]    Compiling log v0.4.21
[INFO] [stderr]    Compiling itertools v0.12.1
[INFO] [stderr]    Compiling noop_proc_macro v0.3.0
[INFO] [stderr]    Compiling weezl v0.1.8
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling bitstream-io v2.2.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling flate2 v1.0.28
[INFO] [stderr]    Compiling imgref v1.10.1
[INFO] [stderr]    Compiling rav1e v0.7.1
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]    Compiling new_debug_unreachable v1.0.6
[INFO] [stderr]    Compiling once_cell v1.19.0
[INFO] [stderr]    Compiling serde v1.0.197
[INFO] [stderr]    Compiling loop9 v0.1.5
[INFO] [stderr]    Compiling flume v0.11.0
[INFO] [stderr]    Compiling rgb v0.8.37
[INFO] [stderr]    Compiling avif-serialize v0.8.1
[INFO] [stderr]    Compiling getrandom v0.2.12
[INFO] [stderr]    Compiling crossbeam-deque v0.8.5
[INFO] [stderr]    Compiling syn v2.0.52
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling fdeflate v0.3.4
[INFO] [stderr]    Compiling zune-inflate v0.2.54
[INFO] [stderr]    Compiling half v2.4.0
[INFO] [stderr]    Compiling lebe v0.5.2
[INFO] [stderr]    Compiling smallvec v1.13.1
[INFO] [stderr]    Compiling simd_helpers v0.1.0
[INFO] [stderr]    Compiling color_quant v1.1.0
[INFO] [stderr]    Compiling serde_json v1.0.114
[INFO] [stderr]    Compiling quick-error v2.0.1
[INFO] [stderr]    Compiling bit_field v0.10.2
[INFO] [stderr]    Compiling zune-core v0.4.12
[INFO] [stderr]    Compiling ppv-lite86 v0.2.17
[INFO] [stderr]    Compiling jpeg-decoder v0.3.1
[INFO] [stderr]    Compiling png v0.17.13
[INFO] [stderr]    Compiling gif v0.13.1
[INFO] [stderr]    Compiling zune-jpeg v0.4.11
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling qoi v0.4.1
[INFO] [stderr]    Compiling itoa v1.0.10
[INFO] [stderr]    Compiling rayon v1.9.0
[INFO] [stderr]    Compiling exr v1.72.0
[INFO] [stderr]    Compiling ryu v1.0.17
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling v_frame v0.3.8
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling tiff v0.9.1
[INFO] [stderr]    Compiling maybe-rayon v0.1.1
[INFO] [stderr]    Compiling av1-grain v0.2.3
[INFO] [stderr]    Compiling thiserror-impl v1.0.58
[INFO] [stderr]    Compiling profiling-procmacros v1.0.15
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr]    Compiling serde_derive v1.0.197
[INFO] [stderr]    Compiling profiling v1.0.15
[INFO] [stderr]    Compiling image-webp v0.1.1
[INFO] [stderr]    Compiling ravif v0.11.5
[INFO] [stderr]    Compiling image v0.25.1
[INFO] [stderr]    Compiling sproutml v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]   --> src/layer.rs:79:22
[INFO] [stdout]    |
[INFO] [stdout] 79 |             for j in (0..weighted_inputs[i].len()) { //each img row
[INFO] [stdout]    |                      ^                           ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 79 -             for j in (0..weighted_inputs[i].len()) { //each img row
[INFO] [stdout] 79 +             for j in 0..weighted_inputs[i].len() { //each img row
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]   --> src/layer.rs:83:26
[INFO] [stdout]    |
[INFO] [stdout] 83 |                 for k in (0..weighted_inputs[i][j].len()) { //each img column
[INFO] [stdout]    |                          ^                              ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 83 -                 for k in (0..weighted_inputs[i][j].len()) { //each img column
[INFO] [stdout] 83 +                 for k in 0..weighted_inputs[i][j].len() { //each img column
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/layer.rs:89:57
[INFO] [stdout]    |
[INFO] [stdout] 89 | ...[i][j][k] += (img[i][j * params.stride + kern_row][k * params.stride + kern_col] * params.weights[i][kern_row][kern_col]);
[INFO] [stdout]    |                 ^                                                                                                          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 89 -                             weighted_inputs[i][j][k] += (img[i][j * params.stride + kern_row][k * params.stride + kern_col] * params.weights[i][kern_row][kern_col]);
[INFO] [stdout] 89 +                             weighted_inputs[i][j][k] += img[i][j * params.stride + kern_row][k * params.stride + kern_col] * params.weights[i][kern_row][kern_col];
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/layer.rs:114:22
[INFO] [stdout]     |
[INFO] [stdout] 114 |             for j in (0..output[i].len()) { //each output img row
[INFO] [stdout]     |                      ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 114 -             for j in (0..output[i].len()) { //each output img row
[INFO] [stdout] 114 +             for j in 0..output[i].len() { //each output img row
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/layer.rs:118:26
[INFO] [stdout]     |
[INFO] [stdout] 118 |                 for k in (0..output[i][j].len()) { //each output img column
[INFO] [stdout]     |                          ^                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 118 -                 for k in (0..output[i][j].len()) { //each output img column
[INFO] [stdout] 118 +                 for k in 0..output[i][j].len() { //each output img column
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/layer.rs:182:22
[INFO] [stdout]     |
[INFO] [stdout] 182 |             for j in (0..delta_output[i].len()) { //each img row
[INFO] [stdout]     |                      ^                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 182 -             for j in (0..delta_output[i].len()) { //each img row
[INFO] [stdout] 182 +             for j in 0..delta_output[i].len() { //each img row
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/layer.rs:186:26
[INFO] [stdout]     |
[INFO] [stdout] 186 |                 for k in (0..delta_output[i][j].len()) { //each img column
[INFO] [stdout]     |                          ^                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 186 -                 for k in (0..delta_output[i][j].len()) { //each img column
[INFO] [stdout] 186 +                 for k in 0..delta_output[i][j].len() { //each img column
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/layer.rs:192:72
[INFO] [stdout]     |
[INFO] [stdout] 192 | ...rn_row][kern_col] += (img[i][j * params.stride + kern_row][k * params.stride + kern_col] * delta_output[i][j][k]);
[INFO] [stdout]     |                         ^                                                                                          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 192 -                             weight_gradients[i][kern_row][kern_col] += (img[i][j * params.stride + kern_row][k * params.stride + kern_col] * delta_output[i][j][k]);
[INFO] [stdout] 192 +                             weight_gradients[i][kern_row][kern_col] += img[i][j * params.stride + kern_row][k * params.stride + kern_col] * delta_output[i][j][k];
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/layer.rs:214:22
[INFO] [stdout]     |
[INFO] [stdout] 214 |             for j in (0..padded_gradients.len()) { //each img row
[INFO] [stdout]     |                      ^                         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 214 -             for j in (0..padded_gradients.len()) { //each img row
[INFO] [stdout] 214 +             for j in 0..padded_gradients.len() { //each img row
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/layer.rs:219:26
[INFO] [stdout]     |
[INFO] [stdout] 219 |                 for k in (0..padded_gradients[j].len()) { //each img column
[INFO] [stdout]     |                          ^                            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 219 -                 for k in (0..padded_gradients[j].len()) { //each img column
[INFO] [stdout] 219 +                 for k in 0..padded_gradients[j].len() { //each img column
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/layer.rs:226:36
[INFO] [stdout]     |
[INFO] [stdout] 226 | ...   sum += (rotated_kernel[kern_row][kern_col] * padded_gradients[j * params.stride + kern_row][k * params.stride + kern_col]);
[INFO] [stdout]     |              ^                                                                                                                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 226 -                             sum += (rotated_kernel[kern_row][kern_col] * padded_gradients[j * params.stride + kern_row][k * params.stride + kern_col]);
[INFO] [stdout] 226 +                             sum += rotated_kernel[kern_row][kern_col] * padded_gradients[j * params.stride + kern_row][k * params.stride + kern_col];
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/layer.rs:252:22
[INFO] [stdout]     |
[INFO] [stdout] 252 |             for j in (0..delta_output[i].len()) { //each img row
[INFO] [stdout]     |                      ^                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 252 -             for j in (0..delta_output[i].len()) { //each img row
[INFO] [stdout] 252 +             for j in 0..delta_output[i].len() { //each img row
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/layer.rs:256:26
[INFO] [stdout]     |
[INFO] [stdout] 256 |                 for k in (0..delta_output[i][j].len()) { //each img column
[INFO] [stdout]     |                          ^                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 256 -                 for k in (0..delta_output[i][j].len()) { //each img column
[INFO] [stdout] 256 +                 for k in 0..delta_output[i][j].len() { //each img column
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/layer.rs:336:34
[INFO] [stdout]     |
[INFO] [stdout] 336 | ...a[i] += (self.dense_params.as_mut().unwrap().weights[i][j] * delta_output[j] * self.dense_params.as_mut().unwrap().inputs[i]);
[INFO] [stdout]     |            ^                                                                                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 336 -                 next_delta[i] += (self.dense_params.as_mut().unwrap().weights[i][j] * delta_output[j] * self.dense_params.as_mut().unwrap().inputs[i]);
[INFO] [stdout] 336 +                 next_delta[i] += self.dense_params.as_mut().unwrap().weights[i][j] * delta_output[j] * self.dense_params.as_mut().unwrap().inputs[i];
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Activation`
[INFO] [stdout]  --> src/layer_builder.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{activation::{Activation, ActivationFunction}, conv_params::PaddingType, layer::Layer};
[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: `width`
[INFO] [stdout]   --> src/layer_builder.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let width = self.img[0];
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]   --> src/layer_builder.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let width = self.img[1];
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `indecies`
[INFO] [stdout]    --> src/layer.rs:247:17
[INFO] [stdout]     |
[INFO] [stdout] 247 |         let mut indecies = vec![[0, 0]; delta_output.len() * delta_output[0].len() + delta_output[0][0].len()];
[INFO] [stdout]     |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_indecies`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/layer.rs:247:13
[INFO] [stdout]     |
[INFO] [stdout] 247 |         let mut indecies = vec![[0, 0]; delta_output.len() * delta_output[0].len() + delta_output[0][0].len()];
[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: `i`
[INFO] [stdout]   --> src/conv_params.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |         for i in 0..self.data.len() {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `limit`
[INFO] [stdout]   --> src/conv_params.rs:70:25
[INFO] [stdout]    |
[INFO] [stdout] 70 |                     let limit = (3.0 * std_dev).sqrt();
[INFO] [stdout]    |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/conv_params.rs:131:13
[INFO] [stdout]     |
[INFO] [stdout] 131 |         for i in 0..self.inputs.len() {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/conv_params.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let mut cp = ConvParams {
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 23.34s
[INFO] running `Command { std: "docker" "inspect" "41da16a5407a8aa67f53e279263c2ce9d6fc43cab790a377ef4adaf522591ec0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "41da16a5407a8aa67f53e279263c2ce9d6fc43cab790a377ef4adaf522591ec0", kill_on_drop: false }`
[INFO] [stdout] 41da16a5407a8aa67f53e279263c2ce9d6fc43cab790a377ef4adaf522591ec0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d79d87d4c0f7f0d0785ad6e493cf8cf718ed89a6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9582b5d3de8d02a5336bc2d5581b37376ecc52ed3dbf6215685fb5fa0e0875b8
[INFO] running `Command { std: "docker" "start" "-a" "9582b5d3de8d02a5336bc2d5581b37376ecc52ed3dbf6215685fb5fa0e0875b8", kill_on_drop: false }`
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]   --> src/layer.rs:79:22
[INFO] [stdout]    |
[INFO] [stdout] 79 |             for j in (0..weighted_inputs[i].len()) { //each img row
[INFO] [stdout]    |                      ^                           ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 79 -             for j in (0..weighted_inputs[i].len()) { //each img row
[INFO] [stdout] 79 +             for j in 0..weighted_inputs[i].len() { //each img row
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]   --> src/layer.rs:83:26
[INFO] [stdout]    |
[INFO] [stdout] 83 |                 for k in (0..weighted_inputs[i][j].len()) { //each img column
[INFO] [stdout]    |                          ^                              ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 83 -                 for k in (0..weighted_inputs[i][j].len()) { //each img column
[INFO] [stdout] 83 +                 for k in 0..weighted_inputs[i][j].len() { //each img column
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/layer.rs:89:57
[INFO] [stdout]    |
[INFO] [stdout] 89 | ...[i][j][k] += (img[i][j * params.stride + kern_row][k * params.stride + kern_col] * params.weights[i][kern_row][kern_col]);
[INFO] [stdout]    |                 ^                                                                                                          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 89 -                             weighted_inputs[i][j][k] += (img[i][j * params.stride + kern_row][k * params.stride + kern_col] * params.weights[i][kern_row][kern_col]);
[INFO] [stdout] 89 +                             weighted_inputs[i][j][k] += img[i][j * params.stride + kern_row][k * params.stride + kern_col] * params.weights[i][kern_row][kern_col];
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/layer.rs:114:22
[INFO] [stdout]     |
[INFO] [stdout] 114 |             for j in (0..output[i].len()) { //each output img row
[INFO] [stdout]     |                      ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 114 -             for j in (0..output[i].len()) { //each output img row
[INFO] [stdout] 114 +             for j in 0..output[i].len() { //each output img row
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/layer.rs:118:26
[INFO] [stdout]     |
[INFO] [stdout] 118 |                 for k in (0..output[i][j].len()) { //each output img column
[INFO] [stdout]     |                          ^                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 118 -                 for k in (0..output[i][j].len()) { //each output img column
[INFO] [stdout] 118 +                 for k in 0..output[i][j].len() { //each output img column
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/layer.rs:182:22
[INFO] [stdout]     |
[INFO] [stdout] 182 |             for j in (0..delta_output[i].len()) { //each img row
[INFO] [stdout]     |                      ^                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 182 -             for j in (0..delta_output[i].len()) { //each img row
[INFO] [stdout] 182 +             for j in 0..delta_output[i].len() { //each img row
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/layer.rs:186:26
[INFO] [stdout]     |
[INFO] [stdout] 186 |                 for k in (0..delta_output[i][j].len()) { //each img column
[INFO] [stdout]     |                          ^                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 186 -                 for k in (0..delta_output[i][j].len()) { //each img column
[INFO] [stdout] 186 +                 for k in 0..delta_output[i][j].len() { //each img column
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling sproutml v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/layer.rs:192:72
[INFO] [stdout]     |
[INFO] [stdout] 192 | ...rn_row][kern_col] += (img[i][j * params.stride + kern_row][k * params.stride + kern_col] * delta_output[i][j][k]);
[INFO] [stdout]     |                         ^                                                                                          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 192 -                             weight_gradients[i][kern_row][kern_col] += (img[i][j * params.stride + kern_row][k * params.stride + kern_col] * delta_output[i][j][k]);
[INFO] [stdout] 192 +                             weight_gradients[i][kern_row][kern_col] += img[i][j * params.stride + kern_row][k * params.stride + kern_col] * delta_output[i][j][k];
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/layer.rs:214:22
[INFO] [stdout]     |
[INFO] [stdout] 214 |             for j in (0..padded_gradients.len()) { //each img row
[INFO] [stdout]     |                      ^                         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 214 -             for j in (0..padded_gradients.len()) { //each img row
[INFO] [stdout] 214 +             for j in 0..padded_gradients.len() { //each img row
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/layer.rs:219:26
[INFO] [stdout]     |
[INFO] [stdout] 219 |                 for k in (0..padded_gradients[j].len()) { //each img column
[INFO] [stdout]     |                          ^                            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 219 -                 for k in (0..padded_gradients[j].len()) { //each img column
[INFO] [stdout] 219 +                 for k in 0..padded_gradients[j].len() { //each img column
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/layer.rs:226:36
[INFO] [stdout]     |
[INFO] [stdout] 226 | ...   sum += (rotated_kernel[kern_row][kern_col] * padded_gradients[j * params.stride + kern_row][k * params.stride + kern_col]);
[INFO] [stdout]     |              ^                                                                                                                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 226 -                             sum += (rotated_kernel[kern_row][kern_col] * padded_gradients[j * params.stride + kern_row][k * params.stride + kern_col]);
[INFO] [stdout] 226 +                             sum += rotated_kernel[kern_row][kern_col] * padded_gradients[j * params.stride + kern_row][k * params.stride + kern_col];
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/layer.rs:252:22
[INFO] [stdout]     |
[INFO] [stdout] 252 |             for j in (0..delta_output[i].len()) { //each img row
[INFO] [stdout]     |                      ^                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 252 -             for j in (0..delta_output[i].len()) { //each img row
[INFO] [stdout] 252 +             for j in 0..delta_output[i].len() { //each img row
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/layer.rs:256:26
[INFO] [stdout]     |
[INFO] [stdout] 256 |                 for k in (0..delta_output[i][j].len()) { //each img column
[INFO] [stdout]     |                          ^                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 256 -                 for k in (0..delta_output[i][j].len()) { //each img column
[INFO] [stdout] 256 +                 for k in 0..delta_output[i][j].len() { //each img column
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/layer.rs:336:34
[INFO] [stdout]     |
[INFO] [stdout] 336 | ...a[i] += (self.dense_params.as_mut().unwrap().weights[i][j] * delta_output[j] * self.dense_params.as_mut().unwrap().inputs[i]);
[INFO] [stdout]     |            ^                                                                                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 336 -                 next_delta[i] += (self.dense_params.as_mut().unwrap().weights[i][j] * delta_output[j] * self.dense_params.as_mut().unwrap().inputs[i]);
[INFO] [stdout] 336 +                 next_delta[i] += self.dense_params.as_mut().unwrap().weights[i][j] * delta_output[j] * self.dense_params.as_mut().unwrap().inputs[i];
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Activation`
[INFO] [stdout]  --> src/layer_builder.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{activation::{Activation, ActivationFunction}, conv_params::PaddingType, layer::Layer};
[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: `width`
[INFO] [stdout]   --> src/layer_builder.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let width = self.img[0];
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]   --> src/layer_builder.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let width = self.img[1];
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `indecies`
[INFO] [stdout]    --> src/layer.rs:247:17
[INFO] [stdout]     |
[INFO] [stdout] 247 |         let mut indecies = vec![[0, 0]; delta_output.len() * delta_output[0].len() + delta_output[0][0].len()];
[INFO] [stdout]     |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_indecies`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/layer.rs:247:13
[INFO] [stdout]     |
[INFO] [stdout] 247 |         let mut indecies = vec![[0, 0]; delta_output.len() * delta_output[0].len() + delta_output[0][0].len()];
[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: `i`
[INFO] [stdout]   --> src/conv_params.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |         for i in 0..self.data.len() {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `limit`
[INFO] [stdout]   --> src/conv_params.rs:70:25
[INFO] [stdout]    |
[INFO] [stdout] 70 |                     let limit = (3.0 * std_dev).sqrt();
[INFO] [stdout]    |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/conv_params.rs:131:13
[INFO] [stdout]     |
[INFO] [stdout] 131 |         for i in 0..self.inputs.len() {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/conv_params.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let mut cp = ConvParams {
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]   --> src/layer.rs:79:22
[INFO] [stdout]    |
[INFO] [stdout] 79 |             for j in (0..weighted_inputs[i].len()) { //each img row
[INFO] [stdout]    |                      ^                           ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 79 -             for j in (0..weighted_inputs[i].len()) { //each img row
[INFO] [stdout] 79 +             for j in 0..weighted_inputs[i].len() { //each img row
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]   --> src/layer.rs:83:26
[INFO] [stdout]    |
[INFO] [stdout] 83 |                 for k in (0..weighted_inputs[i][j].len()) { //each img column
[INFO] [stdout]    |                          ^                              ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 83 -                 for k in (0..weighted_inputs[i][j].len()) { //each img column
[INFO] [stdout] 83 +                 for k in 0..weighted_inputs[i][j].len() { //each img column
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/layer.rs:89:57
[INFO] [stdout]    |
[INFO] [stdout] 89 | ...[i][j][k] += (img[i][j * params.stride + kern_row][k * params.stride + kern_col] * params.weights[i][kern_row][kern_col]);
[INFO] [stdout]    |                 ^                                                                                                          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 89 -                             weighted_inputs[i][j][k] += (img[i][j * params.stride + kern_row][k * params.stride + kern_col] * params.weights[i][kern_row][kern_col]);
[INFO] [stdout] 89 +                             weighted_inputs[i][j][k] += img[i][j * params.stride + kern_row][k * params.stride + kern_col] * params.weights[i][kern_row][kern_col];
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/layer.rs:114:22
[INFO] [stdout]     |
[INFO] [stdout] 114 |             for j in (0..output[i].len()) { //each output img row
[INFO] [stdout]     |                      ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 114 -             for j in (0..output[i].len()) { //each output img row
[INFO] [stdout] 114 +             for j in 0..output[i].len() { //each output img row
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/layer.rs:118:26
[INFO] [stdout]     |
[INFO] [stdout] 118 |                 for k in (0..output[i][j].len()) { //each output img column
[INFO] [stdout]     |                          ^                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 118 -                 for k in (0..output[i][j].len()) { //each output img column
[INFO] [stdout] 118 +                 for k in 0..output[i][j].len() { //each output img column
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/layer.rs:182:22
[INFO] [stdout]     |
[INFO] [stdout] 182 |             for j in (0..delta_output[i].len()) { //each img row
[INFO] [stdout]     |                      ^                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 182 -             for j in (0..delta_output[i].len()) { //each img row
[INFO] [stdout] 182 +             for j in 0..delta_output[i].len() { //each img row
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/layer.rs:186:26
[INFO] [stdout]     |
[INFO] [stdout] 186 |                 for k in (0..delta_output[i][j].len()) { //each img column
[INFO] [stdout]     |                          ^                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 186 -                 for k in (0..delta_output[i][j].len()) { //each img column
[INFO] [stdout] 186 +                 for k in 0..delta_output[i][j].len() { //each img column
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/layer.rs:192:72
[INFO] [stdout]     |
[INFO] [stdout] 192 | ...rn_row][kern_col] += (img[i][j * params.stride + kern_row][k * params.stride + kern_col] * delta_output[i][j][k]);
[INFO] [stdout]     |                         ^                                                                                          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 192 -                             weight_gradients[i][kern_row][kern_col] += (img[i][j * params.stride + kern_row][k * params.stride + kern_col] * delta_output[i][j][k]);
[INFO] [stdout] 192 +                             weight_gradients[i][kern_row][kern_col] += img[i][j * params.stride + kern_row][k * params.stride + kern_col] * delta_output[i][j][k];
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/layer.rs:214:22
[INFO] [stdout]     |
[INFO] [stdout] 214 |             for j in (0..padded_gradients.len()) { //each img row
[INFO] [stdout]     |                      ^                         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 214 -             for j in (0..padded_gradients.len()) { //each img row
[INFO] [stdout] 214 +             for j in 0..padded_gradients.len() { //each img row
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/layer.rs:219:26
[INFO] [stdout]     |
[INFO] [stdout] 219 |                 for k in (0..padded_gradients[j].len()) { //each img column
[INFO] [stdout]     |                          ^                            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 219 -                 for k in (0..padded_gradients[j].len()) { //each img column
[INFO] [stdout] 219 +                 for k in 0..padded_gradients[j].len() { //each img column
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/layer.rs:226:36
[INFO] [stdout]     |
[INFO] [stdout] 226 | ...   sum += (rotated_kernel[kern_row][kern_col] * padded_gradients[j * params.stride + kern_row][k * params.stride + kern_col]);
[INFO] [stdout]     |              ^                                                                                                                 ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 226 -                             sum += (rotated_kernel[kern_row][kern_col] * padded_gradients[j * params.stride + kern_row][k * params.stride + kern_col]);
[INFO] [stdout] 226 +                             sum += rotated_kernel[kern_row][kern_col] * padded_gradients[j * params.stride + kern_row][k * params.stride + kern_col];
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/layer.rs:252:22
[INFO] [stdout]     |
[INFO] [stdout] 252 |             for j in (0..delta_output[i].len()) { //each img row
[INFO] [stdout]     |                      ^                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 252 -             for j in (0..delta_output[i].len()) { //each img row
[INFO] [stdout] 252 +             for j in 0..delta_output[i].len() { //each img row
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> src/layer.rs:256:26
[INFO] [stdout]     |
[INFO] [stdout] 256 |                 for k in (0..delta_output[i][j].len()) { //each img column
[INFO] [stdout]     |                          ^                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 256 -                 for k in (0..delta_output[i][j].len()) { //each img column
[INFO] [stdout] 256 +                 for k in 0..delta_output[i][j].len() { //each img column
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/layer.rs:336:34
[INFO] [stdout]     |
[INFO] [stdout] 336 | ...a[i] += (self.dense_params.as_mut().unwrap().weights[i][j] * delta_output[j] * self.dense_params.as_mut().unwrap().inputs[i]);
[INFO] [stdout]     |            ^                                                                                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 336 -                 next_delta[i] += (self.dense_params.as_mut().unwrap().weights[i][j] * delta_output[j] * self.dense_params.as_mut().unwrap().inputs[i]);
[INFO] [stdout] 336 +                 next_delta[i] += self.dense_params.as_mut().unwrap().weights[i][j] * delta_output[j] * self.dense_params.as_mut().unwrap().inputs[i];
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Activation`
[INFO] [stdout]  --> src/layer_builder.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{activation::{Activation, ActivationFunction}, conv_params::PaddingType, layer::Layer};
[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: `width`
[INFO] [stdout]   --> src/layer_builder.rs:55:13
[INFO] [stdout]    |
[INFO] [stdout] 55 |         let width = self.img[0];
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]   --> src/layer_builder.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let width = self.img[1];
[INFO] [stdout]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `indecies`
[INFO] [stdout]    --> src/layer.rs:247:17
[INFO] [stdout]     |
[INFO] [stdout] 247 |         let mut indecies = vec![[0, 0]; delta_output.len() * delta_output[0].len() + delta_output[0][0].len()];
[INFO] [stdout]     |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_indecies`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/layer.rs:247:13
[INFO] [stdout]     |
[INFO] [stdout] 247 |         let mut indecies = vec![[0, 0]; delta_output.len() * delta_output[0].len() + delta_output[0][0].len()];
[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]   --> src/conv_params.rs:30:13
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let mut cp = ConvParams {
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/conv_params.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |         for i in 0..self.data.len() {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `limit`
[INFO] [stdout]   --> src/conv_params.rs:70:25
[INFO] [stdout]    |
[INFO] [stdout] 70 |                     let limit = (3.0 * std_dev).sqrt();
[INFO] [stdout]    |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/conv_params.rs:131:13
[INFO] [stdout]     |
[INFO] [stdout] 131 |         for i in 0..self.inputs.len() {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.24s
[INFO] running `Command { std: "docker" "inspect" "9582b5d3de8d02a5336bc2d5581b37376ecc52ed3dbf6215685fb5fa0e0875b8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9582b5d3de8d02a5336bc2d5581b37376ecc52ed3dbf6215685fb5fa0e0875b8", kill_on_drop: false }`
[INFO] [stdout] 9582b5d3de8d02a5336bc2d5581b37376ecc52ed3dbf6215685fb5fa0e0875b8
