[INFO] fetching crate sproutml 0.1.1...
[INFO] testing sproutml-0.1.1 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate sproutml 0.1.1 into /workspace/builds/worker-0-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-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate sproutml 0.1.1 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "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" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[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-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3d4cc676cb36e9f19bffa189ff0b4b47f8410b6e755bb879d832ef88641e5e75
[INFO] running `Command { std: "docker" "start" "-a" "3d4cc676cb36e9f19bffa189ff0b4b47f8410b6e755bb879d832ef88641e5e75", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3d4cc676cb36e9f19bffa189ff0b4b47f8410b6e755bb879d832ef88641e5e75", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3d4cc676cb36e9f19bffa189ff0b4b47f8410b6e755bb879d832ef88641e5e75", kill_on_drop: false }`
[INFO] [stdout] 3d4cc676cb36e9f19bffa189ff0b4b47f8410b6e755bb879d832ef88641e5e75
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 77fe58e24751159acdeb9230a660c8acbc82e1727fe2fd7c93cd7ece3c0612df
[INFO] running `Command { std: "docker" "start" "-a" "77fe58e24751159acdeb9230a660c8acbc82e1727fe2fd7c93cd7ece3c0612df", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.78
[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 num-bigint v0.4.4
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]    Compiling lock_api v0.4.11
[INFO] [stderr]    Compiling crc32fast v1.4.0
[INFO] [stderr]    Compiling anyhow v1.0.82
[INFO] [stderr]    Compiling adler v1.0.2
[INFO] [stderr]    Compiling either v1.10.0
[INFO] [stderr]    Compiling aligned-vec v0.5.0
[INFO] [stderr]    Compiling paste v1.0.14
[INFO] [stderr]    Compiling memchr v2.7.2
[INFO] [stderr]    Compiling arrayvec v0.7.4
[INFO] [stderr]    Compiling rav1e v0.7.1
[INFO] [stderr]    Compiling bytemuck v1.14.3
[INFO] [stderr]    Compiling miniz_oxide v0.7.2
[INFO] [stderr]    Compiling new_debug_unreachable v1.0.6
[INFO] [stderr]    Compiling imgref v1.10.1
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling weezl v0.1.8
[INFO] [stderr]    Compiling serde v1.0.197
[INFO] [stderr]    Compiling itertools v0.12.1
[INFO] [stderr]    Compiling bitstream-io v2.2.0
[INFO] [stderr]    Compiling loop9 v0.1.5
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]    Compiling flume v0.11.0
[INFO] [stderr]    Compiling avif-serialize v0.8.1
[INFO] [stderr]    Compiling rgb v0.8.37
[INFO] [stderr]    Compiling syn v2.0.52
[INFO] [stderr]    Compiling fdeflate v0.3.4
[INFO] [stderr]    Compiling getrandom v0.2.12
[INFO] [stderr]    Compiling half v2.4.0
[INFO] [stderr]    Compiling zune-inflate v0.2.54
[INFO] [stderr]    Compiling bit_field v0.10.2
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling simd_helpers v0.1.0
[INFO] [stderr]    Compiling flate2 v1.0.28
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling serde_json v1.0.114
[INFO] [stderr]    Compiling smallvec v1.13.1
[INFO] [stderr]    Compiling lebe v0.5.2
[INFO] [stderr]    Compiling zune-jpeg v0.4.11
[INFO] [stderr]    Compiling crossbeam-deque v0.8.5
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling v_frame v0.3.8
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling gif v0.13.1
[INFO] [stderr]    Compiling qoi v0.4.1
[INFO] [stderr]    Compiling tiff v0.9.1
[INFO] [stderr]    Compiling png v0.17.13
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling rayon v1.9.0
[INFO] [stderr]    Compiling exr v1.72.0
[INFO] [stderr]    Compiling av1-grain v0.2.3
[INFO] [stderr]    Compiling maybe-rayon v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.58
[INFO] [stderr]    Compiling profiling-procmacros v1.0.15
[INFO] [stderr]    Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling serde_derive v1.0.197
[INFO] [stderr]    Compiling profiling v1.0.15
[INFO] [stderr]    Compiling thiserror v1.0.58
[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 | ...[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 | ...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 | ...] += (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: 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: `indecies`
[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]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_indecies`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (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] [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] 
[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] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 36.97s
[INFO] running `Command { std: "docker" "inspect" "77fe58e24751159acdeb9230a660c8acbc82e1727fe2fd7c93cd7ece3c0612df", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "77fe58e24751159acdeb9230a660c8acbc82e1727fe2fd7c93cd7ece3c0612df", kill_on_drop: false }`
[INFO] [stdout] 77fe58e24751159acdeb9230a660c8acbc82e1727fe2fd7c93cd7ece3c0612df
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4b81cf4a76c9dd83a067579cafd232a728b88cc039b2855c075a15b55589e1e3
[INFO] running `Command { std: "docker" "start" "-a" "4b81cf4a76c9dd83a067579cafd232a728b88cc039b2855c075a15b55589e1e3", 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 | ...[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 | ...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 | ...] += (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: 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: `indecies`
[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]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_indecies`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (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] [stderr]    Compiling sproutml v0.1.1 (/opt/rustwide/workdir)
[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: 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] 
[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: 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 | ...[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 | ...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 | ...] += (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: 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: `indecies`
[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]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_indecies`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (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] [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] 
[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] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.62s
[INFO] running `Command { std: "docker" "inspect" "4b81cf4a76c9dd83a067579cafd232a728b88cc039b2855c075a15b55589e1e3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4b81cf4a76c9dd83a067579cafd232a728b88cc039b2855c075a15b55589e1e3", kill_on_drop: false }`
[INFO] [stdout] 4b81cf4a76c9dd83a067579cafd232a728b88cc039b2855c075a15b55589e1e3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] d99dfe829fb2c67fd2a88bde451278ec87c7b04f3edeae7dd3c25aec0f9fb877
[INFO] running `Command { std: "docker" "start" "-a" "d99dfe829fb2c67fd2a88bde451278ec87c7b04f3edeae7dd3c25aec0f9fb877", kill_on_drop: false }`
[INFO] [stderr] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stderr]   --> src/layer.rs:79:22
[INFO] [stderr]    |
[INFO] [stderr] 79 |             for j in (0..weighted_inputs[i].len()) { //each img row
[INFO] [stderr]    |                      ^                           ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 79 -             for j in (0..weighted_inputs[i].len()) { //each img row
[INFO] [stderr] 79 +             for j in 0..weighted_inputs[i].len()  { //each img row
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stderr]   --> src/layer.rs:83:26
[INFO] [stderr]    |
[INFO] [stderr] 83 |                 for k in (0..weighted_inputs[i][j].len()) { //each img column
[INFO] [stderr]    |                          ^                              ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 83 -                 for k in (0..weighted_inputs[i][j].len()) { //each img column
[INFO] [stderr] 83 +                 for k in 0..weighted_inputs[i][j].len()  { //each img column
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]   --> src/layer.rs:89:57
[INFO] [stderr]    |
[INFO] [stderr] 89 | ...[j][k] += (img[i][j * params.stride + kern_row][k * params.stride + kern_col] * params.weights[i][kern_row][kern_col]);
[INFO] [stderr]    |              ^                                                                                                          ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 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] [stderr] 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] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stderr]    --> src/layer.rs:114:22
[INFO] [stderr]     |
[INFO] [stderr] 114 |             for j in (0..output[i].len()) { //each output img row
[INFO] [stderr]     |                      ^                  ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 114 -             for j in (0..output[i].len()) { //each output img row
[INFO] [stderr] 114 +             for j in 0..output[i].len()  { //each output img row
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stderr]    --> src/layer.rs:118:26
[INFO] [stderr]     |
[INFO] [stderr] 118 |                 for k in (0..output[i][j].len()) { //each output img column
[INFO] [stderr]     |                          ^                     ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 118 -                 for k in (0..output[i][j].len()) { //each output img column
[INFO] [stderr] 118 +                 for k in 0..output[i][j].len()  { //each output img column
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stderr]    --> src/layer.rs:182:22
[INFO] [stderr]     |
[INFO] [stderr] 182 |             for j in (0..delta_output[i].len()) { //each img row
[INFO] [stderr]     |                      ^                        ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 182 -             for j in (0..delta_output[i].len()) { //each img row
[INFO] [stderr] 182 +             for j in 0..delta_output[i].len()  { //each img row
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stderr]    --> src/layer.rs:186:26
[INFO] [stderr]     |
[INFO] [stderr] 186 |                 for k in (0..delta_output[i][j].len()) { //each img column
[INFO] [stderr]     |                          ^                           ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 186 -                 for k in (0..delta_output[i][j].len()) { //each img column
[INFO] [stderr] 186 +                 for k in 0..delta_output[i][j].len()  { //each img column
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/layer.rs:192:72
[INFO] [stderr]     |
[INFO] [stderr] 192 | ...row][kern_col] += (img[i][j * params.stride + kern_row][k * params.stride + kern_col] * delta_output[i][j][k]);
[INFO] [stderr]     |                      ^                                                                                          ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 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] [stderr] 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] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stderr]    --> src/layer.rs:214:22
[INFO] [stderr]     |
[INFO] [stderr] 214 |             for j in (0..padded_gradients.len()) { //each img row
[INFO] [stderr]     |                      ^                         ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 214 -             for j in (0..padded_gradients.len()) { //each img row
[INFO] [stderr] 214 +             for j in 0..padded_gradients.len()  { //each img row
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stderr]    --> src/layer.rs:219:26
[INFO] [stderr]     |
[INFO] [stderr] 219 |                 for k in (0..padded_gradients[j].len()) { //each img column
[INFO] [stderr]     |                          ^                            ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 219 -                 for k in (0..padded_gradients[j].len()) { //each img column
[INFO] [stderr] 219 +                 for k in 0..padded_gradients[j].len()  { //each img column
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/layer.rs:226:36
[INFO] [stderr]     |
[INFO] [stderr] 226 | ...   sum += (rotated_kernel[kern_row][kern_col] * padded_gradients[j * params.stride + kern_row][k * params.stride + kern_col]);
[INFO] [stderr]     |              ^                                                                                                                 ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 226 -                             sum += (rotated_kernel[kern_row][kern_col] * padded_gradients[j * params.stride + kern_row][k * params.stride + kern_col]);
[INFO] [stderr] 226 +                             sum += rotated_kernel[kern_row][kern_col] * padded_gradients[j * params.stride + kern_row][k * params.stride + kern_col] ;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stderr]    --> src/layer.rs:252:22
[INFO] [stderr]     |
[INFO] [stderr] 252 |             for j in (0..delta_output[i].len()) { //each img row
[INFO] [stderr]     |                      ^                        ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 252 -             for j in (0..delta_output[i].len()) { //each img row
[INFO] [stderr] 252 +             for j in 0..delta_output[i].len()  { //each img row
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stderr]    --> src/layer.rs:256:26
[INFO] [stderr]     |
[INFO] [stderr] 256 |                 for k in (0..delta_output[i][j].len()) { //each img column
[INFO] [stderr]     |                          ^                           ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 256 -                 for k in (0..delta_output[i][j].len()) { //each img column
[INFO] [stderr] 256 +                 for k in 0..delta_output[i][j].len()  { //each img column
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/layer.rs:336:34
[INFO] [stderr]     |
[INFO] [stderr] 336 | ...] += (self.dense_params.as_mut().unwrap().weights[i][j] * delta_output[j] * self.dense_params.as_mut().unwrap().inputs[i]);
[INFO] [stderr]     |         ^                                                                                                                   ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 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] [stderr] 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] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Activation`
[INFO] [stderr]  --> src/layer_builder.rs:1:26
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::{activation::{Activation, ActivationFunction}, conv_params::PaddingType, layer::Layer};
[INFO] [stderr]   |                          ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/layer.rs:247:13
[INFO] [stderr]     |
[INFO] [stderr] 247 |         let mut indecies = vec![[0, 0]; delta_output.len() * delta_output[0].len() + delta_output[0][0].len()];
[INFO] [stderr]     |             ----^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `indecies`
[INFO] [stderr]    --> src/layer.rs:247:13
[INFO] [stderr]     |
[INFO] [stderr] 247 |         let mut indecies = vec![[0, 0]; delta_output.len() * delta_output[0].len() + delta_output[0][0].len()];
[INFO] [stderr]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_indecies`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/conv_params.rs:30:13
[INFO] [stderr]    |
[INFO] [stderr] 30 |         let mut cp = ConvParams {
[INFO] [stderr]    |             ----^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> src/conv_params.rs:48:13
[INFO] [stderr]    |
[INFO] [stderr] 48 |         for i in 0..self.data.len() {
[INFO] [stderr]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `limit`
[INFO] [stderr]   --> src/conv_params.rs:70:25
[INFO] [stderr]    |
[INFO] [stderr] 70 |                     let limit = (3.0 * std_dev).sqrt();
[INFO] [stderr]    |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/conv_params.rs:131:13
[INFO] [stderr]     |
[INFO] [stderr] 131 |         for i in 0..self.inputs.len() {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `width`
[INFO] [stderr]   --> src/layer_builder.rs:55:13
[INFO] [stderr]    |
[INFO] [stderr] 55 |         let width = self.img[0];
[INFO] [stderr]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `width`
[INFO] [stderr]   --> src/layer_builder.rs:56:13
[INFO] [stderr]    |
[INFO] [stderr] 56 |         let width = self.img[1];
[INFO] [stderr]    |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stderr] 
[INFO] [stderr] warning: `sproutml` (lib) generated 23 warnings (run `cargo fix --lib -p sproutml` to apply 23 suggestions)
[INFO] [stderr] warning: `sproutml` (lib test) generated 23 warnings (23 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.09s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/sproutml-b14e893174e9ef56)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests sproutml
[INFO] [stderr] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stderr]   --> src/layer.rs:79:22
[INFO] [stderr]    |
[INFO] [stderr] 79 |             for j in (0..weighted_inputs[i].len()) { //each img row
[INFO] [stderr]    |                      ^                           ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 79 -             for j in (0..weighted_inputs[i].len()) { //each img row
[INFO] [stderr] 79 +             for j in 0..weighted_inputs[i].len()  { //each img row
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stderr]   --> src/layer.rs:83:26
[INFO] [stderr]    |
[INFO] [stderr] 83 |                 for k in (0..weighted_inputs[i][j].len()) { //each img column
[INFO] [stderr]    |                          ^                              ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 83 -                 for k in (0..weighted_inputs[i][j].len()) { //each img column
[INFO] [stderr] 83 +                 for k in 0..weighted_inputs[i][j].len()  { //each img column
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]   --> src/layer.rs:89:57
[INFO] [stderr]    |
[INFO] [stderr] 89 | ...[j][k] += (img[i][j * params.stride + kern_row][k * params.stride + kern_col] * params.weights[i][kern_row][kern_col]);
[INFO] [stderr]    |              ^                                                                                                          ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 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] [stderr] 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] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stderr]    --> src/layer.rs:114:22
[INFO] [stderr]     |
[INFO] [stderr] 114 |             for j in (0..output[i].len()) { //each output img row
[INFO] [stderr]     |                      ^                  ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 114 -             for j in (0..output[i].len()) { //each output img row
[INFO] [stderr] 114 +             for j in 0..output[i].len()  { //each output img row
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stderr]    --> src/layer.rs:118:26
[INFO] [stderr]     |
[INFO] [stderr] 118 |                 for k in (0..output[i][j].len()) { //each output img column
[INFO] [stderr]     |                          ^                     ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 118 -                 for k in (0..output[i][j].len()) { //each output img column
[INFO] [stderr] 118 +                 for k in 0..output[i][j].len()  { //each output img column
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stderr]    --> src/layer.rs:182:22
[INFO] [stderr]     |
[INFO] [stderr] 182 |             for j in (0..delta_output[i].len()) { //each img row
[INFO] [stderr]     |                      ^                        ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 182 -             for j in (0..delta_output[i].len()) { //each img row
[INFO] [stderr] 182 +             for j in 0..delta_output[i].len()  { //each img row
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stderr]    --> src/layer.rs:186:26
[INFO] [stderr]     |
[INFO] [stderr] 186 |                 for k in (0..delta_output[i][j].len()) { //each img column
[INFO] [stderr]     |                          ^                           ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 186 -                 for k in (0..delta_output[i][j].len()) { //each img column
[INFO] [stderr] 186 +                 for k in 0..delta_output[i][j].len()  { //each img column
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/layer.rs:192:72
[INFO] [stderr]     |
[INFO] [stderr] 192 | ...row][kern_col] += (img[i][j * params.stride + kern_row][k * params.stride + kern_col] * delta_output[i][j][k]);
[INFO] [stderr]     |                      ^                                                                                          ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 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] [stderr] 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] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stderr]    --> src/layer.rs:214:22
[INFO] [stderr]     |
[INFO] [stderr] 214 |             for j in (0..padded_gradients.len()) { //each img row
[INFO] [stderr]     |                      ^                         ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 214 -             for j in (0..padded_gradients.len()) { //each img row
[INFO] [stderr] 214 +             for j in 0..padded_gradients.len()  { //each img row
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stderr]    --> src/layer.rs:219:26
[INFO] [stderr]     |
[INFO] [stderr] 219 |                 for k in (0..padded_gradients[j].len()) { //each img column
[INFO] [stderr]     |                          ^                            ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 219 -                 for k in (0..padded_gradients[j].len()) { //each img column
[INFO] [stderr] 219 +                 for k in 0..padded_gradients[j].len()  { //each img column
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/layer.rs:226:36
[INFO] [stderr]     |
[INFO] [stderr] 226 | ...   sum += (rotated_kernel[kern_row][kern_col] * padded_gradients[j * params.stride + kern_row][k * params.stride + kern_col]);
[INFO] [stderr]     |              ^                                                                                                                 ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 226 -                             sum += (rotated_kernel[kern_row][kern_col] * padded_gradients[j * params.stride + kern_row][k * params.stride + kern_col]);
[INFO] [stderr] 226 +                             sum += rotated_kernel[kern_row][kern_col] * padded_gradients[j * params.stride + kern_row][k * params.stride + kern_col] ;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stderr]    --> src/layer.rs:252:22
[INFO] [stderr]     |
[INFO] [stderr] 252 |             for j in (0..delta_output[i].len()) { //each img row
[INFO] [stderr]     |                      ^                        ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 252 -             for j in (0..delta_output[i].len()) { //each img row
[INFO] [stderr] 252 +             for j in 0..delta_output[i].len()  { //each img row
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stderr]    --> src/layer.rs:256:26
[INFO] [stderr]     |
[INFO] [stderr] 256 |                 for k in (0..delta_output[i][j].len()) { //each img column
[INFO] [stderr]     |                          ^                           ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 256 -                 for k in (0..delta_output[i][j].len()) { //each img column
[INFO] [stderr] 256 +                 for k in 0..delta_output[i][j].len()  { //each img column
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/layer.rs:336:34
[INFO] [stderr]     |
[INFO] [stderr] 336 | ...] += (self.dense_params.as_mut().unwrap().weights[i][j] * delta_output[j] * self.dense_params.as_mut().unwrap().inputs[i]);
[INFO] [stderr]     |         ^                                                                                                                   ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 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] [stderr] 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] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: 14 warnings emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "d99dfe829fb2c67fd2a88bde451278ec87c7b04f3edeae7dd3c25aec0f9fb877", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d99dfe829fb2c67fd2a88bde451278ec87c7b04f3edeae7dd3c25aec0f9fb877", kill_on_drop: false }`
[INFO] [stdout] d99dfe829fb2c67fd2a88bde451278ec87c7b04f3edeae7dd3c25aec0f9fb877
