[INFO] fetching crate rest_tensors 0.1.1...
[INFO] testing rest_tensors-0.1.1 against 1.90.0 for beta-1.91-3
[INFO] extracting crate rest_tensors 0.1.1 into /workspace/builds/worker-2-tc1/source
[INFO] started tweaking crates.io crate rest_tensors 0.1.1
[INFO] finished tweaking crates.io crate rest_tensors 0.1.1
[INFO] tweaked toml for crates.io crate rest_tensors 0.1.1 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate rest_tensors 0.1.1 on toolchain 1.90.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 90 packages to latest compatible versions
[INFO] [stderr]       Adding blas v0.22.0 (available: v0.23.0)
[INFO] [stderr]       Adding blas-sys v0.7.1 (available: v0.9.0)
[INFO] [stderr]       Adding criterion v0.4.0 (available: v0.7.0)
[INFO] [stderr]       Adding itertools v0.10.5 (available: v0.14.0)
[INFO] [stderr]       Adding lapack v0.19.0 (available: v0.20.0)
[INFO] [stderr]       Adding lapack-sys v0.14.0 (available: v0.15.0)
[INFO] [stderr]       Adding nalgebra v0.31.4 (available: v0.34.1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded simba v0.7.3
[INFO] [stderr]   Downloaded blas-sys v0.7.1
[INFO] [stderr]   Downloaded blas v0.22.0
[INFO] [stderr]   Downloaded lapack v0.19.0
[INFO] [stderr]   Downloaded criterion v0.4.0
[INFO] [stderr]   Downloaded nalgebra v0.31.4
[INFO] [stderr]   Downloaded lapack-sys v0.14.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 593181d4dcb6fc1e3578e81fe87699d97ee72ba94cb5f0133b672df025b33a08
[INFO] running `Command { std: "docker" "start" "-a" "593181d4dcb6fc1e3578e81fe87699d97ee72ba94cb5f0133b672df025b33a08", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "593181d4dcb6fc1e3578e81fe87699d97ee72ba94cb5f0133b672df025b33a08", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "593181d4dcb6fc1e3578e81fe87699d97ee72ba94cb5f0133b672df025b33a08", kill_on_drop: false }`
[INFO] [stdout] 593181d4dcb6fc1e3578e81fe87699d97ee72ba94cb5f0133b672df025b33a08
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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=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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d7729617d36a9413f11c003923f050133a3463f96904cfd67e749219c68d1595
[INFO] running `Command { std: "docker" "start" "-a" "d7729617d36a9413f11c003923f050133a3463f96904cfd67e749219c68d1595", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]    Compiling rawpointer v0.2.1
[INFO] [stderr]    Compiling safe_arch v0.7.4
[INFO] [stderr]    Compiling blas-sys v0.7.1
[INFO] [stderr]    Compiling lapack-sys v0.14.0
[INFO] [stderr]    Compiling wide v0.7.33
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling approx v0.5.1
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling blas v0.22.0
[INFO] [stderr]    Compiling lapack v0.19.0
[INFO] [stderr]    Compiling simba v0.7.3
[INFO] [stderr]    Compiling nalgebra-macros v0.1.0
[INFO] [stderr]    Compiling nalgebra v0.31.4
[INFO] [stderr]    Compiling rest_tensors v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:367:27
[INFO] [stdout]     |
[INFO] [stdout] 367 |     pub fn iter_submatrix(&self, x: Range<usize>, y: Range<usize>) ->  SubMatrixStepBy<slice::Iter<T>>{
[INFO] [stdout]     |                           ^^^^^ the lifetime is elided here                            -------------- 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] 367 |     pub fn iter_submatrix(&self, x: Range<usize>, y: Range<usize>) ->  SubMatrixStepBy<slice::Iter<'_, T>>{
[INFO] [stdout]     |                                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:371:31
[INFO] [stdout]     |
[INFO] [stdout] 371 |     pub fn get_submatrix<'a>(&'a self, x: Range<usize>, y: Range<usize>) -> SubMatrixFull<T> {
[INFO] [stdout]     |                               ^^ the lifetime is named here                 ---------------- 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: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 371 |     pub fn get_submatrix<'a>(&'a self, x: Range<usize>, y: Range<usize>) -> SubMatrixFull<'a, T> {
[INFO] [stdout]     |                                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:405:31
[INFO] [stdout]     |
[INFO] [stdout] 405 |     pub fn iter_submatrix_mut(&mut self, x: Range<usize>, y: Range<usize>) ->  SubMatrixStepBy<slice::IterMut<T>>{
[INFO] [stdout]     |                               ^^^^^^^^^ the lifetime is elided here                            ----------------- 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] 405 |     pub fn iter_submatrix_mut(&mut self, x: Range<usize>, y: Range<usize>) ->  SubMatrixStepBy<slice::IterMut<'_, T>>{
[INFO] [stdout]     |                                                                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:412:35
[INFO] [stdout]     |
[INFO] [stdout] 412 |     pub fn get_submatrix_mut<'a>(&'a mut self, x: Range<usize>, y: Range<usize>) -> SubMatrixFullMut<T> 
[INFO] [stdout]     |                                   ^^ the lifetime is named here                     ------------------- 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: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 412 |     pub fn get_submatrix_mut<'a>(&'a mut self, x: Range<usize>, y: Range<usize>) -> SubMatrixFullMut<'a, T> 
[INFO] [stdout]     |                                                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:425:24
[INFO] [stdout]     |
[INFO] [stdout] 425 |     pub fn iter_column(&self, y: usize) -> std::slice::Iter<T> {
[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] 425 |     pub fn iter_column(&self, y: usize) -> std::slice::Iter<'_, T> {
[INFO] [stdout]     |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:430:28
[INFO] [stdout]     |
[INFO] [stdout] 430 |     pub fn iter_column_mut(&mut self, y: usize) -> std::slice::IterMut<T> {
[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] 430 |     pub fn iter_column_mut(&mut self, y: usize) -> std::slice::IterMut<'_, T> {
[INFO] [stdout]     |                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:435:25
[INFO] [stdout]     |
[INFO] [stdout] 435 |     pub fn iter_columns(&self, range_column: Range<usize>) -> ChunksExact<T>{
[INFO] [stdout]     |                         ^^^^^ the lifetime is elided here     -------------- 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] 435 |     pub fn iter_columns(&self, range_column: Range<usize>) -> ChunksExact<'_, T>{
[INFO] [stdout]     |                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:441:29
[INFO] [stdout]     |
[INFO] [stdout] 441 |     pub fn iter_columns_mut(&mut self,range_column: Range<usize>) -> ChunksExactMut<T>{
[INFO] [stdout]     |                             ^^^^^^^^^ the lifetime is elided here    ----------------- 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] 441 |     pub fn iter_columns_mut(&mut self,range_column: Range<usize>) -> ChunksExactMut<'_, T>{
[INFO] [stdout]     |                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:447:30
[INFO] [stdout]     |
[INFO] [stdout] 447 |     pub fn iter_columns_full(&self) -> ChunksExact<T>{
[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] 447 |     pub fn iter_columns_full(&self) -> ChunksExact<'_, T>{
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:451:34
[INFO] [stdout]     |
[INFO] [stdout] 451 |     pub fn iter_columns_full_mut(&mut self) -> ChunksExactMut<T>{
[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] 451 |     pub fn iter_columns_full_mut(&mut self) -> ChunksExactMut<'_, T>{
[INFO] [stdout]     |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:460:21
[INFO] [stdout]     |
[INFO] [stdout] 460 |     pub fn iter_row(&self, x: usize) -> StepBy<std::slice::Iter<T>> {
[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] 460 |     pub fn iter_row(&self, x: usize) -> StepBy<std::slice::Iter<'_, T>> {
[INFO] [stdout]     |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:469:25
[INFO] [stdout]     |
[INFO] [stdout] 469 |     pub fn iter_row_mut(&mut self, x: usize) -> StepBy<std::slice::IterMut<T>> {
[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] 469 |     pub fn iter_row_mut(&mut self, x: usize) -> StepBy<std::slice::IterMut<'_, T>> {
[INFO] [stdout]     |                                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:479:22
[INFO] [stdout]     |
[INFO] [stdout] 479 |     pub fn iter_rows(&self, x: Range<usize>) -> SubMatrixStepBy<slice::Iter<T>>  {
[INFO] [stdout]     |                      ^^^^^ the lifetime is elided here          -------------- 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] 479 |     pub fn iter_rows(&self, x: Range<usize>) -> SubMatrixStepBy<slice::Iter<'_, T>>  {
[INFO] [stdout]     |                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:489:26
[INFO] [stdout]     |
[INFO] [stdout] 489 |     pub fn iter_rows_mut(&mut self, x: Range<usize>) -> SubMatrixStepBy<slice::IterMut<T>>  {
[INFO] [stdout]     |                          ^^^^^^^^^ the lifetime is elided here          ----------------- 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] 489 |     pub fn iter_rows_mut(&mut self, x: Range<usize>) -> SubMatrixStepBy<slice::IterMut<'_, T>>  {
[INFO] [stdout]     |                                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:494:31
[INFO] [stdout]     |
[INFO] [stdout] 494 |     pub fn iter_diagonal<'a>(&'a self) -> Option<StepBy<std::slice::Iter<T>>> {
[INFO] [stdout]     |                               ^^                        ------------------- the same lifetime is hidden here
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 494 |     pub fn iter_diagonal<'a>(&'a self) -> Option<StepBy<std::slice::Iter<'a, T>>> {
[INFO] [stdout]     |                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:502:35
[INFO] [stdout]     |
[INFO] [stdout] 502 |     pub fn iter_diagonal_mut<'a>(&'a mut self) -> Option<StepBy<std::slice::IterMut<T>>> {
[INFO] [stdout]     |                                   ^^ the lifetime is named here ---------------------- 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: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 502 |     pub fn iter_diagonal_mut<'a>(&'a mut self) -> Option<StepBy<std::slice::IterMut<'a, T>>> {
[INFO] [stdout]     |                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:511:34
[INFO] [stdout]     |
[INFO] [stdout] 511 |     pub fn iter_matrixupper<'a>(&'a self) -> Option<MatrixUpperStepBy<std::slice::Iter<T>>> {
[INFO] [stdout]     |                                  ^^ the lifetime is named here        ------------------- 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: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 511 |     pub fn iter_matrixupper<'a>(&'a self) -> Option<MatrixUpperStepBy<std::slice::Iter<'a, T>>> {
[INFO] [stdout]     |                                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:520:38
[INFO] [stdout]     |
[INFO] [stdout] 520 |     pub fn iter_matrixupper_mut<'a>(&'a mut self) -> Option<MatrixUpperStepBy<std::slice::IterMut<T>>> {
[INFO] [stdout]     |                                      ^^ the lifetime is named here            ---------------------- 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: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 520 |     pub fn iter_matrixupper_mut<'a>(&'a mut self) -> Option<MatrixUpperStepBy<std::slice::IterMut<'a, T>>> {
[INFO] [stdout]     |                                                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:650:36
[INFO] [stdout]     |
[INFO] [stdout] 650 |     pub fn get_diagonal_terms<'a>(&'a self) -> Option<Vec<&T>> {
[INFO] [stdout]     |                                    ^^                     -- the same lifetime is elided here
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 650 |     pub fn get_diagonal_terms<'a>(&'a self) -> Option<Vec<&'a T>> {
[INFO] [stdout]     |                                                            ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:681:34
[INFO] [stdout]     |
[INFO] [stdout] 681 |     pub fn to_matrixfullslicemut(&mut self) -> MatrixFullSliceMut<T> {
[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] 681 |     pub fn to_matrixfullslicemut(&mut self) -> MatrixFullSliceMut<'_, T> {
[INFO] [stdout]     |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:689:31
[INFO] [stdout]     |
[INFO] [stdout] 689 |     pub fn to_matrixfullslice(&self) -> MatrixFullSlice<T> {
[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] 689 |     pub fn to_matrixfullslice(&self) -> MatrixFullSlice<'_, T> {
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:697:39
[INFO] [stdout]     |
[INFO] [stdout] 697 |     pub fn to_matrixfullslice_columns(&self,range_columns: Range<usize>) -> SubMatrixFullSlice<T> {
[INFO] [stdout]     |                                       ^^^^^ the lifetime is elided here     --------------------- 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] 697 |     pub fn to_matrixfullslice_columns(&self,range_columns: Range<usize>) -> SubMatrixFullSlice<'_, T> {
[INFO] [stdout]     |                                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:712:28
[INFO] [stdout]     |
[INFO] [stdout] 712 |     pub fn par_iter_column(&self, j: usize) -> rayon::slice::Iter<T> {
[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] 712 |     pub fn par_iter_column(&self, j: usize) -> rayon::slice::Iter<'_, T> {
[INFO] [stdout]     |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:718:32
[INFO] [stdout]     |
[INFO] [stdout] 718 |     pub fn par_iter_column_mut(&mut self, j: usize) -> rayon::slice::IterMut<T> {
[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] 718 |     pub fn par_iter_column_mut(&mut self, j: usize) -> rayon::slice::IterMut<'_, T> {
[INFO] [stdout]     |                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:724:29
[INFO] [stdout]     |
[INFO] [stdout] 724 |     pub fn par_iter_columns(&self, range_column: Range<usize>) -> Option<rayon::slice::ChunksExact<T>>{
[INFO] [stdout]     |                             ^^^^^ the lifetime is elided here            ---------------------------- 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] 724 |     pub fn par_iter_columns(&self, range_column: Range<usize>) -> Option<rayon::slice::ChunksExact<'_, T>>{
[INFO] [stdout]     |                                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:732:33
[INFO] [stdout]     |
[INFO] [stdout] 732 |     pub fn par_iter_columns_mut(&mut self,range_column: Range<usize>) -> Option<rayon::slice::ChunksExactMut<T>>{
[INFO] [stdout]     |                                 ^^^^^^^^^ the lifetime is elided here           ------------------------------- 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] 732 |     pub fn par_iter_columns_mut(&mut self,range_column: Range<usize>) -> Option<rayon::slice::ChunksExactMut<'_, T>>{
[INFO] [stdout]     |                                                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:740:34
[INFO] [stdout]     |
[INFO] [stdout] 740 |     pub fn par_iter_columns_full(&self) -> rayon::slice::ChunksExact<T>{
[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] 740 |     pub fn par_iter_columns_full(&self) -> rayon::slice::ChunksExact<'_, T>{
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:744:38
[INFO] [stdout]     |
[INFO] [stdout] 744 |     pub fn par_iter_columns_full_mut(&mut self) -> rayon::slice::ChunksExactMut<T>{
[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] 744 |     pub fn par_iter_columns_full_mut(&mut self) -> rayon::slice::ChunksExactMut<'_, T>{
[INFO] [stdout]     |                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:868:31
[INFO] [stdout]     |
[INFO] [stdout] 868 |         let size = self.size().clone();
[INFO] [stdout]     |                               ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&T` instead of cloning the inner type
[INFO] [stdout]    --> src/matrix/matrixfull.rs:876:62
[INFO] [stdout]     |
[INFO] [stdout] 876 |                 let mut new_vec = matr.data.iter().map(|x| *x.clone()).collect::<Vec<T>>();
[INFO] [stdout]     |                                                              ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:884:31
[INFO] [stdout]     |
[INFO] [stdout] 884 |         let size = self.size().clone();
[INFO] [stdout]     |                               ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:900:34
[INFO] [stdout]     |
[INFO] [stdout] 900 |         let o_size = other.size().clone();
[INFO] [stdout]     |                                  ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&T` instead of cloning the inner type
[INFO] [stdout]    --> src/matrix/matrixfull.rs:912:92
[INFO] [stdout]     |
[INFO] [stdout] 912 |                 new_tensor.data.iter_mut().zip(matr.data.iter()).for_each(|(t,f)| {*t += *f.clone()});
[INFO] [stdout]     |                                                                                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:920:34
[INFO] [stdout]     |
[INFO] [stdout] 920 |         let o_size = other.size().clone();
[INFO] [stdout]     |                                  ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&T` instead of cloning the inner type
[INFO] [stdout]    --> src/matrix/matrixfull.rs:930:86
[INFO] [stdout]     |
[INFO] [stdout] 930 |                 self.data.iter_mut().zip(matr.data.iter()).for_each(|(t,f)| {*t += *f.clone()});
[INFO] [stdout]     |                                                                                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:940:36
[INFO] [stdout]     |
[INFO] [stdout] 940 |         let self_size = self.size().clone();
[INFO] [stdout]     |                                    ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&T` instead of cloning the inner type
[INFO] [stdout]    --> src/matrix/matrixfull.rs:951:92
[INFO] [stdout]     |
[INFO] [stdout] 951 |                 new_tensor.data.iter_mut().zip(matr.data.iter()).for_each(|(t,f)| {*t += *f.clone()});
[INFO] [stdout]     |                                                                                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:959:36
[INFO] [stdout]     |
[INFO] [stdout] 959 |         let self_size = self.size().clone();
[INFO] [stdout]     |                                    ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:976:33
[INFO] [stdout]     |
[INFO] [stdout] 976 |         let s_size = self.size().clone();
[INFO] [stdout]     |                                 ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:977:34
[INFO] [stdout]     |
[INFO] [stdout] 977 |         let o_size = other.size().clone();
[INFO] [stdout]     |                                  ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&T` instead of cloning the inner type
[INFO] [stdout]    --> src/matrix/matrixfull.rs:987:90
[INFO] [stdout]     |
[INFO] [stdout] 987 |                 s_matr.data.iter_mut().zip(o_matr.data.iter()).for_each(|(t,f)| {*t += *f.clone()});
[INFO] [stdout]     |                                                                                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&T` instead of cloning the inner type
[INFO] [stdout]    --> src/matrix/matrixfull.rs:993:91
[INFO] [stdout]     |
[INFO] [stdout] 993 |                 s_matr.data.iter_mut().zip(o_matr.data.iter()).for_each(|(t,f)| {**t += *f.clone()});
[INFO] [stdout]     |                                                                                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1044:33
[INFO] [stdout]      |
[INFO] [stdout] 1044 |         let s_size = self.size().clone();
[INFO] [stdout]      |                                 ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&T` instead of cloning the inner type
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1051:73
[INFO] [stdout]      |
[INFO] [stdout] 1051 |                 MatrixFull::from_vec(s_size, matr.data.iter().map(|x| *x.clone()).collect::<Vec<T>>()).unwrap()
[INFO] [stdout]      |                                                                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1074:34
[INFO] [stdout]      |
[INFO] [stdout] 1074 |         let o_size = other.size().clone();
[INFO] [stdout]      |                                  ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&T` instead of cloning the inner type
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1085:93
[INFO] [stdout]      |
[INFO] [stdout] 1085 |                 new_tensors.data.iter_mut().zip(matr.data.iter()).for_each(|(t,f)| {*t -= *f.clone()});
[INFO] [stdout]      |                                                                                             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1093:34
[INFO] [stdout]      |
[INFO] [stdout] 1093 |         let o_size = other.size().clone();
[INFO] [stdout]      |                                  ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&T` instead of cloning the inner type
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1103:86
[INFO] [stdout]      |
[INFO] [stdout] 1103 |                 self.data.iter_mut().zip(matr.data.iter()).for_each(|(t,f)| {*t -= *f.clone()});
[INFO] [stdout]      |                                                                                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1112:33
[INFO] [stdout]      |
[INFO] [stdout] 1112 |         let s_size = self.size().clone();
[INFO] [stdout]      |                                 ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&T` instead of cloning the inner type
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1123:92
[INFO] [stdout]      |
[INFO] [stdout] 1123 |                 new_tensor.data.iter_mut().zip(matr.data.iter()).for_each(|(t,f)| {*t = (*f.clone()-*t)});
[INFO] [stdout]      |                                                                                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1131:33
[INFO] [stdout]      |
[INFO] [stdout] 1131 |         let s_size = self.size().clone();
[INFO] [stdout]      |                                 ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1148:33
[INFO] [stdout]      |
[INFO] [stdout] 1148 |         let s_size = self.size().clone();
[INFO] [stdout]      |                                 ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1149:34
[INFO] [stdout]      |
[INFO] [stdout] 1149 |         let o_size = other.size().clone();
[INFO] [stdout]      |                                  ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&T` instead of cloning the inner type
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1159:90
[INFO] [stdout]      |
[INFO] [stdout] 1159 |                 s_matr.data.iter_mut().zip(o_matr.data.iter()).for_each(|(t,f)| {*t -= *f.clone()});
[INFO] [stdout]      |                                                                                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&T` instead of cloning the inner type
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1165:91
[INFO] [stdout]      |
[INFO] [stdout] 1165 |                 s_matr.data.iter_mut().zip(o_matr.data.iter()).for_each(|(t,f)| {**t -= *f.clone()});
[INFO] [stdout]      |                                                                                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1187:33
[INFO] [stdout]      |
[INFO] [stdout] 1187 |         let s_size = self.size().clone();
[INFO] [stdout]      |                                 ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&T` instead of cloning the inner type
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1194:73
[INFO] [stdout]      |
[INFO] [stdout] 1194 |                 MatrixFull::from_vec(s_size, matr.data.iter().map(|x| *x.clone()).collect::<Vec<T>>()).unwrap()
[INFO] [stdout]      |                                                                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1229:33
[INFO] [stdout]      |
[INFO] [stdout] 1229 |         let s_size = self.size().clone();
[INFO] [stdout]      |                                 ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&T` instead of cloning the inner type
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1236:73
[INFO] [stdout]      |
[INFO] [stdout] 1236 |                 MatrixFull::from_vec(s_size, matr.data.iter().map(|x| *x.clone()).collect::<Vec<T>>()).unwrap()
[INFO] [stdout]      |                                                                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/matrix/matrixfullslice.rs:57:23
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub fn iter_mut_j(&mut self, j: usize) -> std::slice::IterMut<T> {
[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] 57 |     pub fn iter_mut_j(&mut self, j: usize) -> std::slice::IterMut<'_, T> {
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/matrix/matrixfullslice.rs:63:27
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn par_iter_mut_j(&mut self, j: usize) -> rayon::slice::IterMut<T> {
[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] 63 |     pub fn par_iter_mut_j(&mut self, j: usize) -> rayon::slice::IterMut<'_, T> {
[INFO] [stdout]    |                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/matrix/matrixfullslice.rs:69:30
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn iter_columns_full(&self) -> ChunksExact<T>{
[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] 69 |     pub fn iter_columns_full(&self) -> ChunksExact<'_, T>{
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/matrix/matrixfullslice.rs:73:29
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub fn iter_mut_columns(&mut self,range_column: Range<usize>) -> Option<ChunksExactMut<T>>{
[INFO] [stdout]    |                             ^^^^^^^^^ the lifetime is elided here           ----------------- 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] 73 |     pub fn iter_mut_columns(&mut self,range_column: Range<usize>) -> Option<ChunksExactMut<'_, T>>{
[INFO] [stdout]    |                                                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfullslice.rs:132:19
[INFO] [stdout]     |
[INFO] [stdout] 132 |     pub fn iter_j(&self, j: usize) -> std::slice::Iter<T> {
[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] 132 |     pub fn iter_j(&self, j: usize) -> std::slice::Iter<'_, T> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfullslice.rs:138:30
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn iter_columns_full(&self) -> ChunksExact<T>{
[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 fn iter_columns_full(&self) -> ChunksExact<'_, T>{
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfullslice.rs:142:34
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub fn par_iter_columns_full(&self) -> rayon::slice::ChunksExact<T>{
[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] 142 |     pub fn par_iter_columns_full(&self) -> rayon::slice::ChunksExact<'_, T>{
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfullslice.rs:146:29
[INFO] [stdout]     |
[INFO] [stdout] 146 |     pub fn par_iter_columns(&self, range_column: Range<usize>) -> Option<rayon::slice::ChunksExact<T>>{
[INFO] [stdout]     |                             ^^^^^ the lifetime is elided here            ---------------------------- 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] 146 |     pub fn par_iter_columns(&self, range_column: Range<usize>) -> Option<rayon::slice::ChunksExact<'_, T>>{
[INFO] [stdout]     |                                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/matrix/matrixupper.rs:51:35
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn to_matrixupperslicemut(&mut self) -> MatrixUpperSliceMut<T> {
[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] 51 |     pub fn to_matrixupperslicemut(&mut self) -> MatrixUpperSliceMut<'_, T> {
[INFO] [stdout]    |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixupper.rs:270:34
[INFO] [stdout]     |
[INFO] [stdout] 270 |     pub fn iter_mut_columns_full(&mut self) -> std::slice::ChunksExactMut<&'a mut T>{
[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] 270 |     pub fn iter_mut_columns_full(&mut self) -> std::slice::ChunksExactMut<'_, &'a mut T>{
[INFO] [stdout]     |                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&T` instead of cloning the inner type
[INFO] [stdout]    --> src/matrix/submatrixfull.rs:117:44
[INFO] [stdout]     |
[INFO] [stdout] 117 |                 matr.data.iter().map(|x| *x.clone()).collect::<Vec<T>>()
[INFO] [stdout]     |                                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/matrix/submatrixfull.rs:142:45
[INFO] [stdout]     |
[INFO] [stdout] 142 |                 matr.data.iter().map(|x| **x.clone()).collect::<Vec<T>>()
[INFO] [stdout]     |                                             ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `T` does not implement `Clone`, so calling `clone` on `&T` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/eri.rs:99:36
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub fn get_reducing_matrix_mut(&mut self, i_reduced: &[usize;2]) -> MatrixFullSliceMut<T> {
[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] 99 |     pub fn get_reducing_matrix_mut(&mut self, i_reduced: &[usize;2]) -> MatrixFullSliceMut<'_, T> {
[INFO] [stdout]    |                                                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/eri.rs:112:32
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub fn get_reducing_matrix(&self, i_reduced: &[usize;2]) -> MatrixFullSlice<T> {
[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] 112 |     pub fn get_reducing_matrix(&self, i_reduced: &[usize;2]) -> MatrixFullSlice<'_, T> {
[INFO] [stdout]     |                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/eri.rs:217:36
[INFO] [stdout]     |
[INFO] [stdout] 217 |     pub fn get_reducing_matrix_mut(&mut self, i_reduced: usize) -> MatrixUpperSliceMut<T> {
[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] 217 |     pub fn get_reducing_matrix_mut(&mut self, i_reduced: usize) -> MatrixUpperSliceMut<'_, T> {
[INFO] [stdout]     |                                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/eri.rs:227:32
[INFO] [stdout]     |
[INFO] [stdout] 227 |     pub fn get_reducing_matrix(&self, i_reduced: usize) -> MatrixUpperSlice<T> {
[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] 227 |     pub fn get_reducing_matrix(&self, i_reduced: usize) -> MatrixUpperSlice<'_, T> {
[INFO] [stdout]     |                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ri.rs:70:36
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub fn get_reducing_matrix_mut(&mut self, i_reduced: usize) -> Option<MatrixFullSliceMut<T>> {
[INFO] [stdout]    |                                    ^^^^^^^^^ the lifetime is elided here  --------------------- 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] 70 |     pub fn get_reducing_matrix_mut(&mut self, i_reduced: usize) -> Option<MatrixFullSliceMut<'_, T>> {
[INFO] [stdout]    |                                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ri.rs:91:32
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn get_reducing_matrix(&self, i_reduced: usize) -> Option<MatrixFullSlice<T>> {
[INFO] [stdout]    |                                ^^^^^ the lifetime is elided here  ------------------ 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] 91 |     pub fn get_reducing_matrix(&self, i_reduced: usize) -> Option<MatrixFullSlice<'_, T>> {
[INFO] [stdout]    |                                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ri.rs:101:40
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn get_reducing_matrix_columns(&self, range_columns:Range<usize>, i_reduced: usize) -> Option<SubMatrixFullSlice<T>> {
[INFO] [stdout]     |                                        ^^^^^ the lifetime is elided here                              --------------------- 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] 101 |     pub fn get_reducing_matrix_columns(&self, range_columns:Range<usize>, i_reduced: usize) -> Option<SubMatrixFullSlice<'_, T>> {
[INFO] [stdout]     |                                                                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ri.rs:167:26
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub fn iter_slices_x(&self, y: usize, z: usize) -> std::slice::Iter<T> {
[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] 167 |     pub fn iter_slices_x(&self, y: usize, z: usize) -> std::slice::Iter<'_, T> {
[INFO] [stdout]     |                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ri.rs:173:30
[INFO] [stdout]     |
[INFO] [stdout] 173 |     pub fn par_iter_slices_x(&self, y: usize, z: usize) -> rayon::slice::Iter<T> {
[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] 173 |     pub fn par_iter_slices_x(&self, y: usize, z: usize) -> rayon::slice::Iter<'_, T> {
[INFO] [stdout]     |                                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ri.rs:179:28
[INFO] [stdout]     |
[INFO] [stdout] 179 |     pub fn iter_mut_auxbas(&mut self, auxbas_range: Range<usize>) -> Option<ChunksExactMut<T>> {
[INFO] [stdout]     |                            ^^^^^^^^^ the lifetime is elided here            ----------------- 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] 179 |     pub fn iter_mut_auxbas(&mut self, auxbas_range: Range<usize>) -> Option<ChunksExactMut<'_, T>> {
[INFO] [stdout]     |                                                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ri.rs:189:24
[INFO] [stdout]     |
[INFO] [stdout] 189 |     pub fn iter_auxbas(&self, auxbas_range: Range<usize>) -> Option<ChunksExact<T>> {
[INFO] [stdout]     |                        ^^^^^ the lifetime is elided here            -------------- 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] 189 |     pub fn iter_auxbas(&self, auxbas_range: Range<usize>) -> Option<ChunksExact<'_, T>> {
[INFO] [stdout]     |                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ri.rs:199:32
[INFO] [stdout]     |
[INFO] [stdout] 199 |     pub fn par_iter_mut_auxbas(&mut self, auxbas_range: Range<usize>) -> Option<rayon::slice::ChunksExactMut<T>> {
[INFO] [stdout]     |                                ^^^^^^^^^ the lifetime is elided here            ------------------------------- 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] 199 |     pub fn par_iter_mut_auxbas(&mut self, auxbas_range: Range<usize>) -> Option<rayon::slice::ChunksExactMut<'_, T>> {
[INFO] [stdout]     |                                                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ri.rs:209:28
[INFO] [stdout]     |
[INFO] [stdout] 209 |     pub fn par_iter_auxbas(&self, auxbas_range: Range<usize>) -> Option<rayon::slice::ChunksExact<T>> {
[INFO] [stdout]     |                            ^^^^^ the lifetime is elided here            ---------------------------- 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] 209 |     pub fn par_iter_auxbas(&self, auxbas_range: Range<usize>) -> Option<rayon::slice::ChunksExact<'_, T>> {
[INFO] [stdout]     |                                                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 23.01s
[INFO] running `Command { std: "docker" "inspect" "d7729617d36a9413f11c003923f050133a3463f96904cfd67e749219c68d1595", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d7729617d36a9413f11c003923f050133a3463f96904cfd67e749219c68d1595", kill_on_drop: false }`
[INFO] [stdout] d7729617d36a9413f11c003923f050133a3463f96904cfd67e749219c68d1595
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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=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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1b65b6984c956cc89b827027a65f19c7acde681400dc1f7c8b15a34dd9231ef9
[INFO] running `Command { std: "docker" "start" "-a" "1b65b6984c956cc89b827027a65f19c7acde681400dc1f7c8b15a34dd9231ef9", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling half v2.6.0
[INFO] [stderr]    Compiling os_str_bytes v6.6.1
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling textwrap v0.16.2
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling clap_lex v0.2.4
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling clap v3.2.25
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling approx v0.5.1
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling simba v0.7.3
[INFO] [stderr]    Compiling blas v0.22.0
[INFO] [stderr]    Compiling lapack v0.19.0
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling criterion v0.4.0
[INFO] [stderr]    Compiling nalgebra v0.31.4
[INFO] [stderr]    Compiling rest_tensors v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:367:27
[INFO] [stdout]     |
[INFO] [stdout] 367 |     pub fn iter_submatrix(&self, x: Range<usize>, y: Range<usize>) ->  SubMatrixStepBy<slice::Iter<T>>{
[INFO] [stdout]     |                           ^^^^^ the lifetime is elided here                            -------------- 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] 367 |     pub fn iter_submatrix(&self, x: Range<usize>, y: Range<usize>) ->  SubMatrixStepBy<slice::Iter<'_, T>>{
[INFO] [stdout]     |                                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:371:31
[INFO] [stdout]     |
[INFO] [stdout] 371 |     pub fn get_submatrix<'a>(&'a self, x: Range<usize>, y: Range<usize>) -> SubMatrixFull<T> {
[INFO] [stdout]     |                               ^^ the lifetime is named here                 ---------------- 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: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 371 |     pub fn get_submatrix<'a>(&'a self, x: Range<usize>, y: Range<usize>) -> SubMatrixFull<'a, T> {
[INFO] [stdout]     |                                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:405:31
[INFO] [stdout]     |
[INFO] [stdout] 405 |     pub fn iter_submatrix_mut(&mut self, x: Range<usize>, y: Range<usize>) ->  SubMatrixStepBy<slice::IterMut<T>>{
[INFO] [stdout]     |                               ^^^^^^^^^ the lifetime is elided here                            ----------------- 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] 405 |     pub fn iter_submatrix_mut(&mut self, x: Range<usize>, y: Range<usize>) ->  SubMatrixStepBy<slice::IterMut<'_, T>>{
[INFO] [stdout]     |                                                                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:412:35
[INFO] [stdout]     |
[INFO] [stdout] 412 |     pub fn get_submatrix_mut<'a>(&'a mut self, x: Range<usize>, y: Range<usize>) -> SubMatrixFullMut<T> 
[INFO] [stdout]     |                                   ^^ the lifetime is named here                     ------------------- 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: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 412 |     pub fn get_submatrix_mut<'a>(&'a mut self, x: Range<usize>, y: Range<usize>) -> SubMatrixFullMut<'a, T> 
[INFO] [stdout]     |                                                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:425:24
[INFO] [stdout]     |
[INFO] [stdout] 425 |     pub fn iter_column(&self, y: usize) -> std::slice::Iter<T> {
[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] 425 |     pub fn iter_column(&self, y: usize) -> std::slice::Iter<'_, T> {
[INFO] [stdout]     |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:430:28
[INFO] [stdout]     |
[INFO] [stdout] 430 |     pub fn iter_column_mut(&mut self, y: usize) -> std::slice::IterMut<T> {
[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] 430 |     pub fn iter_column_mut(&mut self, y: usize) -> std::slice::IterMut<'_, T> {
[INFO] [stdout]     |                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:435:25
[INFO] [stdout]     |
[INFO] [stdout] 435 |     pub fn iter_columns(&self, range_column: Range<usize>) -> ChunksExact<T>{
[INFO] [stdout]     |                         ^^^^^ the lifetime is elided here     -------------- 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] 435 |     pub fn iter_columns(&self, range_column: Range<usize>) -> ChunksExact<'_, T>{
[INFO] [stdout]     |                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:441:29
[INFO] [stdout]     |
[INFO] [stdout] 441 |     pub fn iter_columns_mut(&mut self,range_column: Range<usize>) -> ChunksExactMut<T>{
[INFO] [stdout]     |                             ^^^^^^^^^ the lifetime is elided here    ----------------- 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] 441 |     pub fn iter_columns_mut(&mut self,range_column: Range<usize>) -> ChunksExactMut<'_, T>{
[INFO] [stdout]     |                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:447:30
[INFO] [stdout]     |
[INFO] [stdout] 447 |     pub fn iter_columns_full(&self) -> ChunksExact<T>{
[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] 447 |     pub fn iter_columns_full(&self) -> ChunksExact<'_, T>{
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:451:34
[INFO] [stdout]     |
[INFO] [stdout] 451 |     pub fn iter_columns_full_mut(&mut self) -> ChunksExactMut<T>{
[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] 451 |     pub fn iter_columns_full_mut(&mut self) -> ChunksExactMut<'_, T>{
[INFO] [stdout]     |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:460:21
[INFO] [stdout]     |
[INFO] [stdout] 460 |     pub fn iter_row(&self, x: usize) -> StepBy<std::slice::Iter<T>> {
[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] 460 |     pub fn iter_row(&self, x: usize) -> StepBy<std::slice::Iter<'_, T>> {
[INFO] [stdout]     |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:469:25
[INFO] [stdout]     |
[INFO] [stdout] 469 |     pub fn iter_row_mut(&mut self, x: usize) -> StepBy<std::slice::IterMut<T>> {
[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] 469 |     pub fn iter_row_mut(&mut self, x: usize) -> StepBy<std::slice::IterMut<'_, T>> {
[INFO] [stdout]     |                                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:479:22
[INFO] [stdout]     |
[INFO] [stdout] 479 |     pub fn iter_rows(&self, x: Range<usize>) -> SubMatrixStepBy<slice::Iter<T>>  {
[INFO] [stdout]     |                      ^^^^^ the lifetime is elided here          -------------- 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] 479 |     pub fn iter_rows(&self, x: Range<usize>) -> SubMatrixStepBy<slice::Iter<'_, T>>  {
[INFO] [stdout]     |                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:489:26
[INFO] [stdout]     |
[INFO] [stdout] 489 |     pub fn iter_rows_mut(&mut self, x: Range<usize>) -> SubMatrixStepBy<slice::IterMut<T>>  {
[INFO] [stdout]     |                          ^^^^^^^^^ the lifetime is elided here          ----------------- 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] 489 |     pub fn iter_rows_mut(&mut self, x: Range<usize>) -> SubMatrixStepBy<slice::IterMut<'_, T>>  {
[INFO] [stdout]     |                                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:494:31
[INFO] [stdout]     |
[INFO] [stdout] 494 |     pub fn iter_diagonal<'a>(&'a self) -> Option<StepBy<std::slice::Iter<T>>> {
[INFO] [stdout]     |                               ^^                        ------------------- the same lifetime is hidden here
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 494 |     pub fn iter_diagonal<'a>(&'a self) -> Option<StepBy<std::slice::Iter<'a, T>>> {
[INFO] [stdout]     |                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:502:35
[INFO] [stdout]     |
[INFO] [stdout] 502 |     pub fn iter_diagonal_mut<'a>(&'a mut self) -> Option<StepBy<std::slice::IterMut<T>>> {
[INFO] [stdout]     |                                   ^^ the lifetime is named here ---------------------- 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: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 502 |     pub fn iter_diagonal_mut<'a>(&'a mut self) -> Option<StepBy<std::slice::IterMut<'a, T>>> {
[INFO] [stdout]     |                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:511:34
[INFO] [stdout]     |
[INFO] [stdout] 511 |     pub fn iter_matrixupper<'a>(&'a self) -> Option<MatrixUpperStepBy<std::slice::Iter<T>>> {
[INFO] [stdout]     |                                  ^^ the lifetime is named here        ------------------- 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: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 511 |     pub fn iter_matrixupper<'a>(&'a self) -> Option<MatrixUpperStepBy<std::slice::Iter<'a, T>>> {
[INFO] [stdout]     |                                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:520:38
[INFO] [stdout]     |
[INFO] [stdout] 520 |     pub fn iter_matrixupper_mut<'a>(&'a mut self) -> Option<MatrixUpperStepBy<std::slice::IterMut<T>>> {
[INFO] [stdout]     |                                      ^^ the lifetime is named here            ---------------------- 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: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 520 |     pub fn iter_matrixupper_mut<'a>(&'a mut self) -> Option<MatrixUpperStepBy<std::slice::IterMut<'a, T>>> {
[INFO] [stdout]     |                                                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:650:36
[INFO] [stdout]     |
[INFO] [stdout] 650 |     pub fn get_diagonal_terms<'a>(&'a self) -> Option<Vec<&T>> {
[INFO] [stdout]     |                                    ^^                     -- the same lifetime is elided here
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 650 |     pub fn get_diagonal_terms<'a>(&'a self) -> Option<Vec<&'a T>> {
[INFO] [stdout]     |                                                            ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:681:34
[INFO] [stdout]     |
[INFO] [stdout] 681 |     pub fn to_matrixfullslicemut(&mut self) -> MatrixFullSliceMut<T> {
[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] 681 |     pub fn to_matrixfullslicemut(&mut self) -> MatrixFullSliceMut<'_, T> {
[INFO] [stdout]     |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:689:31
[INFO] [stdout]     |
[INFO] [stdout] 689 |     pub fn to_matrixfullslice(&self) -> MatrixFullSlice<T> {
[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] 689 |     pub fn to_matrixfullslice(&self) -> MatrixFullSlice<'_, T> {
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:697:39
[INFO] [stdout]     |
[INFO] [stdout] 697 |     pub fn to_matrixfullslice_columns(&self,range_columns: Range<usize>) -> SubMatrixFullSlice<T> {
[INFO] [stdout]     |                                       ^^^^^ the lifetime is elided here     --------------------- 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] 697 |     pub fn to_matrixfullslice_columns(&self,range_columns: Range<usize>) -> SubMatrixFullSlice<'_, T> {
[INFO] [stdout]     |                                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:712:28
[INFO] [stdout]     |
[INFO] [stdout] 712 |     pub fn par_iter_column(&self, j: usize) -> rayon::slice::Iter<T> {
[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] 712 |     pub fn par_iter_column(&self, j: usize) -> rayon::slice::Iter<'_, T> {
[INFO] [stdout]     |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:718:32
[INFO] [stdout]     |
[INFO] [stdout] 718 |     pub fn par_iter_column_mut(&mut self, j: usize) -> rayon::slice::IterMut<T> {
[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] 718 |     pub fn par_iter_column_mut(&mut self, j: usize) -> rayon::slice::IterMut<'_, T> {
[INFO] [stdout]     |                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:724:29
[INFO] [stdout]     |
[INFO] [stdout] 724 |     pub fn par_iter_columns(&self, range_column: Range<usize>) -> Option<rayon::slice::ChunksExact<T>>{
[INFO] [stdout]     |                             ^^^^^ the lifetime is elided here            ---------------------------- 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] 724 |     pub fn par_iter_columns(&self, range_column: Range<usize>) -> Option<rayon::slice::ChunksExact<'_, T>>{
[INFO] [stdout]     |                                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:732:33
[INFO] [stdout]     |
[INFO] [stdout] 732 |     pub fn par_iter_columns_mut(&mut self,range_column: Range<usize>) -> Option<rayon::slice::ChunksExactMut<T>>{
[INFO] [stdout]     |                                 ^^^^^^^^^ the lifetime is elided here           ------------------------------- 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] 732 |     pub fn par_iter_columns_mut(&mut self,range_column: Range<usize>) -> Option<rayon::slice::ChunksExactMut<'_, T>>{
[INFO] [stdout]     |                                                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:740:34
[INFO] [stdout]     |
[INFO] [stdout] 740 |     pub fn par_iter_columns_full(&self) -> rayon::slice::ChunksExact<T>{
[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] 740 |     pub fn par_iter_columns_full(&self) -> rayon::slice::ChunksExact<'_, T>{
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:744:38
[INFO] [stdout]     |
[INFO] [stdout] 744 |     pub fn par_iter_columns_full_mut(&mut self) -> rayon::slice::ChunksExactMut<T>{
[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] 744 |     pub fn par_iter_columns_full_mut(&mut self) -> rayon::slice::ChunksExactMut<'_, T>{
[INFO] [stdout]     |                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:868:31
[INFO] [stdout]     |
[INFO] [stdout] 868 |         let size = self.size().clone();
[INFO] [stdout]     |                               ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&T` instead of cloning the inner type
[INFO] [stdout]    --> src/matrix/matrixfull.rs:876:62
[INFO] [stdout]     |
[INFO] [stdout] 876 |                 let mut new_vec = matr.data.iter().map(|x| *x.clone()).collect::<Vec<T>>();
[INFO] [stdout]     |                                                              ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:884:31
[INFO] [stdout]     |
[INFO] [stdout] 884 |         let size = self.size().clone();
[INFO] [stdout]     |                               ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:900:34
[INFO] [stdout]     |
[INFO] [stdout] 900 |         let o_size = other.size().clone();
[INFO] [stdout]     |                                  ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&T` instead of cloning the inner type
[INFO] [stdout]    --> src/matrix/matrixfull.rs:912:92
[INFO] [stdout]     |
[INFO] [stdout] 912 |                 new_tensor.data.iter_mut().zip(matr.data.iter()).for_each(|(t,f)| {*t += *f.clone()});
[INFO] [stdout]     |                                                                                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:920:34
[INFO] [stdout]     |
[INFO] [stdout] 920 |         let o_size = other.size().clone();
[INFO] [stdout]     |                                  ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&T` instead of cloning the inner type
[INFO] [stdout]    --> src/matrix/matrixfull.rs:930:86
[INFO] [stdout]     |
[INFO] [stdout] 930 |                 self.data.iter_mut().zip(matr.data.iter()).for_each(|(t,f)| {*t += *f.clone()});
[INFO] [stdout]     |                                                                                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:940:36
[INFO] [stdout]     |
[INFO] [stdout] 940 |         let self_size = self.size().clone();
[INFO] [stdout]     |                                    ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&T` instead of cloning the inner type
[INFO] [stdout]    --> src/matrix/matrixfull.rs:951:92
[INFO] [stdout]     |
[INFO] [stdout] 951 |                 new_tensor.data.iter_mut().zip(matr.data.iter()).for_each(|(t,f)| {*t += *f.clone()});
[INFO] [stdout]     |                                                                                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:959:36
[INFO] [stdout]     |
[INFO] [stdout] 959 |         let self_size = self.size().clone();
[INFO] [stdout]     |                                    ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:976:33
[INFO] [stdout]     |
[INFO] [stdout] 976 |         let s_size = self.size().clone();
[INFO] [stdout]     |                                 ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:977:34
[INFO] [stdout]     |
[INFO] [stdout] 977 |         let o_size = other.size().clone();
[INFO] [stdout]     |                                  ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&T` instead of cloning the inner type
[INFO] [stdout]    --> src/matrix/matrixfull.rs:987:90
[INFO] [stdout]     |
[INFO] [stdout] 987 |                 s_matr.data.iter_mut().zip(o_matr.data.iter()).for_each(|(t,f)| {*t += *f.clone()});
[INFO] [stdout]     |                                                                                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&T` instead of cloning the inner type
[INFO] [stdout]    --> src/matrix/matrixfull.rs:993:91
[INFO] [stdout]     |
[INFO] [stdout] 993 |                 s_matr.data.iter_mut().zip(o_matr.data.iter()).for_each(|(t,f)| {**t += *f.clone()});
[INFO] [stdout]     |                                                                                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1044:33
[INFO] [stdout]      |
[INFO] [stdout] 1044 |         let s_size = self.size().clone();
[INFO] [stdout]      |                                 ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&T` instead of cloning the inner type
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1051:73
[INFO] [stdout]      |
[INFO] [stdout] 1051 |                 MatrixFull::from_vec(s_size, matr.data.iter().map(|x| *x.clone()).collect::<Vec<T>>()).unwrap()
[INFO] [stdout]      |                                                                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1074:34
[INFO] [stdout]      |
[INFO] [stdout] 1074 |         let o_size = other.size().clone();
[INFO] [stdout]      |                                  ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&T` instead of cloning the inner type
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1085:93
[INFO] [stdout]      |
[INFO] [stdout] 1085 |                 new_tensors.data.iter_mut().zip(matr.data.iter()).for_each(|(t,f)| {*t -= *f.clone()});
[INFO] [stdout]      |                                                                                             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1093:34
[INFO] [stdout]      |
[INFO] [stdout] 1093 |         let o_size = other.size().clone();
[INFO] [stdout]      |                                  ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&T` instead of cloning the inner type
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1103:86
[INFO] [stdout]      |
[INFO] [stdout] 1103 |                 self.data.iter_mut().zip(matr.data.iter()).for_each(|(t,f)| {*t -= *f.clone()});
[INFO] [stdout]      |                                                                                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1112:33
[INFO] [stdout]      |
[INFO] [stdout] 1112 |         let s_size = self.size().clone();
[INFO] [stdout]      |                                 ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&T` instead of cloning the inner type
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1123:92
[INFO] [stdout]      |
[INFO] [stdout] 1123 |                 new_tensor.data.iter_mut().zip(matr.data.iter()).for_each(|(t,f)| {*t = (*f.clone()-*t)});
[INFO] [stdout]      |                                                                                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1131:33
[INFO] [stdout]      |
[INFO] [stdout] 1131 |         let s_size = self.size().clone();
[INFO] [stdout]      |                                 ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1148:33
[INFO] [stdout]      |
[INFO] [stdout] 1148 |         let s_size = self.size().clone();
[INFO] [stdout]      |                                 ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1149:34
[INFO] [stdout]      |
[INFO] [stdout] 1149 |         let o_size = other.size().clone();
[INFO] [stdout]      |                                  ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&T` instead of cloning the inner type
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1159:90
[INFO] [stdout]      |
[INFO] [stdout] 1159 |                 s_matr.data.iter_mut().zip(o_matr.data.iter()).for_each(|(t,f)| {*t -= *f.clone()});
[INFO] [stdout]      |                                                                                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&T` instead of cloning the inner type
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1165:91
[INFO] [stdout]      |
[INFO] [stdout] 1165 |                 s_matr.data.iter_mut().zip(o_matr.data.iter()).for_each(|(t,f)| {**t -= *f.clone()});
[INFO] [stdout]      |                                                                                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1187:33
[INFO] [stdout]      |
[INFO] [stdout] 1187 |         let s_size = self.size().clone();
[INFO] [stdout]      |                                 ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&T` instead of cloning the inner type
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1194:73
[INFO] [stdout]      |
[INFO] [stdout] 1194 |                 MatrixFull::from_vec(s_size, matr.data.iter().map(|x| *x.clone()).collect::<Vec<T>>()).unwrap()
[INFO] [stdout]      |                                                                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1229:33
[INFO] [stdout]      |
[INFO] [stdout] 1229 |         let s_size = self.size().clone();
[INFO] [stdout]      |                                 ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&T` instead of cloning the inner type
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1236:73
[INFO] [stdout]      |
[INFO] [stdout] 1236 |                 MatrixFull::from_vec(s_size, matr.data.iter().map(|x| *x.clone()).collect::<Vec<T>>()).unwrap()
[INFO] [stdout]      |                                                                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/matrix/matrixfullslice.rs:57:23
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub fn iter_mut_j(&mut self, j: usize) -> std::slice::IterMut<T> {
[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] 57 |     pub fn iter_mut_j(&mut self, j: usize) -> std::slice::IterMut<'_, T> {
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/matrix/matrixfullslice.rs:63:27
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn par_iter_mut_j(&mut self, j: usize) -> rayon::slice::IterMut<T> {
[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] 63 |     pub fn par_iter_mut_j(&mut self, j: usize) -> rayon::slice::IterMut<'_, T> {
[INFO] [stdout]    |                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/matrix/matrixfullslice.rs:69:30
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn iter_columns_full(&self) -> ChunksExact<T>{
[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] 69 |     pub fn iter_columns_full(&self) -> ChunksExact<'_, T>{
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/matrix/matrixfullslice.rs:73:29
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub fn iter_mut_columns(&mut self,range_column: Range<usize>) -> Option<ChunksExactMut<T>>{
[INFO] [stdout]    |                             ^^^^^^^^^ the lifetime is elided here           ----------------- 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] 73 |     pub fn iter_mut_columns(&mut self,range_column: Range<usize>) -> Option<ChunksExactMut<'_, T>>{
[INFO] [stdout]    |                                                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfullslice.rs:132:19
[INFO] [stdout]     |
[INFO] [stdout] 132 |     pub fn iter_j(&self, j: usize) -> std::slice::Iter<T> {
[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] 132 |     pub fn iter_j(&self, j: usize) -> std::slice::Iter<'_, T> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfullslice.rs:138:30
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn iter_columns_full(&self) -> ChunksExact<T>{
[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 fn iter_columns_full(&self) -> ChunksExact<'_, T>{
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfullslice.rs:142:34
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub fn par_iter_columns_full(&self) -> rayon::slice::ChunksExact<T>{
[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] 142 |     pub fn par_iter_columns_full(&self) -> rayon::slice::ChunksExact<'_, T>{
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfullslice.rs:146:29
[INFO] [stdout]     |
[INFO] [stdout] 146 |     pub fn par_iter_columns(&self, range_column: Range<usize>) -> Option<rayon::slice::ChunksExact<T>>{
[INFO] [stdout]     |                             ^^^^^ the lifetime is elided here            ---------------------------- 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] 146 |     pub fn par_iter_columns(&self, range_column: Range<usize>) -> Option<rayon::slice::ChunksExact<'_, T>>{
[INFO] [stdout]     |                                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/matrix/matrixupper.rs:51:35
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn to_matrixupperslicemut(&mut self) -> MatrixUpperSliceMut<T> {
[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] 51 |     pub fn to_matrixupperslicemut(&mut self) -> MatrixUpperSliceMut<'_, T> {
[INFO] [stdout]    |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixupper.rs:270:34
[INFO] [stdout]     |
[INFO] [stdout] 270 |     pub fn iter_mut_columns_full(&mut self) -> std::slice::ChunksExactMut<&'a mut T>{
[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] 270 |     pub fn iter_mut_columns_full(&mut self) -> std::slice::ChunksExactMut<'_, &'a mut T>{
[INFO] [stdout]     |                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&T` instead of cloning the inner type
[INFO] [stdout]    --> src/matrix/submatrixfull.rs:117:44
[INFO] [stdout]     |
[INFO] [stdout] 117 |                 matr.data.iter().map(|x| *x.clone()).collect::<Vec<T>>()
[INFO] [stdout]     |                                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/matrix/submatrixfull.rs:142:45
[INFO] [stdout]     |
[INFO] [stdout] 142 |                 matr.data.iter().map(|x| **x.clone()).collect::<Vec<T>>()
[INFO] [stdout]     |                                             ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `T` does not implement `Clone`, so calling `clone` on `&T` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/eri.rs:99:36
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub fn get_reducing_matrix_mut(&mut self, i_reduced: &[usize;2]) -> MatrixFullSliceMut<T> {
[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] 99 |     pub fn get_reducing_matrix_mut(&mut self, i_reduced: &[usize;2]) -> MatrixFullSliceMut<'_, T> {
[INFO] [stdout]    |                                                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/eri.rs:112:32
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub fn get_reducing_matrix(&self, i_reduced: &[usize;2]) -> MatrixFullSlice<T> {
[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] 112 |     pub fn get_reducing_matrix(&self, i_reduced: &[usize;2]) -> MatrixFullSlice<'_, T> {
[INFO] [stdout]     |                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/eri.rs:217:36
[INFO] [stdout]     |
[INFO] [stdout] 217 |     pub fn get_reducing_matrix_mut(&mut self, i_reduced: usize) -> MatrixUpperSliceMut<T> {
[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] 217 |     pub fn get_reducing_matrix_mut(&mut self, i_reduced: usize) -> MatrixUpperSliceMut<'_, T> {
[INFO] [stdout]     |                                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/eri.rs:227:32
[INFO] [stdout]     |
[INFO] [stdout] 227 |     pub fn get_reducing_matrix(&self, i_reduced: usize) -> MatrixUpperSlice<T> {
[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] 227 |     pub fn get_reducing_matrix(&self, i_reduced: usize) -> MatrixUpperSlice<'_, T> {
[INFO] [stdout]     |                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ri.rs:70:36
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub fn get_reducing_matrix_mut(&mut self, i_reduced: usize) -> Option<MatrixFullSliceMut<T>> {
[INFO] [stdout]    |                                    ^^^^^^^^^ the lifetime is elided here  --------------------- 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] 70 |     pub fn get_reducing_matrix_mut(&mut self, i_reduced: usize) -> Option<MatrixFullSliceMut<'_, T>> {
[INFO] [stdout]    |                                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ri.rs:91:32
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn get_reducing_matrix(&self, i_reduced: usize) -> Option<MatrixFullSlice<T>> {
[INFO] [stdout]    |                                ^^^^^ the lifetime is elided here  ------------------ 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] 91 |     pub fn get_reducing_matrix(&self, i_reduced: usize) -> Option<MatrixFullSlice<'_, T>> {
[INFO] [stdout]    |                                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ri.rs:101:40
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn get_reducing_matrix_columns(&self, range_columns:Range<usize>, i_reduced: usize) -> Option<SubMatrixFullSlice<T>> {
[INFO] [stdout]     |                                        ^^^^^ the lifetime is elided here                              --------------------- 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] 101 |     pub fn get_reducing_matrix_columns(&self, range_columns:Range<usize>, i_reduced: usize) -> Option<SubMatrixFullSlice<'_, T>> {
[INFO] [stdout]     |                                                                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ri.rs:167:26
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub fn iter_slices_x(&self, y: usize, z: usize) -> std::slice::Iter<T> {
[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] 167 |     pub fn iter_slices_x(&self, y: usize, z: usize) -> std::slice::Iter<'_, T> {
[INFO] [stdout]     |                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ri.rs:173:30
[INFO] [stdout]     |
[INFO] [stdout] 173 |     pub fn par_iter_slices_x(&self, y: usize, z: usize) -> rayon::slice::Iter<T> {
[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] 173 |     pub fn par_iter_slices_x(&self, y: usize, z: usize) -> rayon::slice::Iter<'_, T> {
[INFO] [stdout]     |                                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ri.rs:179:28
[INFO] [stdout]     |
[INFO] [stdout] 179 |     pub fn iter_mut_auxbas(&mut self, auxbas_range: Range<usize>) -> Option<ChunksExactMut<T>> {
[INFO] [stdout]     |                            ^^^^^^^^^ the lifetime is elided here            ----------------- 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] 179 |     pub fn iter_mut_auxbas(&mut self, auxbas_range: Range<usize>) -> Option<ChunksExactMut<'_, T>> {
[INFO] [stdout]     |                                                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ri.rs:189:24
[INFO] [stdout]     |
[INFO] [stdout] 189 |     pub fn iter_auxbas(&self, auxbas_range: Range<usize>) -> Option<ChunksExact<T>> {
[INFO] [stdout]     |                        ^^^^^ the lifetime is elided here            -------------- 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] 189 |     pub fn iter_auxbas(&self, auxbas_range: Range<usize>) -> Option<ChunksExact<'_, T>> {
[INFO] [stdout]     |                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ri.rs:199:32
[INFO] [stdout]     |
[INFO] [stdout] 199 |     pub fn par_iter_mut_auxbas(&mut self, auxbas_range: Range<usize>) -> Option<rayon::slice::ChunksExactMut<T>> {
[INFO] [stdout]     |                                ^^^^^^^^^ the lifetime is elided here            ------------------------------- 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] 199 |     pub fn par_iter_mut_auxbas(&mut self, auxbas_range: Range<usize>) -> Option<rayon::slice::ChunksExactMut<'_, T>> {
[INFO] [stdout]     |                                                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ri.rs:209:28
[INFO] [stdout]     |
[INFO] [stdout] 209 |     pub fn par_iter_auxbas(&self, auxbas_range: Range<usize>) -> Option<rayon::slice::ChunksExact<T>> {
[INFO] [stdout]     |                            ^^^^^ the lifetime is elided here            ---------------------------- 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] 209 |     pub fn par_iter_auxbas(&self, auxbas_range: Range<usize>) -> Option<rayon::slice::ChunksExact<'_, T>> {
[INFO] [stdout]     |                                                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:367:27
[INFO] [stdout]     |
[INFO] [stdout] 367 |     pub fn iter_submatrix(&self, x: Range<usize>, y: Range<usize>) ->  SubMatrixStepBy<slice::Iter<T>>{
[INFO] [stdout]     |                           ^^^^^ the lifetime is elided here                            -------------- 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] 367 |     pub fn iter_submatrix(&self, x: Range<usize>, y: Range<usize>) ->  SubMatrixStepBy<slice::Iter<'_, T>>{
[INFO] [stdout]     |                                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:371:31
[INFO] [stdout]     |
[INFO] [stdout] 371 |     pub fn get_submatrix<'a>(&'a self, x: Range<usize>, y: Range<usize>) -> SubMatrixFull<T> {
[INFO] [stdout]     |                               ^^ the lifetime is named here                 ---------------- 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: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 371 |     pub fn get_submatrix<'a>(&'a self, x: Range<usize>, y: Range<usize>) -> SubMatrixFull<'a, T> {
[INFO] [stdout]     |                                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:405:31
[INFO] [stdout]     |
[INFO] [stdout] 405 |     pub fn iter_submatrix_mut(&mut self, x: Range<usize>, y: Range<usize>) ->  SubMatrixStepBy<slice::IterMut<T>>{
[INFO] [stdout]     |                               ^^^^^^^^^ the lifetime is elided here                            ----------------- 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] 405 |     pub fn iter_submatrix_mut(&mut self, x: Range<usize>, y: Range<usize>) ->  SubMatrixStepBy<slice::IterMut<'_, T>>{
[INFO] [stdout]     |                                                                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:412:35
[INFO] [stdout]     |
[INFO] [stdout] 412 |     pub fn get_submatrix_mut<'a>(&'a mut self, x: Range<usize>, y: Range<usize>) -> SubMatrixFullMut<T> 
[INFO] [stdout]     |                                   ^^ the lifetime is named here                     ------------------- 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: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 412 |     pub fn get_submatrix_mut<'a>(&'a mut self, x: Range<usize>, y: Range<usize>) -> SubMatrixFullMut<'a, T> 
[INFO] [stdout]     |                                                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:425:24
[INFO] [stdout]     |
[INFO] [stdout] 425 |     pub fn iter_column(&self, y: usize) -> std::slice::Iter<T> {
[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] 425 |     pub fn iter_column(&self, y: usize) -> std::slice::Iter<'_, T> {
[INFO] [stdout]     |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:430:28
[INFO] [stdout]     |
[INFO] [stdout] 430 |     pub fn iter_column_mut(&mut self, y: usize) -> std::slice::IterMut<T> {
[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] 430 |     pub fn iter_column_mut(&mut self, y: usize) -> std::slice::IterMut<'_, T> {
[INFO] [stdout]     |                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:435:25
[INFO] [stdout]     |
[INFO] [stdout] 435 |     pub fn iter_columns(&self, range_column: Range<usize>) -> ChunksExact<T>{
[INFO] [stdout]     |                         ^^^^^ the lifetime is elided here     -------------- 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] 435 |     pub fn iter_columns(&self, range_column: Range<usize>) -> ChunksExact<'_, T>{
[INFO] [stdout]     |                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:441:29
[INFO] [stdout]     |
[INFO] [stdout] 441 |     pub fn iter_columns_mut(&mut self,range_column: Range<usize>) -> ChunksExactMut<T>{
[INFO] [stdout]     |                             ^^^^^^^^^ the lifetime is elided here    ----------------- 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] 441 |     pub fn iter_columns_mut(&mut self,range_column: Range<usize>) -> ChunksExactMut<'_, T>{
[INFO] [stdout]     |                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:447:30
[INFO] [stdout]     |
[INFO] [stdout] 447 |     pub fn iter_columns_full(&self) -> ChunksExact<T>{
[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] 447 |     pub fn iter_columns_full(&self) -> ChunksExact<'_, T>{
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:451:34
[INFO] [stdout]     |
[INFO] [stdout] 451 |     pub fn iter_columns_full_mut(&mut self) -> ChunksExactMut<T>{
[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] 451 |     pub fn iter_columns_full_mut(&mut self) -> ChunksExactMut<'_, T>{
[INFO] [stdout]     |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:460:21
[INFO] [stdout]     |
[INFO] [stdout] 460 |     pub fn iter_row(&self, x: usize) -> StepBy<std::slice::Iter<T>> {
[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] 460 |     pub fn iter_row(&self, x: usize) -> StepBy<std::slice::Iter<'_, T>> {
[INFO] [stdout]     |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:469:25
[INFO] [stdout]     |
[INFO] [stdout] 469 |     pub fn iter_row_mut(&mut self, x: usize) -> StepBy<std::slice::IterMut<T>> {
[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] 469 |     pub fn iter_row_mut(&mut self, x: usize) -> StepBy<std::slice::IterMut<'_, T>> {
[INFO] [stdout]     |                                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:479:22
[INFO] [stdout]     |
[INFO] [stdout] 479 |     pub fn iter_rows(&self, x: Range<usize>) -> SubMatrixStepBy<slice::Iter<T>>  {
[INFO] [stdout]     |                      ^^^^^ the lifetime is elided here          -------------- 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] 479 |     pub fn iter_rows(&self, x: Range<usize>) -> SubMatrixStepBy<slice::Iter<'_, T>>  {
[INFO] [stdout]     |                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:489:26
[INFO] [stdout]     |
[INFO] [stdout] 489 |     pub fn iter_rows_mut(&mut self, x: Range<usize>) -> SubMatrixStepBy<slice::IterMut<T>>  {
[INFO] [stdout]     |                          ^^^^^^^^^ the lifetime is elided here          ----------------- 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] 489 |     pub fn iter_rows_mut(&mut self, x: Range<usize>) -> SubMatrixStepBy<slice::IterMut<'_, T>>  {
[INFO] [stdout]     |                                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:494:31
[INFO] [stdout]     |
[INFO] [stdout] 494 |     pub fn iter_diagonal<'a>(&'a self) -> Option<StepBy<std::slice::Iter<T>>> {
[INFO] [stdout]     |                               ^^                        ------------------- the same lifetime is hidden here
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 494 |     pub fn iter_diagonal<'a>(&'a self) -> Option<StepBy<std::slice::Iter<'a, T>>> {
[INFO] [stdout]     |                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:502:35
[INFO] [stdout]     |
[INFO] [stdout] 502 |     pub fn iter_diagonal_mut<'a>(&'a mut self) -> Option<StepBy<std::slice::IterMut<T>>> {
[INFO] [stdout]     |                                   ^^ the lifetime is named here ---------------------- 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: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 502 |     pub fn iter_diagonal_mut<'a>(&'a mut self) -> Option<StepBy<std::slice::IterMut<'a, T>>> {
[INFO] [stdout]     |                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:511:34
[INFO] [stdout]     |
[INFO] [stdout] 511 |     pub fn iter_matrixupper<'a>(&'a self) -> Option<MatrixUpperStepBy<std::slice::Iter<T>>> {
[INFO] [stdout]     |                                  ^^ the lifetime is named here        ------------------- 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: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 511 |     pub fn iter_matrixupper<'a>(&'a self) -> Option<MatrixUpperStepBy<std::slice::Iter<'a, T>>> {
[INFO] [stdout]     |                                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:520:38
[INFO] [stdout]     |
[INFO] [stdout] 520 |     pub fn iter_matrixupper_mut<'a>(&'a mut self) -> Option<MatrixUpperStepBy<std::slice::IterMut<T>>> {
[INFO] [stdout]     |                                      ^^ the lifetime is named here            ---------------------- 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: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 520 |     pub fn iter_matrixupper_mut<'a>(&'a mut self) -> Option<MatrixUpperStepBy<std::slice::IterMut<'a, T>>> {
[INFO] [stdout]     |                                                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:650:36
[INFO] [stdout]     |
[INFO] [stdout] 650 |     pub fn get_diagonal_terms<'a>(&'a self) -> Option<Vec<&T>> {
[INFO] [stdout]     |                                    ^^                     -- the same lifetime is elided here
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 650 |     pub fn get_diagonal_terms<'a>(&'a self) -> Option<Vec<&'a T>> {
[INFO] [stdout]     |                                                            ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:681:34
[INFO] [stdout]     |
[INFO] [stdout] 681 |     pub fn to_matrixfullslicemut(&mut self) -> MatrixFullSliceMut<T> {
[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] 681 |     pub fn to_matrixfullslicemut(&mut self) -> MatrixFullSliceMut<'_, T> {
[INFO] [stdout]     |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:689:31
[INFO] [stdout]     |
[INFO] [stdout] 689 |     pub fn to_matrixfullslice(&self) -> MatrixFullSlice<T> {
[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] 689 |     pub fn to_matrixfullslice(&self) -> MatrixFullSlice<'_, T> {
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:697:39
[INFO] [stdout]     |
[INFO] [stdout] 697 |     pub fn to_matrixfullslice_columns(&self,range_columns: Range<usize>) -> SubMatrixFullSlice<T> {
[INFO] [stdout]     |                                       ^^^^^ the lifetime is elided here     --------------------- 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] 697 |     pub fn to_matrixfullslice_columns(&self,range_columns: Range<usize>) -> SubMatrixFullSlice<'_, T> {
[INFO] [stdout]     |                                                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:712:28
[INFO] [stdout]     |
[INFO] [stdout] 712 |     pub fn par_iter_column(&self, j: usize) -> rayon::slice::Iter<T> {
[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] 712 |     pub fn par_iter_column(&self, j: usize) -> rayon::slice::Iter<'_, T> {
[INFO] [stdout]     |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:718:32
[INFO] [stdout]     |
[INFO] [stdout] 718 |     pub fn par_iter_column_mut(&mut self, j: usize) -> rayon::slice::IterMut<T> {
[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] 718 |     pub fn par_iter_column_mut(&mut self, j: usize) -> rayon::slice::IterMut<'_, T> {
[INFO] [stdout]     |                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:724:29
[INFO] [stdout]     |
[INFO] [stdout] 724 |     pub fn par_iter_columns(&self, range_column: Range<usize>) -> Option<rayon::slice::ChunksExact<T>>{
[INFO] [stdout]     |                             ^^^^^ the lifetime is elided here            ---------------------------- 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] 724 |     pub fn par_iter_columns(&self, range_column: Range<usize>) -> Option<rayon::slice::ChunksExact<'_, T>>{
[INFO] [stdout]     |                                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:732:33
[INFO] [stdout]     |
[INFO] [stdout] 732 |     pub fn par_iter_columns_mut(&mut self,range_column: Range<usize>) -> Option<rayon::slice::ChunksExactMut<T>>{
[INFO] [stdout]     |                                 ^^^^^^^^^ the lifetime is elided here           ------------------------------- 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] 732 |     pub fn par_iter_columns_mut(&mut self,range_column: Range<usize>) -> Option<rayon::slice::ChunksExactMut<'_, T>>{
[INFO] [stdout]     |                                                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:740:34
[INFO] [stdout]     |
[INFO] [stdout] 740 |     pub fn par_iter_columns_full(&self) -> rayon::slice::ChunksExact<T>{
[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] 740 |     pub fn par_iter_columns_full(&self) -> rayon::slice::ChunksExact<'_, T>{
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:744:38
[INFO] [stdout]     |
[INFO] [stdout] 744 |     pub fn par_iter_columns_full_mut(&mut self) -> rayon::slice::ChunksExactMut<T>{
[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] 744 |     pub fn par_iter_columns_full_mut(&mut self) -> rayon::slice::ChunksExactMut<'_, T>{
[INFO] [stdout]     |                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:868:31
[INFO] [stdout]     |
[INFO] [stdout] 868 |         let size = self.size().clone();
[INFO] [stdout]     |                               ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&T` instead of cloning the inner type
[INFO] [stdout]    --> src/matrix/matrixfull.rs:876:62
[INFO] [stdout]     |
[INFO] [stdout] 876 |                 let mut new_vec = matr.data.iter().map(|x| *x.clone()).collect::<Vec<T>>();
[INFO] [stdout]     |                                                              ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:884:31
[INFO] [stdout]     |
[INFO] [stdout] 884 |         let size = self.size().clone();
[INFO] [stdout]     |                               ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:900:34
[INFO] [stdout]     |
[INFO] [stdout] 900 |         let o_size = other.size().clone();
[INFO] [stdout]     |                                  ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&T` instead of cloning the inner type
[INFO] [stdout]    --> src/matrix/matrixfull.rs:912:92
[INFO] [stdout]     |
[INFO] [stdout] 912 |                 new_tensor.data.iter_mut().zip(matr.data.iter()).for_each(|(t,f)| {*t += *f.clone()});
[INFO] [stdout]     |                                                                                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:920:34
[INFO] [stdout]     |
[INFO] [stdout] 920 |         let o_size = other.size().clone();
[INFO] [stdout]     |                                  ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&T` instead of cloning the inner type
[INFO] [stdout]    --> src/matrix/matrixfull.rs:930:86
[INFO] [stdout]     |
[INFO] [stdout] 930 |                 self.data.iter_mut().zip(matr.data.iter()).for_each(|(t,f)| {*t += *f.clone()});
[INFO] [stdout]     |                                                                                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:940:36
[INFO] [stdout]     |
[INFO] [stdout] 940 |         let self_size = self.size().clone();
[INFO] [stdout]     |                                    ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&T` instead of cloning the inner type
[INFO] [stdout]    --> src/matrix/matrixfull.rs:951:92
[INFO] [stdout]     |
[INFO] [stdout] 951 |                 new_tensor.data.iter_mut().zip(matr.data.iter()).for_each(|(t,f)| {*t += *f.clone()});
[INFO] [stdout]     |                                                                                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:959:36
[INFO] [stdout]     |
[INFO] [stdout] 959 |         let self_size = self.size().clone();
[INFO] [stdout]     |                                    ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:976:33
[INFO] [stdout]     |
[INFO] [stdout] 976 |         let s_size = self.size().clone();
[INFO] [stdout]     |                                 ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/matrix/matrixfull.rs:977:34
[INFO] [stdout]     |
[INFO] [stdout] 977 |         let o_size = other.size().clone();
[INFO] [stdout]     |                                  ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&T` instead of cloning the inner type
[INFO] [stdout]    --> src/matrix/matrixfull.rs:987:90
[INFO] [stdout]     |
[INFO] [stdout] 987 |                 s_matr.data.iter_mut().zip(o_matr.data.iter()).for_each(|(t,f)| {*t += *f.clone()});
[INFO] [stdout]     |                                                                                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&T` instead of cloning the inner type
[INFO] [stdout]    --> src/matrix/matrixfull.rs:993:91
[INFO] [stdout]     |
[INFO] [stdout] 993 |                 s_matr.data.iter_mut().zip(o_matr.data.iter()).for_each(|(t,f)| {**t += *f.clone()});
[INFO] [stdout]     |                                                                                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1044:33
[INFO] [stdout]      |
[INFO] [stdout] 1044 |         let s_size = self.size().clone();
[INFO] [stdout]      |                                 ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&T` instead of cloning the inner type
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1051:73
[INFO] [stdout]      |
[INFO] [stdout] 1051 |                 MatrixFull::from_vec(s_size, matr.data.iter().map(|x| *x.clone()).collect::<Vec<T>>()).unwrap()
[INFO] [stdout]      |                                                                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1074:34
[INFO] [stdout]      |
[INFO] [stdout] 1074 |         let o_size = other.size().clone();
[INFO] [stdout]      |                                  ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&T` instead of cloning the inner type
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1085:93
[INFO] [stdout]      |
[INFO] [stdout] 1085 |                 new_tensors.data.iter_mut().zip(matr.data.iter()).for_each(|(t,f)| {*t -= *f.clone()});
[INFO] [stdout]      |                                                                                             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1093:34
[INFO] [stdout]      |
[INFO] [stdout] 1093 |         let o_size = other.size().clone();
[INFO] [stdout]      |                                  ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&T` instead of cloning the inner type
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1103:86
[INFO] [stdout]      |
[INFO] [stdout] 1103 |                 self.data.iter_mut().zip(matr.data.iter()).for_each(|(t,f)| {*t -= *f.clone()});
[INFO] [stdout]      |                                                                                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1112:33
[INFO] [stdout]      |
[INFO] [stdout] 1112 |         let s_size = self.size().clone();
[INFO] [stdout]      |                                 ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&T` instead of cloning the inner type
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1123:92
[INFO] [stdout]      |
[INFO] [stdout] 1123 |                 new_tensor.data.iter_mut().zip(matr.data.iter()).for_each(|(t,f)| {*t = (*f.clone()-*t)});
[INFO] [stdout]      |                                                                                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1131:33
[INFO] [stdout]      |
[INFO] [stdout] 1131 |         let s_size = self.size().clone();
[INFO] [stdout]      |                                 ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1148:33
[INFO] [stdout]      |
[INFO] [stdout] 1148 |         let s_size = self.size().clone();
[INFO] [stdout]      |                                 ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1149:34
[INFO] [stdout]      |
[INFO] [stdout] 1149 |         let o_size = other.size().clone();
[INFO] [stdout]      |                                  ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&T` instead of cloning the inner type
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1159:90
[INFO] [stdout]      |
[INFO] [stdout] 1159 |                 s_matr.data.iter_mut().zip(o_matr.data.iter()).for_each(|(t,f)| {*t -= *f.clone()});
[INFO] [stdout]      |                                                                                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&T` instead of cloning the inner type
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1165:91
[INFO] [stdout]      |
[INFO] [stdout] 1165 |                 s_matr.data.iter_mut().zip(o_matr.data.iter()).for_each(|(t,f)| {**t -= *f.clone()});
[INFO] [stdout]      |                                                                                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1187:33
[INFO] [stdout]      |
[INFO] [stdout] 1187 |         let s_size = self.size().clone();
[INFO] [stdout]      |                                 ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&T` instead of cloning the inner type
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1194:73
[INFO] [stdout]      |
[INFO] [stdout] 1194 |                 MatrixFull::from_vec(s_size, matr.data.iter().map(|x| *x.clone()).collect::<Vec<T>>()).unwrap()
[INFO] [stdout]      |                                                                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1229:33
[INFO] [stdout]      |
[INFO] [stdout] 1229 |         let s_size = self.size().clone();
[INFO] [stdout]      |                                 ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]      |
[INFO] [stdout]      = note: the type `[usize]` does not implement `Clone`, so calling `clone` on `&[usize]` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&T` instead of cloning the inner type
[INFO] [stdout]     --> src/matrix/matrixfull.rs:1236:73
[INFO] [stdout]      |
[INFO] [stdout] 1236 |                 MatrixFull::from_vec(s_size, matr.data.iter().map(|x| *x.clone()).collect::<Vec<T>>()).unwrap()
[INFO] [stdout]      |                                                                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/matrix/matrixfullslice.rs:57:23
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub fn iter_mut_j(&mut self, j: usize) -> std::slice::IterMut<T> {
[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] 57 |     pub fn iter_mut_j(&mut self, j: usize) -> std::slice::IterMut<'_, T> {
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/matrix/matrixfullslice.rs:63:27
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn par_iter_mut_j(&mut self, j: usize) -> rayon::slice::IterMut<T> {
[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] 63 |     pub fn par_iter_mut_j(&mut self, j: usize) -> rayon::slice::IterMut<'_, T> {
[INFO] [stdout]    |                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/matrix/matrixfullslice.rs:69:30
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn iter_columns_full(&self) -> ChunksExact<T>{
[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] 69 |     pub fn iter_columns_full(&self) -> ChunksExact<'_, T>{
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/matrix/matrixfullslice.rs:73:29
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub fn iter_mut_columns(&mut self,range_column: Range<usize>) -> Option<ChunksExactMut<T>>{
[INFO] [stdout]    |                             ^^^^^^^^^ the lifetime is elided here           ----------------- 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] 73 |     pub fn iter_mut_columns(&mut self,range_column: Range<usize>) -> Option<ChunksExactMut<'_, T>>{
[INFO] [stdout]    |                                                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfullslice.rs:132:19
[INFO] [stdout]     |
[INFO] [stdout] 132 |     pub fn iter_j(&self, j: usize) -> std::slice::Iter<T> {
[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] 132 |     pub fn iter_j(&self, j: usize) -> std::slice::Iter<'_, T> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfullslice.rs:138:30
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub fn iter_columns_full(&self) -> ChunksExact<T>{
[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 fn iter_columns_full(&self) -> ChunksExact<'_, T>{
[INFO] [stdout]     |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfullslice.rs:142:34
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub fn par_iter_columns_full(&self) -> rayon::slice::ChunksExact<T>{
[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] 142 |     pub fn par_iter_columns_full(&self) -> rayon::slice::ChunksExact<'_, T>{
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixfullslice.rs:146:29
[INFO] [stdout]     |
[INFO] [stdout] 146 |     pub fn par_iter_columns(&self, range_column: Range<usize>) -> Option<rayon::slice::ChunksExact<T>>{
[INFO] [stdout]     |                             ^^^^^ the lifetime is elided here            ---------------------------- 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] 146 |     pub fn par_iter_columns(&self, range_column: Range<usize>) -> Option<rayon::slice::ChunksExact<'_, T>>{
[INFO] [stdout]     |                                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/matrix/matrixupper.rs:51:35
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn to_matrixupperslicemut(&mut self) -> MatrixUpperSliceMut<T> {
[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] 51 |     pub fn to_matrixupperslicemut(&mut self) -> MatrixUpperSliceMut<'_, T> {
[INFO] [stdout]    |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/matrix/matrixupper.rs:270:34
[INFO] [stdout]     |
[INFO] [stdout] 270 |     pub fn iter_mut_columns_full(&mut self) -> std::slice::ChunksExactMut<&'a mut T>{
[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] 270 |     pub fn iter_mut_columns_full(&mut self) -> std::slice::ChunksExactMut<'_, &'a mut T>{
[INFO] [stdout]     |                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&T` instead of cloning the inner type
[INFO] [stdout]    --> src/matrix/submatrixfull.rs:117:44
[INFO] [stdout]     |
[INFO] [stdout] 117 |                 matr.data.iter().map(|x| *x.clone()).collect::<Vec<T>>()
[INFO] [stdout]     |                                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/matrix/submatrixfull.rs:142:45
[INFO] [stdout]     |
[INFO] [stdout] 142 |                 matr.data.iter().map(|x| **x.clone()).collect::<Vec<T>>()
[INFO] [stdout]     |                                             ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `T` does not implement `Clone`, so calling `clone` on `&T` copies the reference, which does not do anything and can be removed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/eri.rs:99:36
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub fn get_reducing_matrix_mut(&mut self, i_reduced: &[usize;2]) -> MatrixFullSliceMut<T> {
[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] 99 |     pub fn get_reducing_matrix_mut(&mut self, i_reduced: &[usize;2]) -> MatrixFullSliceMut<'_, T> {
[INFO] [stdout]    |                                                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/eri.rs:112:32
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub fn get_reducing_matrix(&self, i_reduced: &[usize;2]) -> MatrixFullSlice<T> {
[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] 112 |     pub fn get_reducing_matrix(&self, i_reduced: &[usize;2]) -> MatrixFullSlice<'_, T> {
[INFO] [stdout]     |                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/eri.rs:217:36
[INFO] [stdout]     |
[INFO] [stdout] 217 |     pub fn get_reducing_matrix_mut(&mut self, i_reduced: usize) -> MatrixUpperSliceMut<T> {
[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] 217 |     pub fn get_reducing_matrix_mut(&mut self, i_reduced: usize) -> MatrixUpperSliceMut<'_, T> {
[INFO] [stdout]     |                                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/eri.rs:227:32
[INFO] [stdout]     |
[INFO] [stdout] 227 |     pub fn get_reducing_matrix(&self, i_reduced: usize) -> MatrixUpperSlice<T> {
[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] 227 |     pub fn get_reducing_matrix(&self, i_reduced: usize) -> MatrixUpperSlice<'_, T> {
[INFO] [stdout]     |                                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ri.rs:70:36
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub fn get_reducing_matrix_mut(&mut self, i_reduced: usize) -> Option<MatrixFullSliceMut<T>> {
[INFO] [stdout]    |                                    ^^^^^^^^^ the lifetime is elided here  --------------------- 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] 70 |     pub fn get_reducing_matrix_mut(&mut self, i_reduced: usize) -> Option<MatrixFullSliceMut<'_, T>> {
[INFO] [stdout]    |                                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ri.rs:91:32
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn get_reducing_matrix(&self, i_reduced: usize) -> Option<MatrixFullSlice<T>> {
[INFO] [stdout]    |                                ^^^^^ the lifetime is elided here  ------------------ 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] 91 |     pub fn get_reducing_matrix(&self, i_reduced: usize) -> Option<MatrixFullSlice<'_, T>> {
[INFO] [stdout]    |                                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ri.rs:101:40
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn get_reducing_matrix_columns(&self, range_columns:Range<usize>, i_reduced: usize) -> Option<SubMatrixFullSlice<T>> {
[INFO] [stdout]     |                                        ^^^^^ the lifetime is elided here                              --------------------- 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] 101 |     pub fn get_reducing_matrix_columns(&self, range_columns:Range<usize>, i_reduced: usize) -> Option<SubMatrixFullSlice<'_, T>> {
[INFO] [stdout]     |                                                                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ri.rs:167:26
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub fn iter_slices_x(&self, y: usize, z: usize) -> std::slice::Iter<T> {
[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] 167 |     pub fn iter_slices_x(&self, y: usize, z: usize) -> std::slice::Iter<'_, T> {
[INFO] [stdout]     |                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ri.rs:173:30
[INFO] [stdout]     |
[INFO] [stdout] 173 |     pub fn par_iter_slices_x(&self, y: usize, z: usize) -> rayon::slice::Iter<T> {
[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] 173 |     pub fn par_iter_slices_x(&self, y: usize, z: usize) -> rayon::slice::Iter<'_, T> {
[INFO] [stdout]     |                                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ri.rs:179:28
[INFO] [stdout]     |
[INFO] [stdout] 179 |     pub fn iter_mut_auxbas(&mut self, auxbas_range: Range<usize>) -> Option<ChunksExactMut<T>> {
[INFO] [stdout]     |                            ^^^^^^^^^ the lifetime is elided here            ----------------- 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] 179 |     pub fn iter_mut_auxbas(&mut self, auxbas_range: Range<usize>) -> Option<ChunksExactMut<'_, T>> {
[INFO] [stdout]     |                                                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ri.rs:189:24
[INFO] [stdout]     |
[INFO] [stdout] 189 |     pub fn iter_auxbas(&self, auxbas_range: Range<usize>) -> Option<ChunksExact<T>> {
[INFO] [stdout]     |                        ^^^^^ the lifetime is elided here            -------------- 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] 189 |     pub fn iter_auxbas(&self, auxbas_range: Range<usize>) -> Option<ChunksExact<'_, T>> {
[INFO] [stdout]     |                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ri.rs:199:32
[INFO] [stdout]     |
[INFO] [stdout] 199 |     pub fn par_iter_mut_auxbas(&mut self, auxbas_range: Range<usize>) -> Option<rayon::slice::ChunksExactMut<T>> {
[INFO] [stdout]     |                                ^^^^^^^^^ the lifetime is elided here            ------------------------------- 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] 199 |     pub fn par_iter_mut_auxbas(&mut self, auxbas_range: Range<usize>) -> Option<rayon::slice::ChunksExactMut<'_, T>> {
[INFO] [stdout]     |                                                                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ri.rs:209:28
[INFO] [stdout]     |
[INFO] [stdout] 209 |     pub fn par_iter_auxbas(&self, auxbas_range: Range<usize>) -> Option<rayon::slice::ChunksExact<T>> {
[INFO] [stdout]     |                            ^^^^^ the lifetime is elided here            ---------------------------- 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] 209 |     pub fn par_iter_auxbas(&self, auxbas_range: Range<usize>) -> Option<rayon::slice::ChunksExact<'_, T>> {
[INFO] [stdout]     |                                                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: linking with `cc` failed: exit status: 1
[INFO] [stdout]   |
[INFO] [stdout]   = note:  "cc" "-m64" "/tmp/rustc19tGJw/symbols.o" "<7 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libtest-*,libgetopts-*,libunicode_width-*,librustc_std_workspace_std-*}.rlib" "/opt/rustwide/target/debug/deps/{libitertools-e777ac5b1359a873,libnalgebra-1879419b1e62b572,libmatrixmultiply-8967e40fa6819fec,librawpointer-f73a58cd128df828,libnum_rational-6015fe9a7edb05b4,libnum_integer-78519e5fe48e7884,libsimba-eefaa5450fba9c3e,libwide-d4520ab9ba434b4a,libsafe_arch-5ba9db989b37985a,libbytemuck-6e1b91757ee7f08a,libapprox-8a1bbf41e94065bc,librayon-849d431649d2b09b,librayon_core-595fc537de9e04f7,libcrossbeam_deque-36370b15a39de502,libcrossbeam_epoch-55eb4ee0fd99d7f9,libcrossbeam_utils-98197786b8acd648,libeither-d34eb70c8ca3ae87,libtypenum-987523825771ddad,libanyhow-17ae52ef67b55cf0,liblapack-0432e47fbe8bbbdd,liblapack_sys-10a46c8a9552998f,libblas-20ef6e3965741793,libnum_complex-82dd0e497b75cbab,libnum_traits-36efdd6ce6cdce08,libblas_sys-b40f859857e431da,liblibc-08aef465eb552f81}.rlib" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libstd-*,libpanic_unwind-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*,libcfg_if-*,liblibc-*,librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-L" "/tmp/rustc19tGJw/raw-dylibs" "-B<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-fuse-ld=lld" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/opt/rustwide/target/debug/deps/rest_tensors-6c80f11b481d561a" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs"
[INFO] [stdout]   = note: some arguments are omitted. use `--verbose` to show all linker arguments
[INFO] [stdout]   = note: rust-lld: error: undefined symbol: dgemm_
[INFO] [stdout]           >>> referenced by lib.rs:2124 (/opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/blas-0.22.0/src/lib.rs:2124)
[INFO] [stdout]           >>>               /opt/rustwide/target/debug/deps/rest_tensors-6c80f11b481d561a.rest_tensors.ca1b1aad1e81ddf4-cgu.2.rcgu.o:(blas::dgemm::h3a2c8b044055e06b)
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: dsyev_
[INFO] [stdout]           >>> referenced by lapack-sys.rs:29108 (/opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lapack-0.19.0/src/lapack-sys.rs:29108)
[INFO] [stdout]           >>>               /opt/rustwide/target/debug/deps/rest_tensors-6c80f11b481d561a.rest_tensors.ca1b1aad1e81ddf4-cgu.2.rcgu.o:(lapack::dsyev::ha45e3f03a30ee7b2)
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: dgetrf_
[INFO] [stdout]           >>> referenced by lapack-sys.rs:8209 (/opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lapack-0.19.0/src/lapack-sys.rs:8209)
[INFO] [stdout]           >>>               /opt/rustwide/target/debug/deps/rest_tensors-6c80f11b481d561a.rest_tensors.ca1b1aad1e81ddf4-cgu.2.rcgu.o:(lapack::dgetrf::h7819e6747dd9c159)
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: dgetri_
[INFO] [stdout]           >>> referenced by lapack-sys.rs:8294 (/opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lapack-0.19.0/src/lapack-sys.rs:8294)
[INFO] [stdout]           >>>               /opt/rustwide/target/debug/deps/rest_tensors-6c80f11b481d561a.rest_tensors.ca1b1aad1e81ddf4-cgu.2.rcgu.o:(lapack::dgetri::hb068f0427d291e7d)
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: dpotrf_
[INFO] [stdout]           >>> referenced by lapack-sys.rs:23845 (/opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lapack-0.19.0/src/lapack-sys.rs:23845)
[INFO] [stdout]           >>>               /opt/rustwide/target/debug/deps/rest_tensors-6c80f11b481d561a.rest_tensors.ca1b1aad1e81ddf4-cgu.2.rcgu.o:(lapack::dpotrf::hcb88810c3b5b7f0a)
[INFO] [stdout]           
[INFO] [stdout]           rust-lld: error: undefined symbol: dpotri_
[INFO] [stdout]           >>> referenced by lapack-sys.rs:23885 (/opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/lapack-0.19.0/src/lapack-sys.rs:23885)
[INFO] [stdout]           >>>               /opt/rustwide/target/debug/deps/rest_tensors-6c80f11b481d561a.rest_tensors.ca1b1aad1e81ddf4-cgu.2.rcgu.o:(lapack::dpotri::h9bfb298ea53cbcb3)
[INFO] [stdout]           collect2: error: ld returned 1 exit status
[INFO] [stdout]           
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rest_tensors` (lib test) due to 1 previous error; 84 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "1b65b6984c956cc89b827027a65f19c7acde681400dc1f7c8b15a34dd9231ef9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1b65b6984c956cc89b827027a65f19c7acde681400dc1f7c8b15a34dd9231ef9", kill_on_drop: false }`
[INFO] [stdout] 1b65b6984c956cc89b827027a65f19c7acde681400dc1f7c8b15a34dd9231ef9
