[INFO] fetching crate rest_tensors 0.1.1...
[INFO] testing rest_tensors-0.1.1 against beta-2025-09-21 for beta-1.91-3
[INFO] extracting crate rest_tensors 0.1.1 into /workspace/builds/worker-2-tc2/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-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate rest_tensors 0.1.1 on toolchain beta-2025-09-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "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" "+beta-2025-09-21" "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" "+beta-2025-09-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 49c7fd4b0653333da3429ede2b43f6d83ae1f06d441a2b93ac9c3377b76a2521
[INFO] running `Command { std: "docker" "start" "-a" "49c7fd4b0653333da3429ede2b43f6d83ae1f06d441a2b93ac9c3377b76a2521", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "49c7fd4b0653333da3429ede2b43f6d83ae1f06d441a2b93ac9c3377b76a2521", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "49c7fd4b0653333da3429ede2b43f6d83ae1f06d441a2b93ac9c3377b76a2521", kill_on_drop: false }`
[INFO] [stdout] 49c7fd4b0653333da3429ede2b43f6d83ae1f06d441a2b93ac9c3377b76a2521
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] da22704863875b16f336f4412b3ba415912e8fd5404f7e00febe1dafcb1f8a8f
[INFO] running `Command { std: "docker" "start" "-a" "da22704863875b16f336f4412b3ba415912e8fd5404f7e00febe1dafcb1f8a8f", 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 safe_arch v0.7.4
[INFO] [stderr]    Compiling rawpointer v0.2.1
[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 approx v0.5.1
[INFO] [stderr]    Compiling num-integer v0.1.46
[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:77
[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:85
[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:57
[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:65
[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:71
[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:79
[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:59
[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 22.01s
[INFO] running `Command { std: "docker" "inspect" "da22704863875b16f336f4412b3ba415912e8fd5404f7e00febe1dafcb1f8a8f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "da22704863875b16f336f4412b3ba415912e8fd5404f7e00febe1dafcb1f8a8f", kill_on_drop: false }`
[INFO] [stdout] da22704863875b16f336f4412b3ba415912e8fd5404f7e00febe1dafcb1f8a8f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ad507696fc41b0d4b19520835f3b572cbe7aa319b0426179491a413289d28bd1
[INFO] running `Command { std: "docker" "start" "-a" "ad507696fc41b0d4b19520835f3b572cbe7aa319b0426179491a413289d28bd1", 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 ciborium-io v0.2.2
[INFO] [stderr]    Compiling os_str_bytes v6.6.1
[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 ciborium-ll v0.2.2
[INFO] [stderr]    Compiling clap_lex v0.2.4
[INFO] [stderr]    Compiling clap v3.2.25
[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 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:77
[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:85
[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:57
[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:65
[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:71
[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:79
[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:59
[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:77
[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:85
[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:57
[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:65
[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:71
[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:79
[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:59
[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/rustcwJQZfo/symbols.o" "<7 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libtest-*,libgetopts-*,librustc_std_workspace_std-*}.rlib" "/opt/rustwide/target/debug/deps/{libitertools-d269238fde074231,libnalgebra-00a0c4e6d5b0c6b5,libmatrixmultiply-f18338f0c0665352,librawpointer-10d892ea69c462d6,libnum_rational-3d5ff9d16f42c415,libnum_integer-c3fdbc3ba907eb73,libsimba-129215c4b43b9ce1,libwide-f4f14bcdf84bc479,libsafe_arch-6daf462d30da3f39,libbytemuck-e484028acf41162a,libapprox-0242b56a06f560a4,librayon-2f6ee0235a8f6553,librayon_core-20ae9278df136b21,libcrossbeam_deque-ea3ff61555084ad8,libcrossbeam_epoch-aa86d5e6e408d661,libcrossbeam_utils-ca54231108c39f35,libeither-e5ea87bd27ac73a9,libtypenum-f2b179c8a326fef2,libanyhow-eb07bcfe9a52a357,liblapack-c823a79529c6426e,liblapack_sys-fd4877392c923cd0,libblas-032387d49a42c09c,libnum_complex-338faacf3b97d653,libnum_traits-c445de6622136476,libblas_sys-2ad0e22977e057ad,liblibc-7a54cdb917ea7291}.rlib" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libstd-*,libpanic_unwind-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,libcfg_if-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*,liblibc-*,librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-L" "/tmp/rustcwJQZfo/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-f9d77de91be4a844" "-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-f9d77de91be4a844.rest_tensors.e1d6cb50b948fcc1-cgu.0.rcgu.o:(blas::dgemm::hdfe8fff3199a2706)
[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-f9d77de91be4a844.rest_tensors.e1d6cb50b948fcc1-cgu.0.rcgu.o:(lapack::dsyev::h9c9baefc8efb9cc6)
[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-f9d77de91be4a844.rest_tensors.e1d6cb50b948fcc1-cgu.0.rcgu.o:(lapack::dgetrf::h5273537eee20ddfc)
[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-f9d77de91be4a844.rest_tensors.e1d6cb50b948fcc1-cgu.0.rcgu.o:(lapack::dgetri::hf1414a0f5ef0d03e)
[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-f9d77de91be4a844.rest_tensors.e1d6cb50b948fcc1-cgu.0.rcgu.o:(lapack::dpotrf::h820341aec4502304)
[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-f9d77de91be4a844.rest_tensors.e1d6cb50b948fcc1-cgu.0.rcgu.o:(lapack::dpotri::h31227f1b9e25e87b)
[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" "ad507696fc41b0d4b19520835f3b572cbe7aa319b0426179491a413289d28bd1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ad507696fc41b0d4b19520835f3b572cbe7aa319b0426179491a413289d28bd1", kill_on_drop: false }`
[INFO] [stdout] ad507696fc41b0d4b19520835f3b572cbe7aa319b0426179491a413289d28bd1
