[INFO] fetching crate rest_tensors 0.1.1...
[INFO] testing rest_tensors-0.1.1 against 1.95.0 for beta-1.96-2
[INFO] extracting crate rest_tensors 0.1.1 into /workspace/builds/worker-3-tc1/source
[INFO] started tweaking crates.io crate rest_tensors 0.1.1
[INFO] finished tweaking crates.io crate rest_tensors 0.1.1
[INFO] tweaked toml for crates.io crate rest_tensors 0.1.1 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate rest_tensors 0.1.1 on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 90 packages to latest compatible versions
[INFO] [stderr]       Adding blas v0.22.0 (available: v0.23.0)
[INFO] [stderr]       Adding blas-sys v0.7.1 (available: v0.9.0)
[INFO] [stderr]       Adding criterion v0.4.0 (available: v0.8.2)
[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.2)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded clap_lex v0.2.4
[INFO] [stderr]   Downloaded os_str_bytes v6.6.1
[INFO] [stderr]   Downloaded blas v0.22.0
[INFO] [stderr]   Downloaded blas-sys v0.7.1
[INFO] [stderr]   Downloaded lapack v0.19.0
[INFO] [stderr]   Downloaded criterion v0.4.0
[INFO] [stderr]   Downloaded clap v3.2.25
[INFO] [stderr]   Downloaded nalgebra v0.31.4
[INFO] [stderr]   Downloaded lapack-sys v0.14.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 39d390b93202f0bd859f93ddce08d1a6b598be82fb46cbc59eb77733a8bef86e
[INFO] running `Command { std: "docker" "start" "-a" "39d390b93202f0bd859f93ddce08d1a6b598be82fb46cbc59eb77733a8bef86e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "39d390b93202f0bd859f93ddce08d1a6b598be82fb46cbc59eb77733a8bef86e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "39d390b93202f0bd859f93ddce08d1a6b598be82fb46cbc59eb77733a8bef86e", kill_on_drop: false }`
[INFO] [stdout] 39d390b93202f0bd859f93ddce08d1a6b598be82fb46cbc59eb77733a8bef86e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 695469720f00c24923e7db498a0d90d910232e0ba11ce6ad51a2ebc3efdbf247
[INFO] running `Command { std: "docker" "start" "-a" "695469720f00c24923e7db498a0d90d910232e0ba11ce6ad51a2ebc3efdbf247", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling bytemuck v1.25.0
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]    Compiling rawpointer v0.2.1
[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 lapack-sys v0.14.0
[INFO] [stderr]    Compiling blas-sys v0.7.1
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling safe_arch v0.7.4
[INFO] [stderr]    Compiling lapack v0.19.0
[INFO] [stderr]    Compiling blas v0.22.0
[INFO] [stderr]    Compiling wide v0.7.33
[INFO] [stderr]    Compiling num-rational v0.4.2
[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.32s
[INFO] running `Command { std: "docker" "inspect" "695469720f00c24923e7db498a0d90d910232e0ba11ce6ad51a2ebc3efdbf247", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "695469720f00c24923e7db498a0d90d910232e0ba11ce6ad51a2ebc3efdbf247", kill_on_drop: false }`
[INFO] [stdout] 695469720f00c24923e7db498a0d90d910232e0ba11ce6ad51a2ebc3efdbf247
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b7a30ac96c02dd4f8b732008f829fd0d054761fcfbaef2b8c1907bfbed16d8f7
[INFO] running `Command { std: "docker" "start" "-a" "b7a30ac96c02dd4f8b732008f829fd0d054761fcfbaef2b8c1907bfbed16d8f7", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[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 os_str_bytes v6.6.1
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling textwrap v0.16.2
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling clap_lex v0.2.4
[INFO] [stderr]    Compiling simba v0.7.3
[INFO] [stderr]    Compiling blas v0.22.0
[INFO] [stderr]    Compiling lapack v0.19.0
[INFO] [stderr]    Compiling clap v3.2.25
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling zerocopy-derive v0.8.48
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling nalgebra v0.31.4
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling criterion v0.4.0
[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] [stderr] error: could not compile `rest_tensors` (lib test) due to 1 previous error; 84 warnings emitted
[INFO] [stdout] error: linking with `cc` failed: exit status: 1
[INFO] [stdout]   |
[INFO] [stdout]   = note:  "cc" "-m64" "/opt/rustwide/target/debug/deps/rustcvMSpFv/symbols.o" "<6 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-42fcfba9484a981a,libnalgebra-79d4a5f8a6a67675,libmatrixmultiply-8a575877b2367357,librawpointer-53e32c6b3d33cac1,libnum_rational-6d12055c9f690fa3,libnum_integer-9e13a188cfba9e12,libsimba-339ab89dd36540a1,libwide-f26081b5ccc8b094,libsafe_arch-a428936e4fe90dc5,libbytemuck-28916d4fe5367e39,libapprox-ea2dee3d10fdf088,librayon-8598bad8a0494040,librayon_core-fbd7bdc195edf518,libcrossbeam_deque-cf6ede26adbbf61c,libcrossbeam_epoch-16e974da221873d2,libcrossbeam_utils-5d49caf4ce5b571b,libeither-0fdf45b61f79f227,libtypenum-670aabae270d4e38,libanyhow-4b98a5a15e092ec6,liblapack-19db5fc4c5b4de73,liblapack_sys-2827ff35bf9d0170,libblas-ce6bbcff6c37ec15,libnum_complex-8a579910e9dc3729,libnum_traits-8f4c483fc2497ec9,libblas_sys-b9ac84b25fe80124,liblibc-f7350b93790cd98e}.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" "/opt/rustwide/target/debug/deps/rustcvMSpFv/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-46ad446c925a62c5" "-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-46ad446c925a62c5.rest_tensors.fd62ec307664867c-cgu.3.rcgu.o:(blas::dgemm::h0be97ec3c3226d0c)
[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-46ad446c925a62c5.rest_tensors.fd62ec307664867c-cgu.3.rcgu.o:(lapack::dsyev::he8a027109f3424dc)
[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-46ad446c925a62c5.rest_tensors.fd62ec307664867c-cgu.3.rcgu.o:(lapack::dgetrf::hf1263322b8b6bf9e)
[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-46ad446c925a62c5.rest_tensors.fd62ec307664867c-cgu.3.rcgu.o:(lapack::dgetri::h03eff45f81628e16)
[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-46ad446c925a62c5.rest_tensors.fd62ec307664867c-cgu.3.rcgu.o:(lapack::dpotrf::h662c74c9f11b2ef1)
[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-46ad446c925a62c5.rest_tensors.fd62ec307664867c-cgu.3.rcgu.o:(lapack::dpotri::h7c91f19fd7ea0714)
[INFO] [stdout]           collect2: error: ld returned 1 exit status
[INFO] [stdout]           
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "b7a30ac96c02dd4f8b732008f829fd0d054761fcfbaef2b8c1907bfbed16d8f7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b7a30ac96c02dd4f8b732008f829fd0d054761fcfbaef2b8c1907bfbed16d8f7", kill_on_drop: false }`
[INFO] [stdout] b7a30ac96c02dd4f8b732008f829fd0d054761fcfbaef2b8c1907bfbed16d8f7
