[INFO] cloning repository https://github.com/kgtkr/zero-dl
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/kgtkr/zero-dl" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkgtkr%2Fzero-dl", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkgtkr%2Fzero-dl'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 97fc00fb1fe627e92a4675831bd536acbc9c239b
[INFO] checking kgtkr/zero-dl against try#b1f2594eac607c1f051534800237eeedb5590a49 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkgtkr%2Fzero-dl" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/kgtkr/zero-dl
[INFO] finished tweaking git repo https://github.com/kgtkr/zero-dl
[INFO] tweaked toml for git repo https://github.com/kgtkr/zero-dl written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/kgtkr/zero-dl on toolchain b1f2594eac607c1f051534800237eeedb5590a49
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b1f2594eac607c1f051534800237eeedb5590a49" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/kgtkr/zero-dl already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b1f2594eac607c1f051534800237eeedb5590a49" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+b1f2594eac607c1f051534800237eeedb5590a49" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5516b49f2620fe58dd4871770e92f383d02842a4b787fdf3fe7db4a087f9b7a3
[INFO] running `Command { std: "docker" "start" "-a" "5516b49f2620fe58dd4871770e92f383d02842a4b787fdf3fe7db4a087f9b7a3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5516b49f2620fe58dd4871770e92f383d02842a4b787fdf3fe7db4a087f9b7a3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5516b49f2620fe58dd4871770e92f383d02842a4b787fdf3fe7db4a087f9b7a3", kill_on_drop: false }`
[INFO] [stdout] 5516b49f2620fe58dd4871770e92f383d02842a4b787fdf3fe7db4a087f9b7a3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+b1f2594eac607c1f051534800237eeedb5590a49" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 802af2f13ae1b335b92c54483f03cee8bbfd311344af1378e85edaf67747cdf3
[INFO] running `Command { std: "docker" "start" "-a" "802af2f13ae1b335b92c54483f03cee8bbfd311344af1378e85edaf67747cdf3", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.30
[INFO] [stderr]    Compiling quote v1.0.6
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]     Checking getrandom v0.1.14
[INFO] [stderr]    Compiling serde v1.0.111
[INFO] [stderr]    Compiling frunk_core v0.3.1
[INFO] [stderr]    Compiling rayon-core v1.7.0
[INFO] [stderr]     Checking crossbeam-queue v0.2.2
[INFO] [stderr]    Compiling num-complex v0.2.4
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.8
[INFO] [stderr]     Checking rand_pcg v0.2.1
[INFO] [stderr]     Checking gimli v0.21.0
[INFO] [stderr]    Compiling ndarray v0.13.1
[INFO] [stderr]     Checking rawpointer v0.2.1
[INFO] [stderr]     Checking matrixmultiply v0.2.3
[INFO] [stderr]     Checking rayon v1.3.0
[INFO] [stderr]    Compiling indexmap v1.4.0
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking object v0.19.0
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking rustc-demangle v0.1.16
[INFO] [stderr]     Checking adler32 v1.0.4
[INFO] [stderr]     Checking rand_distr v0.2.2
[INFO] [stderr]     Checking miniz_oxide v0.3.6
[INFO] [stderr]    Compiling frunk_proc_macro_helpers v0.0.4
[INFO] [stderr]     Checking addr2line v0.12.1
[INFO] [stderr]     Checking itertools v0.8.2
[INFO] [stderr]     Checking backtrace v0.3.48
[INFO] [stderr]     Checking noisy_float v0.1.12
[INFO] [stderr]     Checking svg v0.7.2
[INFO] [stderr]     Checking flate2 v1.0.14
[INFO] [stderr]    Compiling frunk_proc_macros_impl v0.0.4
[INFO] [stderr]    Compiling frunk_derives v0.3.1
[INFO] [stderr]    Compiling frunk_labelled_proc_macro v0.1.0 (https://github.com/kgtkr/frunk-labelled-proc-macro.git#2f2f89a2)
[INFO] [stderr]    Compiling synstructure v0.12.3
[INFO] [stderr]    Compiling serde_derive v1.0.111
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]     Checking frunk_proc_macros v0.0.4
[INFO] [stderr]     Checking frunk v0.3.1
[INFO] [stderr]     Checking failure v0.1.8
[INFO] [stderr]     Checking plotlib v0.5.1
[INFO] [stderr]     Checking bincode v1.2.1
[INFO] [stderr]     Checking ndarray-stats v0.3.0
[INFO] [stderr]     Checking ndarray-rand v0.11.0
[INFO] [stderr]     Checking zero-dl v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `frunk::traits::ToMut`
[INFO] [stdout]  --> src/layer.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use frunk::traits::ToMut;
[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 import: `frunk::traits::ToMut`
[INFO] [stdout]  --> src/layers/affine.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use frunk::traits::ToMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Hlist`, `field`, and `hlist`
[INFO] [stdout]  --> src/layers/affine.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use frunk::{field, hlist, HNil, Hlist};
[INFO] [stdout]   |             ^^^^^  ^^^^^        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `frunk::traits::ToMut`
[INFO] [stdout]  --> src/layers/variable.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use frunk::traits::ToMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `frunk::traits::ToMut`
[INFO] [stdout]  --> src/layers/placeholder.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use frunk::traits::ToMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `frunk::traits::ToMut`
[INFO] [stdout]  --> src/layers/relu.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use frunk::traits::ToMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `frunk::traits::ToMut`
[INFO] [stdout]  --> src/layers/softmax_cross_entropy.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use frunk::traits::ToMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/layers/softmax_cross_entropy.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 | /         /**
[INFO] [stdout] 25 | |          * TODO: doutが1の時しか正常に動かない
[INFO] [stdout] 26 | |          * またdtは正常な値でない
[INFO] [stdout] 27 | |          */
[INFO] [stdout]    | |___________^
[INFO] [stdout] 28 | /         (
[INFO] [stdout] 29 | |             record! {
[INFO] [stdout] 30 | |                 x: dx,
[INFO] [stdout] 31 | |                 t: Array2::zeros((0,0))
[INFO] [stdout] 32 | |             },
[INFO] [stdout] 33 | |             HNil,
[INFO] [stdout] 34 | |         )
[INFO] [stdout]    | |_________- rustdoc does not generate documentation for expressions
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `/* */` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `frunk::traits::ToMut`
[INFO] [stdout]  --> src/layers/convolution.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use frunk::traits::ToMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `frunk::traits::ToMut`
[INFO] [stdout]  --> src/layers/pooling.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use frunk::traits::ToMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `frunk::traits::ToMut`
[INFO] [stdout]  --> src/layers/n_dim_to_2dim.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use frunk::traits::ToMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `frunk::traits::ToMut`
[INFO] [stdout]  --> src/layer.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use frunk::traits::ToMut;
[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 import: `frunk::traits::ToMut`
[INFO] [stdout]  --> src/layers/affine.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use frunk::traits::ToMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Hlist`, `field`, and `hlist`
[INFO] [stdout]  --> src/layers/affine.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use frunk::{field, hlist, HNil, Hlist};
[INFO] [stdout]   |             ^^^^^  ^^^^^        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `frunk::traits::ToMut`
[INFO] [stdout]  --> src/layers/variable.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use frunk::traits::ToMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `frunk::traits::ToMut`
[INFO] [stdout]  --> src/layers/placeholder.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use frunk::traits::ToMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `frunk::traits::ToMut`
[INFO] [stdout]  --> src/layers/relu.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use frunk::traits::ToMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `frunk::traits::ToMut`
[INFO] [stdout]  --> src/layers/softmax_cross_entropy.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use frunk::traits::ToMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/layers/softmax_cross_entropy.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 | /         /**
[INFO] [stdout] 25 | |          * TODO: doutが1の時しか正常に動かない
[INFO] [stdout] 26 | |          * またdtは正常な値でない
[INFO] [stdout] 27 | |          */
[INFO] [stdout]    | |___________^
[INFO] [stdout] 28 | /         (
[INFO] [stdout] 29 | |             record! {
[INFO] [stdout] 30 | |                 x: dx,
[INFO] [stdout] 31 | |                 t: Array2::zeros((0,0))
[INFO] [stdout] 32 | |             },
[INFO] [stdout] 33 | |             HNil,
[INFO] [stdout] 34 | |         )
[INFO] [stdout]    | |_________- rustdoc does not generate documentation for expressions
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `/* */` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `frunk::traits::ToMut`
[INFO] [stdout]  --> src/layers/convolution.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use frunk::traits::ToMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `frunk::traits::ToMut`
[INFO] [stdout]  --> src/layers/pooling.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use frunk::traits::ToMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `frunk::traits::ToMut`
[INFO] [stdout]  --> src/layers/n_dim_to_2dim.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use frunk::traits::ToMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ConcatToMutIsToMutConcat`
[INFO] [stdout]  --> src/layer.rs:1:56
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::hlist_extra::{Concat, ConcatIsInverseSplit, ConcatToMutIsToMutConcat, Split};
[INFO] [stdout]   |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `col_W` should have a snake case name
[INFO] [stdout]   --> src/layers/convolution.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub col_W: Array2<f32>,
[INFO] [stdout]    |         ^^^^^ help: convert the identifier to snake case (notice the capitalization): `col_w`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `FN` should have a snake case name
[INFO] [stdout]   --> src/layers/convolution.rs:30:14
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let (FN, C, FH, FW) = self.weight.dim();
[INFO] [stdout]    |              ^^
[INFO] [stdout]    |
[INFO] [stdout] help: rename the identifier or convert it to a snake case raw identifier
[INFO] [stdout]    |
[INFO] [stdout] 30 -         let (FN, C, FH, FW) = self.weight.dim();
[INFO] [stdout] 30 +         let (r#fn, C, FH, FW) = self.weight.dim();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C` should have a snake case name
[INFO] [stdout]   --> src/layers/convolution.rs:30:18
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let (FN, C, FH, FW) = self.weight.dim();
[INFO] [stdout]    |                  ^ help: convert the identifier to snake case (notice the capitalization): `c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `FH` should have a snake case name
[INFO] [stdout]   --> src/layers/convolution.rs:30:21
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let (FN, C, FH, FW) = self.weight.dim();
[INFO] [stdout]    |                     ^^ help: convert the identifier to snake case: `fh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `FW` should have a snake case name
[INFO] [stdout]   --> src/layers/convolution.rs:30:25
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let (FN, C, FH, FW) = self.weight.dim();
[INFO] [stdout]    |                         ^^ help: convert the identifier to snake case (notice the capitalization): `fw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `dW` should have a snake case name
[INFO] [stdout]   --> src/layers/convolution.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |         let dW = self.col.t().dot(&dout);
[INFO] [stdout]    |             ^^ help: convert the identifier to snake case: `d_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `dW` should have a snake case name
[INFO] [stdout]   --> src/layers/convolution.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |         let dW = dW.t().to_shared().reshape((FN, C, FH, FW)).to_owned();
[INFO] [stdout]    |             ^^ help: convert the identifier to snake case: `d_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `FN` should have a snake case name
[INFO] [stdout]   --> src/layers/convolution.rs:92:14
[INFO] [stdout]    |
[INFO] [stdout] 92 |         let (FN, _C, FH, FW) = weight.dim();
[INFO] [stdout]    |              ^^
[INFO] [stdout]    |
[INFO] [stdout] help: rename the identifier or convert it to a snake case raw identifier
[INFO] [stdout]    |
[INFO] [stdout] 92 -         let (FN, _C, FH, FW) = weight.dim();
[INFO] [stdout] 92 +         let (r#fn, _C, FH, FW) = weight.dim();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `_C` should have a snake case name
[INFO] [stdout]   --> src/layers/convolution.rs:92:18
[INFO] [stdout]    |
[INFO] [stdout] 92 |         let (FN, _C, FH, FW) = weight.dim();
[INFO] [stdout]    |                  ^^ help: convert the identifier to snake case (notice the capitalization): `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `FH` should have a snake case name
[INFO] [stdout]   --> src/layers/convolution.rs:92:22
[INFO] [stdout]    |
[INFO] [stdout] 92 |         let (FN, _C, FH, FW) = weight.dim();
[INFO] [stdout]    |                      ^^ help: convert the identifier to snake case: `fh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `FW` should have a snake case name
[INFO] [stdout]   --> src/layers/convolution.rs:92:26
[INFO] [stdout]    |
[INFO] [stdout] 92 |         let (FN, _C, FH, FW) = weight.dim();
[INFO] [stdout]    |                          ^^ help: convert the identifier to snake case (notice the capitalization): `fw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `N` should have a snake case name
[INFO] [stdout]   --> src/layers/convolution.rs:93:14
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let (N, C, H, W) = x.dim();
[INFO] [stdout]    |              ^ help: convert the identifier to snake case: `n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C` should have a snake case name
[INFO] [stdout]   --> src/layers/convolution.rs:93:17
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let (N, C, H, W) = x.dim();
[INFO] [stdout]    |                 ^ help: convert the identifier to snake case (notice the capitalization): `c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H` should have a snake case name
[INFO] [stdout]   --> src/layers/convolution.rs:93:20
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let (N, C, H, W) = x.dim();
[INFO] [stdout]    |                    ^ help: convert the identifier to snake case: `h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `W` should have a snake case name
[INFO] [stdout]   --> src/layers/convolution.rs:93:23
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let (N, C, H, W) = x.dim();
[INFO] [stdout]    |                       ^ help: convert the identifier to snake case (notice the capitalization): `w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `col_W` should have a snake case name
[INFO] [stdout]   --> src/layers/convolution.rs:98:13
[INFO] [stdout]    |
[INFO] [stdout] 98 |         let col_W = weight.to_shared().reshape((FN, C * FH * FW)).t().to_owned();
[INFO] [stdout]    |             ^^^^^ help: convert the identifier to snake case (notice the capitalization): `col_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `N` should have a snake case name
[INFO] [stdout]    --> src/layers/pooling.rs:112:14
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let (N, C, H, W) = x.dim();
[INFO] [stdout]     |              ^ help: convert the identifier to snake case: `n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C` should have a snake case name
[INFO] [stdout]    --> src/layers/pooling.rs:112:17
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let (N, C, H, W) = x.dim();
[INFO] [stdout]     |                 ^ help: convert the identifier to snake case (notice the capitalization): `c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H` should have a snake case name
[INFO] [stdout]    --> src/layers/pooling.rs:112:20
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let (N, C, H, W) = x.dim();
[INFO] [stdout]     |                    ^ help: convert the identifier to snake case: `h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `W` should have a snake case name
[INFO] [stdout]    --> src/layers/pooling.rs:112:23
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let (N, C, H, W) = x.dim();
[INFO] [stdout]     |                       ^ help: convert the identifier to snake case (notice the capitalization): `w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ConcatToMutIsToMutConcat`
[INFO] [stdout]  --> src/layer.rs:1:56
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::hlist_extra::{Concat, ConcatIsInverseSplit, ConcatToMutIsToMutConcat, Split};
[INFO] [stdout]   |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `col_W` should have a snake case name
[INFO] [stdout]   --> src/layers/convolution.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub col_W: Array2<f32>,
[INFO] [stdout]    |         ^^^^^ help: convert the identifier to snake case (notice the capitalization): `col_w`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `FN` should have a snake case name
[INFO] [stdout]   --> src/layers/convolution.rs:30:14
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let (FN, C, FH, FW) = self.weight.dim();
[INFO] [stdout]    |              ^^
[INFO] [stdout]    |
[INFO] [stdout] help: rename the identifier or convert it to a snake case raw identifier
[INFO] [stdout]    |
[INFO] [stdout] 30 -         let (FN, C, FH, FW) = self.weight.dim();
[INFO] [stdout] 30 +         let (r#fn, C, FH, FW) = self.weight.dim();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C` should have a snake case name
[INFO] [stdout]   --> src/layers/convolution.rs:30:18
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let (FN, C, FH, FW) = self.weight.dim();
[INFO] [stdout]    |                  ^ help: convert the identifier to snake case (notice the capitalization): `c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `FH` should have a snake case name
[INFO] [stdout]   --> src/layers/convolution.rs:30:21
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let (FN, C, FH, FW) = self.weight.dim();
[INFO] [stdout]    |                     ^^ help: convert the identifier to snake case: `fh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `FW` should have a snake case name
[INFO] [stdout]   --> src/layers/convolution.rs:30:25
[INFO] [stdout]    |
[INFO] [stdout] 30 |         let (FN, C, FH, FW) = self.weight.dim();
[INFO] [stdout]    |                         ^^ help: convert the identifier to snake case (notice the capitalization): `fw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `dW` should have a snake case name
[INFO] [stdout]   --> src/layers/convolution.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |         let dW = self.col.t().dot(&dout);
[INFO] [stdout]    |             ^^ help: convert the identifier to snake case: `d_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `dW` should have a snake case name
[INFO] [stdout]   --> src/layers/convolution.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |         let dW = dW.t().to_shared().reshape((FN, C, FH, FW)).to_owned();
[INFO] [stdout]    |             ^^ help: convert the identifier to snake case: `d_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `FN` should have a snake case name
[INFO] [stdout]   --> src/layers/convolution.rs:92:14
[INFO] [stdout]    |
[INFO] [stdout] 92 |         let (FN, _C, FH, FW) = weight.dim();
[INFO] [stdout]    |              ^^
[INFO] [stdout]    |
[INFO] [stdout] help: rename the identifier or convert it to a snake case raw identifier
[INFO] [stdout]    |
[INFO] [stdout] 92 -         let (FN, _C, FH, FW) = weight.dim();
[INFO] [stdout] 92 +         let (r#fn, _C, FH, FW) = weight.dim();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `_C` should have a snake case name
[INFO] [stdout]   --> src/layers/convolution.rs:92:18
[INFO] [stdout]    |
[INFO] [stdout] 92 |         let (FN, _C, FH, FW) = weight.dim();
[INFO] [stdout]    |                  ^^ help: convert the identifier to snake case (notice the capitalization): `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `FH` should have a snake case name
[INFO] [stdout]   --> src/layers/convolution.rs:92:22
[INFO] [stdout]    |
[INFO] [stdout] 92 |         let (FN, _C, FH, FW) = weight.dim();
[INFO] [stdout]    |                      ^^ help: convert the identifier to snake case: `fh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `FW` should have a snake case name
[INFO] [stdout]   --> src/layers/convolution.rs:92:26
[INFO] [stdout]    |
[INFO] [stdout] 92 |         let (FN, _C, FH, FW) = weight.dim();
[INFO] [stdout]    |                          ^^ help: convert the identifier to snake case (notice the capitalization): `fw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `N` should have a snake case name
[INFO] [stdout]   --> src/layers/convolution.rs:93:14
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let (N, C, H, W) = x.dim();
[INFO] [stdout]    |              ^ help: convert the identifier to snake case: `n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C` should have a snake case name
[INFO] [stdout]   --> src/layers/convolution.rs:93:17
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let (N, C, H, W) = x.dim();
[INFO] [stdout]    |                 ^ help: convert the identifier to snake case (notice the capitalization): `c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H` should have a snake case name
[INFO] [stdout]   --> src/layers/convolution.rs:93:20
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let (N, C, H, W) = x.dim();
[INFO] [stdout]    |                    ^ help: convert the identifier to snake case: `h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `W` should have a snake case name
[INFO] [stdout]   --> src/layers/convolution.rs:93:23
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let (N, C, H, W) = x.dim();
[INFO] [stdout]    |                       ^ help: convert the identifier to snake case (notice the capitalization): `w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `col_W` should have a snake case name
[INFO] [stdout]   --> src/layers/convolution.rs:98:13
[INFO] [stdout]    |
[INFO] [stdout] 98 |         let col_W = weight.to_shared().reshape((FN, C * FH * FW)).t().to_owned();
[INFO] [stdout]    |             ^^^^^ help: convert the identifier to snake case (notice the capitalization): `col_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `N` should have a snake case name
[INFO] [stdout]    --> src/layers/pooling.rs:112:14
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let (N, C, H, W) = x.dim();
[INFO] [stdout]     |              ^ help: convert the identifier to snake case: `n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C` should have a snake case name
[INFO] [stdout]    --> src/layers/pooling.rs:112:17
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let (N, C, H, W) = x.dim();
[INFO] [stdout]     |                 ^ help: convert the identifier to snake case (notice the capitalization): `c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `H` should have a snake case name
[INFO] [stdout]    --> src/layers/pooling.rs:112:20
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let (N, C, H, W) = x.dim();
[INFO] [stdout]     |                    ^ help: convert the identifier to snake case: `h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `W` should have a snake case name
[INFO] [stdout]    --> src/layers/pooling.rs:112:23
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let (N, C, H, W) = x.dim();
[INFO] [stdout]     |                       ^ help: convert the identifier to snake case (notice the capitalization): `w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LabelledBackwards`
[INFO] [stdout]   --> src/main.rs:13:32
[INFO] [stdout]    |
[INFO] [stdout] 13 | use zero_dl::layer::{Backward, LabelledBackwards, LabelledLayers, Layer, UnconnectedLayer};
[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 import: `LabelledLayers`
[INFO] [stdout]   --> src/main.rs:13:51
[INFO] [stdout]    |
[INFO] [stdout] 13 | use zero_dl::layer::{Backward, LabelledBackwards, LabelledLayers, Layer, UnconnectedLayer};
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |     let mut variables = softmax_with_loss.initial_variables();
[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: `learning_rate`
[INFO] [stdout]    --> src/main.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 116 |     let learning_rate = 0.1;
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_learning_rate`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dvariables`
[INFO] [stdout]    --> src/main.rs:132:13
[INFO] [stdout]     |
[INFO] [stdout] 132 |         let dvariables = backward.backward(1.);
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dvariables`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LabelledBackwards`
[INFO] [stdout]   --> src/main.rs:13:32
[INFO] [stdout]    |
[INFO] [stdout] 13 | use zero_dl::layer::{Backward, LabelledBackwards, LabelledLayers, Layer, UnconnectedLayer};
[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 import: `LabelledLayers`
[INFO] [stdout]   --> src/main.rs:13:51
[INFO] [stdout]    |
[INFO] [stdout] 13 | use zero_dl::layer::{Backward, LabelledBackwards, LabelledLayers, Layer, UnconnectedLayer};
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |     let mut variables = softmax_with_loss.initial_variables();
[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: `learning_rate`
[INFO] [stdout]    --> src/main.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 116 |     let learning_rate = 0.1;
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_learning_rate`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dvariables`
[INFO] [stdout]    --> src/main.rs:132:13
[INFO] [stdout]     |
[INFO] [stdout] 132 |         let dvariables = backward.backward(1.);
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dvariables`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 36.65s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: svg v0.7.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 11`
[INFO] running `Command { std: "docker" "inspect" "802af2f13ae1b335b92c54483f03cee8bbfd311344af1378e85edaf67747cdf3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "802af2f13ae1b335b92c54483f03cee8bbfd311344af1378e85edaf67747cdf3", kill_on_drop: false }`
[INFO] [stdout] 802af2f13ae1b335b92c54483f03cee8bbfd311344af1378e85edaf67747cdf3
