[INFO] fetching crate dfdx 0.13.0...
[INFO] checking dfdx-0.13.0 against 1.95.0 for pr-155915
[INFO] extracting crate dfdx 0.13.0 into /workspace/builds/worker-6-tc1/source
[INFO] started tweaking crates.io crate dfdx 0.13.0
[INFO] finished tweaking crates.io crate dfdx 0.13.0
[INFO] tweaked toml for crates.io crate dfdx 0.13.0 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate dfdx 0.13.0 on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate dfdx 0.13.0 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" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded mnist v0.5.0
[INFO] [stderr]   Downloaded safetensors v0.3.1
[INFO] [stderr]   Downloaded dyn-stack v0.9.0
[INFO] [stderr]   Downloaded gemm-f32 v0.15.3
[INFO] [stderr]   Downloaded reborrow v0.5.4
[INFO] [stderr]   Downloaded gemm-f64 v0.15.3
[INFO] [stderr]   Downloaded seq-macro v0.3.3
[INFO] [stderr]   Downloaded gemm-c32 v0.15.3
[INFO] [stderr]   Downloaded gemm-common v0.15.3
[INFO] [stderr]   Downloaded gemm-c64 v0.15.3
[INFO] [stderr]   Downloaded serde_derive v1.0.162
[INFO] [stderr]   Downloaded gemm-f16 v0.15.3
[INFO] [stderr]   Downloaded gemm v0.15.4
[INFO] [stderr]   Downloaded console v0.15.5
[INFO] [stderr]   Downloaded half v2.3.1
[INFO] [stderr]   Downloaded indicatif v0.17.3
[INFO] [stderr]   Downloaded hashbrown v0.8.2
[INFO] [stderr]   Downloaded portable-atomic v0.3.19
[INFO] [stderr]   Downloaded portable-atomic v1.2.0
[INFO] [stderr]   Downloaded cudarc v0.9.13
[INFO] [stderr]   Downloaded libm v0.2.7
[INFO] [stderr]   Downloaded serde v1.0.162
[INFO] [stderr]   Downloaded rustix v0.37.19
[INFO] [stderr]   Downloaded linux-raw-sys v0.3.7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 89e165abea4afa5be411298b66593f838775dc95a40af3289a0d7c30f2a602bb
[INFO] running `Command { std: "docker" "start" "-a" "89e165abea4afa5be411298b66593f838775dc95a40af3289a0d7c30f2a602bb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "89e165abea4afa5be411298b66593f838775dc95a40af3289a0d7c30f2a602bb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "89e165abea4afa5be411298b66593f838775dc95a40af3289a0d7c30f2a602bb", kill_on_drop: false }`
[INFO] [stdout] 89e165abea4afa5be411298b66593f838775dc95a40af3289a0d7c30f2a602bb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 97fe210a0ced81a9a61a2c3d235c744f345f470acb974bb9b2a106a8053c7c66
[INFO] running `Command { std: "docker" "start" "-a" "97fe210a0ced81a9a61a2c3d235c744f345f470acb974bb9b2a106a8053c7c66", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.142
[INFO] [stderr]    Compiling crossbeam-utils v0.8.15
[INFO] [stderr]    Compiling memoffset v0.8.0
[INFO] [stderr]    Compiling libm v0.2.7
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.14
[INFO] [stderr]    Compiling rayon-core v1.11.0
[INFO] [stderr]    Compiling paste v1.0.12
[INFO] [stderr]     Checking reborrow v0.5.4
[INFO] [stderr]     Checking bytemuck v1.13.1
[INFO] [stderr]     Checking either v1.8.1
[INFO] [stderr]     Checking raw-cpuid v10.7.0
[INFO] [stderr]    Compiling seq-macro v0.3.3
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking crossbeam-channel v0.5.8
[INFO] [stderr]     Checking dyn-stack v0.9.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.17
[INFO] [stderr]     Checking crossbeam-deque v0.8.3
[INFO] [stderr]    Compiling io-lifetimes v1.0.10
[INFO] [stderr]    Compiling portable-atomic v0.3.19
[INFO] [stderr]    Compiling rustix v0.37.19
[INFO] [stderr]    Compiling dfdx v0.13.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking linux-raw-sys v0.3.7
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking mnist v0.5.0
[INFO] [stderr]     Checking num-complex v0.4.3
[INFO] [stderr]     Checking half v2.3.1
[INFO] [stderr]     Checking rand_distr v0.4.3
[INFO] [stderr]     Checking num_cpus v1.15.0
[INFO] [stderr]     Checking console v0.15.5
[INFO] [stderr]     Checking indicatif v0.17.3
[INFO] [stderr]     Checking rayon v1.7.0
[INFO] [stderr]     Checking tempfile v3.5.0
[INFO] [stderr]     Checking gemm-common v0.15.3
[INFO] [stderr]     Checking gemm-f32 v0.15.3
[INFO] [stderr]     Checking gemm-c32 v0.15.3
[INFO] [stderr]     Checking gemm-f64 v0.15.3
[INFO] [stderr]     Checking gemm-c64 v0.15.3
[INFO] [stderr]     Checking gemm-f16 v0.15.3
[INFO] [stderr]     Checking gemm v0.15.4
[INFO] [stdout] warning: use of deprecated function `std::arch::x86_64::_MM_SET_FLUSH_ZERO_MODE`: see `_mm_setcsr` documentation - use inline assembly instead
[INFO] [stdout]    --> src/lib.rs:221:18
[INFO] [stdout]     |
[INFO] [stdout] 221 |         unsafe { _MM_SET_FLUSH_ZERO_MODE(_MM_FLUSH_ZERO_ON) }
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::arch::x86_64::_MM_SET_FLUSH_ZERO_MODE`: see `_mm_setcsr` documentation - use inline assembly instead
[INFO] [stdout]    --> src/lib.rs:220:52
[INFO] [stdout]     |
[INFO] [stdout] 220 |         use std::arch::x86_64::{_MM_FLUSH_ZERO_ON, _MM_SET_FLUSH_ZERO_MODE};
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::arch::x86_64::_MM_SET_FLUSH_ZERO_MODE`: see `_mm_setcsr` documentation - use inline assembly instead
[INFO] [stdout]    --> src/lib.rs:240:18
[INFO] [stdout]     |
[INFO] [stdout] 240 |         unsafe { _MM_SET_FLUSH_ZERO_MODE(_MM_FLUSH_ZERO_OFF) }
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::arch::x86_64::_MM_SET_FLUSH_ZERO_MODE`: see `_mm_setcsr` documentation - use inline assembly instead
[INFO] [stdout]    --> src/lib.rs:239:53
[INFO] [stdout]     |
[INFO] [stdout] 239 |         use std::arch::x86_64::{_MM_FLUSH_ZERO_OFF, _MM_SET_FLUSH_ZERO_MODE};
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::to_device::*`
[INFO] [stdout]  --> src/nn/module.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use super::to_device::*;
[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: `FromPrimitive`
[INFO] [stdout]    --> src/lib.rs:246:33
[INFO] [stdout]     |
[INFO] [stdout] 246 |     pub use num_traits::{Float, FromPrimitive, NumCast, Zero};
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::arch::x86_64::_MM_SET_FLUSH_ZERO_MODE`: see `_mm_setcsr` documentation - use inline assembly instead
[INFO] [stdout]    --> src/lib.rs:221:18
[INFO] [stdout]     |
[INFO] [stdout] 221 |         unsafe { _MM_SET_FLUSH_ZERO_MODE(_MM_FLUSH_ZERO_ON) }
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::arch::x86_64::_MM_SET_FLUSH_ZERO_MODE`: see `_mm_setcsr` documentation - use inline assembly instead
[INFO] [stdout]    --> src/lib.rs:220:52
[INFO] [stdout]     |
[INFO] [stdout] 220 |         use std::arch::x86_64::{_MM_FLUSH_ZERO_ON, _MM_SET_FLUSH_ZERO_MODE};
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::arch::x86_64::_MM_SET_FLUSH_ZERO_MODE`: see `_mm_setcsr` documentation - use inline assembly instead
[INFO] [stdout]    --> src/lib.rs:240:18
[INFO] [stdout]     |
[INFO] [stdout] 240 |         unsafe { _MM_SET_FLUSH_ZERO_MODE(_MM_FLUSH_ZERO_OFF) }
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `std::arch::x86_64::_MM_SET_FLUSH_ZERO_MODE`: see `_mm_setcsr` documentation - use inline assembly instead
[INFO] [stdout]    --> src/lib.rs:239:53
[INFO] [stdout]     |
[INFO] [stdout] 239 |         use std::arch::x86_64::{_MM_FLUSH_ZERO_OFF, _MM_SET_FLUSH_ZERO_MODE};
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Flatten2D` is never constructed
[INFO] [stdout]   --> src/nn/flatten.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Flatten2D;
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AvgPool2D` is never constructed
[INFO] [stdout]   --> src/nn/pool2d.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct AvgPool2D<
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MaxPool2D` is never constructed
[INFO] [stdout]   --> src/nn/pool2d.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct MaxPool2D<
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MinPool2D` is never constructed
[INFO] [stdout]   --> src/nn/pool2d.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct MinPool2D<
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Upscale2DBy` is never constructed
[INFO] [stdout]   --> src/nn/upscale.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct Upscale2DBy<const H: usize, const W: usize = H, M: UpscaleMethod = NearestNeighbor>(M);
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AsVec` is never used
[INFO] [stdout]   --> src/tensor/storage_traits.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub trait AsVec<E> {
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/nn/tensor_collection/collection.rs:69:15
[INFO] [stdout]    |
[INFO] [stdout] 69 |         name: &str,
[INFO] [stdout]    |               ^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 72 |     ) -> ModuleField<F1, F2, Self, Field>
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 72 |     ) -> ModuleField<'_, F1, F2, Self, Field>
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/nn/tensor_collection/collection.rs:91:15
[INFO] [stdout]    |
[INFO] [stdout] 91 |         name: &str,
[INFO] [stdout]    |               ^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 95 |     ) -> TensorField<F1, F2, Self, S, E, D>
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 95 |     ) -> TensorField<'_, F1, F2, Self, S, E, D>
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/nn/tensor_collection/collection.rs:114:15
[INFO] [stdout]     |
[INFO] [stdout] 114 |         name: &str,
[INFO] [stdout]     |               ^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 118 |     ) -> ScalarField<F1, F2, Self, N>
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 118 |     ) -> ScalarField<'_, F1, F2, Self, N>
[INFO] [stdout]     |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/tensor/cpu/iterate.rs:130:24
[INFO] [stdout]     |
[INFO] [stdout] 130 |     pub(crate) fn iter(&self) -> StridedRefIter<S, E> {
[INFO] [stdout]     |                        ^^^^^     ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 130 |     pub(crate) fn iter(&self) -> StridedRefIter<'_, S, E> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/tensor/cpu/iterate.rs:138:28
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub(crate) fn iter_mut(&mut self) -> StridedMutIter<S, E> {
[INFO] [stdout]     |                            ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub(crate) fn iter_mut(&mut self) -> StridedMutIter<'_, S, E> {
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/tensor/cpu/iterate.rs:146:35
[INFO] [stdout]     |
[INFO] [stdout] 146 |     pub(crate) fn iter_with_index(&self) -> StridedRefIndexIter<S, E> {
[INFO] [stdout]     |                                   ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 146 |     pub(crate) fn iter_with_index(&self) -> StridedRefIndexIter<'_, S, E> {
[INFO] [stdout]     |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/tensor/cpu/iterate.rs:154:39
[INFO] [stdout]     |
[INFO] [stdout] 154 |     pub(crate) fn iter_mut_with_index(&mut self) -> StridedMutIndexIter<S, E> {
[INFO] [stdout]     |                                       ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 154 |     pub(crate) fn iter_mut_with_index(&mut self) -> StridedMutIndexIter<'_, S, E> {
[INFO] [stdout]     |                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Flatten2D` is never constructed
[INFO] [stdout]   --> src/nn/flatten.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct Flatten2D;
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AvgPool2D` is never constructed
[INFO] [stdout]   --> src/nn/pool2d.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct AvgPool2D<
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MaxPool2D` is never constructed
[INFO] [stdout]   --> src/nn/pool2d.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct MaxPool2D<
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MinPool2D` is never constructed
[INFO] [stdout]   --> src/nn/pool2d.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct MinPool2D<
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Upscale2DBy` is never constructed
[INFO] [stdout]   --> src/nn/upscale.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct Upscale2DBy<const H: usize, const W: usize = H, M: UpscaleMethod = NearestNeighbor>(M);
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AsVec` is never used
[INFO] [stdout]   --> src/tensor/storage_traits.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub trait AsVec<E> {
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `assert_close` is never used
[INFO] [stdout]    --> src/lib.rs:284:12
[INFO] [stdout]     |
[INFO] [stdout] 273 |     pub trait AssertClose {
[INFO] [stdout]     |               ----------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 284 |         fn assert_close(&self, rhs: &Self, tolerance: Self::Elem)
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/nn/tensor_collection/collection.rs:69:15
[INFO] [stdout]    |
[INFO] [stdout] 69 |         name: &str,
[INFO] [stdout]    |               ^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 72 |     ) -> ModuleField<F1, F2, Self, Field>
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 72 |     ) -> ModuleField<'_, F1, F2, Self, Field>
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/nn/tensor_collection/collection.rs:91:15
[INFO] [stdout]    |
[INFO] [stdout] 91 |         name: &str,
[INFO] [stdout]    |               ^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 95 |     ) -> TensorField<F1, F2, Self, S, E, D>
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 95 |     ) -> TensorField<'_, F1, F2, Self, S, E, D>
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/nn/tensor_collection/collection.rs:114:15
[INFO] [stdout]     |
[INFO] [stdout] 114 |         name: &str,
[INFO] [stdout]     |               ^^^^ the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 118 |     ) -> ScalarField<F1, F2, Self, N>
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 118 |     ) -> ScalarField<'_, F1, F2, Self, N>
[INFO] [stdout]     |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/tensor/cpu/iterate.rs:130:24
[INFO] [stdout]     |
[INFO] [stdout] 130 |     pub(crate) fn iter(&self) -> StridedRefIter<S, E> {
[INFO] [stdout]     |                        ^^^^^     ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 130 |     pub(crate) fn iter(&self) -> StridedRefIter<'_, S, E> {
[INFO] [stdout]     |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/tensor/cpu/iterate.rs:138:28
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub(crate) fn iter_mut(&mut self) -> StridedMutIter<S, E> {
[INFO] [stdout]     |                            ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub(crate) fn iter_mut(&mut self) -> StridedMutIter<'_, S, E> {
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/tensor/cpu/iterate.rs:146:35
[INFO] [stdout]     |
[INFO] [stdout] 146 |     pub(crate) fn iter_with_index(&self) -> StridedRefIndexIter<S, E> {
[INFO] [stdout]     |                                   ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 146 |     pub(crate) fn iter_with_index(&self) -> StridedRefIndexIter<'_, S, E> {
[INFO] [stdout]     |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/tensor/cpu/iterate.rs:154:39
[INFO] [stdout]     |
[INFO] [stdout] 154 |     pub(crate) fn iter_mut_with_index(&mut self) -> StridedMutIndexIter<S, E> {
[INFO] [stdout]     |                                       ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 154 |     pub(crate) fn iter_mut_with_index(&mut self) -> StridedMutIndexIter<'_, S, E> {
[INFO] [stdout]     |                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 32.47s
[INFO] running `Command { std: "docker" "inspect" "97fe210a0ced81a9a61a2c3d235c744f345f470acb974bb9b2a106a8053c7c66", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "97fe210a0ced81a9a61a2c3d235c744f345f470acb974bb9b2a106a8053c7c66", kill_on_drop: false }`
[INFO] [stdout] 97fe210a0ced81a9a61a2c3d235c744f345f470acb974bb9b2a106a8053c7c66
