[INFO] fetching crate rest_tensors 0.1.1...
[INFO] testing rest_tensors-0.1.1 against nightly-2024-10-28+rustflags=-Zrandomize-layout for randomize-layout
[INFO] extracting crate rest_tensors 0.1.1 into /workspace/builds/worker-1-tc2/source
[INFO] validating manifest of crates.io crate rest_tensors 0.1.1 on toolchain nightly-2024-10-28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2024-10-28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[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-1-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2024-10-28" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 96 packages to latest compatible versions
[INFO] [stderr]       Adding criterion v0.4.0 (available: v0.5.1)
[INFO] [stderr]       Adding itertools v0.10.5 (available: v0.13.0)
[INFO] [stderr]       Adding nalgebra v0.31.4 (available: v0.33.2)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2024-10-28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2024-10-28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9fc8d276fa8a01ba6227c23e178077c5226a930f9c96800a299a7583c9a77aa6
[INFO] running `Command { std: "docker" "start" "-a" "9fc8d276fa8a01ba6227c23e178077c5226a930f9c96800a299a7583c9a77aa6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9fc8d276fa8a01ba6227c23e178077c5226a930f9c96800a299a7583c9a77aa6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9fc8d276fa8a01ba6227c23e178077c5226a930f9c96800a299a7583c9a77aa6", kill_on_drop: false }`
[INFO] [stdout] 9fc8d276fa8a01ba6227c23e178077c5226a930f9c96800a299a7583c9a77aa6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Zrandomize-layout" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2024-10-28" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d332759f36e196459869303ce3179f6217454e9979d83ef86f2d3ee667ba4da9
[INFO] running `Command { std: "docker" "start" "-a" "d332759f36e196459869303ce3179f6217454e9979d83ef86f2d3ee667ba4da9", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling crossbeam-utils v0.8.20
[INFO] [stderr]    Compiling bytemuck v1.19.0
[INFO] [stderr]    Compiling matrixmultiply v0.3.9
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]    Compiling rawpointer v0.2.1
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling blas-sys v0.7.1
[INFO] [stderr]    Compiling lapack-sys v0.14.0
[INFO] [stderr]    Compiling nalgebra-macros v0.1.0
[INFO] [stderr]    Compiling safe_arch v0.7.2
[INFO] [stderr]    Compiling wide v0.7.28
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling crossbeam-deque v0.8.5
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling approx v0.5.1
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling lapack v0.19.0
[INFO] [stderr]    Compiling blas v0.22.0
[INFO] [stderr]    Compiling rayon v1.10.0
[INFO] [stderr]    Compiling simba v0.7.3
[INFO] [stderr]    Compiling nalgebra v0.31.4
[INFO] [stderr]    Compiling rest_tensors v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: elided lifetime has a name
[INFO] [stdout]    --> src/matrix/matrixfull.rs:371:90
[INFO] [stdout]     |
[INFO] [stdout] 371 |     pub fn get_submatrix<'a>(&'a self, x: Range<usize>, y: Range<usize>) -> SubMatrixFull<T> {
[INFO] [stdout]     |                          -- lifetime `'a` declared here                                  ^ this elided lifetime gets resolved as `'a`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(elided_named_lifetimes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: elided lifetime has a name
[INFO] [stdout]    --> src/matrix/matrixfull.rs:412:101
[INFO] [stdout]     |
[INFO] [stdout] 412 |     pub fn get_submatrix_mut<'a>(&'a mut self, x: Range<usize>, y: Range<usize>) -> SubMatrixFullMut<T> 
[INFO] [stdout]     |                              -- lifetime `'a` declared here                                         ^ this elided lifetime gets resolved as `'a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: elided lifetime has a name
[INFO] [stdout]    --> src/matrix/matrixfull.rs:494:73
[INFO] [stdout]     |
[INFO] [stdout] 494 |     pub fn iter_diagonal<'a>(&'a self) -> Option<StepBy<std::slice::Iter<T>>> {
[INFO] [stdout]     |                          -- lifetime `'a` declared here                 ^ this elided lifetime gets resolved as `'a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: elided lifetime has a name
[INFO] [stdout]    --> src/matrix/matrixfull.rs:502:84
[INFO] [stdout]     |
[INFO] [stdout] 502 |     pub fn iter_diagonal_mut<'a>(&'a mut self) -> Option<StepBy<std::slice::IterMut<T>>> {
[INFO] [stdout]     |                              -- lifetime `'a` declared here                        ^ this elided lifetime gets resolved as `'a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: elided lifetime has a name
[INFO] [stdout]    --> src/matrix/matrixfull.rs:511:87
[INFO] [stdout]     |
[INFO] [stdout] 511 |     pub fn iter_matrixupper<'a>(&'a self) -> Option<MatrixUpperStepBy<std::slice::Iter<T>>> {
[INFO] [stdout]     |                             -- lifetime `'a` declared here                            ^ this elided lifetime gets resolved as `'a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: elided lifetime has a name
[INFO] [stdout]    --> src/matrix/matrixfull.rs:520:98
[INFO] [stdout]     |
[INFO] [stdout] 520 |     pub fn iter_matrixupper_mut<'a>(&'a mut self) -> Option<MatrixUpperStepBy<std::slice::IterMut<T>>> {
[INFO] [stdout]     |                                 -- lifetime `'a` declared here                                   ^ this elided lifetime gets resolved as `'a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: elided lifetime has a name
[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]     |                               --                          ^ this elided lifetime gets resolved as `'a`
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               lifetime `'a` declared here
[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: 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] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.32s
[INFO] running `Command { std: "docker" "inspect" "d332759f36e196459869303ce3179f6217454e9979d83ef86f2d3ee667ba4da9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d332759f36e196459869303ce3179f6217454e9979d83ef86f2d3ee667ba4da9", kill_on_drop: false }`
[INFO] [stdout] d332759f36e196459869303ce3179f6217454e9979d83ef86f2d3ee667ba4da9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Zrandomize-layout" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2024-10-28" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f84ec11becec7263f0626950c900e99766448965d1dcc9dc48340779210ece01
[INFO] running `Command { std: "docker" "start" "-a" "f84ec11becec7263f0626950c900e99766448965d1dcc9dc48340779210ece01", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling serde v1.0.214
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling half v2.4.1
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling syn v2.0.86
[INFO] [stderr]    Compiling os_str_bytes v6.6.1
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling textwrap v0.16.1
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling oorandom v11.1.4
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling clap_lex v0.2.4
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling clap v3.2.25
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling approx v0.5.1
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling regex-automata v0.4.8
[INFO] [stderr]    Compiling simba v0.7.3
[INFO] [stderr]    Compiling lapack v0.19.0
[INFO] [stderr]    Compiling blas v0.22.0
[INFO] [stderr]    Compiling serde_derive v1.0.214
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling nalgebra v0.31.4
[INFO] [stderr]    Compiling serde_json v1.0.132
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling criterion v0.4.0
[INFO] [stderr]    Compiling rest_tensors v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: elided lifetime has a name
[INFO] [stdout]    --> src/matrix/matrixfull.rs:371:90
[INFO] [stdout]     |
[INFO] [stdout] 371 |     pub fn get_submatrix<'a>(&'a self, x: Range<usize>, y: Range<usize>) -> SubMatrixFull<T> {
[INFO] [stdout]     |                          -- lifetime `'a` declared here                                  ^ this elided lifetime gets resolved as `'a`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(elided_named_lifetimes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: elided lifetime has a name
[INFO] [stdout]    --> src/matrix/matrixfull.rs:412:101
[INFO] [stdout]     |
[INFO] [stdout] 412 |     pub fn get_submatrix_mut<'a>(&'a mut self, x: Range<usize>, y: Range<usize>) -> SubMatrixFullMut<T> 
[INFO] [stdout]     |                              -- lifetime `'a` declared here                                         ^ this elided lifetime gets resolved as `'a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: elided lifetime has a name
[INFO] [stdout]    --> src/matrix/matrixfull.rs:494:73
[INFO] [stdout]     |
[INFO] [stdout] 494 |     pub fn iter_diagonal<'a>(&'a self) -> Option<StepBy<std::slice::Iter<T>>> {
[INFO] [stdout]     |                          -- lifetime `'a` declared here                 ^ this elided lifetime gets resolved as `'a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: elided lifetime has a name
[INFO] [stdout]    --> src/matrix/matrixfull.rs:371:90
[INFO] [stdout]     |
[INFO] [stdout] 371 |     pub fn get_submatrix<'a>(&'a self, x: Range<usize>, y: Range<usize>) -> SubMatrixFull<T> {
[INFO] [stdout]     |                          -- lifetime `'a` declared here                                  ^ this elided lifetime gets resolved as `'a`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(elided_named_lifetimes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: elided lifetime has a name
[INFO] [stdout]    --> src/matrix/matrixfull.rs:502:84
[INFO] [stdout]     |
[INFO] [stdout] 502 |     pub fn iter_diagonal_mut<'a>(&'a mut self) -> Option<StepBy<std::slice::IterMut<T>>> {
[INFO] [stdout]     |                              -- lifetime `'a` declared here                        ^ this elided lifetime gets resolved as `'a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: elided lifetime has a name
[INFO] [stdout]    --> src/matrix/matrixfull.rs:511:87
[INFO] [stdout]     |
[INFO] [stdout] 511 |     pub fn iter_matrixupper<'a>(&'a self) -> Option<MatrixUpperStepBy<std::slice::Iter<T>>> {
[INFO] [stdout]     |                             -- lifetime `'a` declared here                            ^ this elided lifetime gets resolved as `'a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: elided lifetime has a name
[INFO] [stdout]    --> src/matrix/matrixfull.rs:412:101
[INFO] [stdout]     |
[INFO] [stdout] 412 |     pub fn get_submatrix_mut<'a>(&'a mut self, x: Range<usize>, y: Range<usize>) -> SubMatrixFullMut<T> 
[INFO] [stdout]     |                              -- lifetime `'a` declared here                                         ^ this elided lifetime gets resolved as `'a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: elided lifetime has a name
[INFO] [stdout]    --> src/matrix/matrixfull.rs:520:98
[INFO] [stdout]     |
[INFO] [stdout] 520 |     pub fn iter_matrixupper_mut<'a>(&'a mut self) -> Option<MatrixUpperStepBy<std::slice::IterMut<T>>> {
[INFO] [stdout]     |                                 -- lifetime `'a` declared here                                   ^ this elided lifetime gets resolved as `'a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: elided lifetime has a name
[INFO] [stdout]    --> src/matrix/matrixfull.rs:494:73
[INFO] [stdout]     |
[INFO] [stdout] 494 |     pub fn iter_diagonal<'a>(&'a self) -> Option<StepBy<std::slice::Iter<T>>> {
[INFO] [stdout]     |                          -- lifetime `'a` declared here                 ^ this elided lifetime gets resolved as `'a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: elided lifetime has a name
[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]     |                               --                          ^ this elided lifetime gets resolved as `'a`
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               lifetime `'a` declared here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: elided lifetime has a name
[INFO] [stdout]    --> src/matrix/matrixfull.rs:502:84
[INFO] [stdout]     |
[INFO] [stdout] 502 |     pub fn iter_diagonal_mut<'a>(&'a mut self) -> Option<StepBy<std::slice::IterMut<T>>> {
[INFO] [stdout]     |                              -- lifetime `'a` declared here                        ^ this elided lifetime gets resolved as `'a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: elided lifetime has a name
[INFO] [stdout]    --> src/matrix/matrixfull.rs:511:87
[INFO] [stdout]     |
[INFO] [stdout] 511 |     pub fn iter_matrixupper<'a>(&'a self) -> Option<MatrixUpperStepBy<std::slice::Iter<T>>> {
[INFO] [stdout]     |                             -- lifetime `'a` declared here                            ^ this elided lifetime gets resolved as `'a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: elided lifetime has a name
[INFO] [stdout]    --> src/matrix/matrixfull.rs:520:98
[INFO] [stdout]     |
[INFO] [stdout] 520 |     pub fn iter_matrixupper_mut<'a>(&'a mut self) -> Option<MatrixUpperStepBy<std::slice::IterMut<T>>> {
[INFO] [stdout]     |                                 -- lifetime `'a` declared here                                   ^ this elided lifetime gets resolved as `'a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: elided lifetime has a name
[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]     |                               --                          ^ this elided lifetime gets resolved as `'a`
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               lifetime `'a` declared here
[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: 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: 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: 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] error: linking with `cc` failed: exit status: 1
[INFO] [stdout]   |
[INFO] [stdout]   = note: LC_ALL="C" PATH="/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/self-contained:/opt/rustwide/cargo-home/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" VSLANG="1033" "cc" "-m64" "/tmp/rustcpJtQzv/symbols.o" "/opt/rustwide/target/debug/deps/rest_tensors-f8d5235410a67ad1.rest_tensors.6264fa374dee699c-cgu.0.rcgu.o" "/opt/rustwide/target/debug/deps/rest_tensors-f8d5235410a67ad1.rest_tensors.6264fa374dee699c-cgu.1.rcgu.o" "/opt/rustwide/target/debug/deps/rest_tensors-f8d5235410a67ad1.rest_tensors.6264fa374dee699c-cgu.2.rcgu.o" "/opt/rustwide/target/debug/deps/rest_tensors-f8d5235410a67ad1.rest_tensors.6264fa374dee699c-cgu.3.rcgu.o" "/opt/rustwide/target/debug/deps/rest_tensors-f8d5235410a67ad1.rest_tensors.6264fa374dee699c-cgu.4.rcgu.o" "/opt/rustwide/target/debug/deps/rest_tensors-f8d5235410a67ad1.alsgixsrnsvwnopz694mah118.rcgu.o" "-Wl,--as-needed" "-Wl,-Bstatic" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libtest-a09fad3b5321e7d6.rlib" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgetopts-f9c3dff41ad42661.rlib" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunicode_width-ad2aef31af6addd3.rlib" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_std-e3f907dc03deb913.rlib" "/opt/rustwide/target/debug/deps/libitertools-9e417a1b320da93d.rlib" "/opt/rustwide/target/debug/deps/libnalgebra-062e01081466a0b4.rlib" "/opt/rustwide/target/debug/deps/libmatrixmultiply-bf4e3b40111411b8.rlib" "/opt/rustwide/target/debug/deps/librawpointer-9a82b3d0237eca24.rlib" "/opt/rustwide/target/debug/deps/libnum_rational-4b20c7970d1e3578.rlib" "/opt/rustwide/target/debug/deps/libnum_integer-b7e48896926509c5.rlib" "/opt/rustwide/target/debug/deps/libsimba-8c7662b67792e4b3.rlib" "/opt/rustwide/target/debug/deps/libwide-0a54233eee15b652.rlib" "/opt/rustwide/target/debug/deps/libsafe_arch-add735df2d4c7dd7.rlib" "/opt/rustwide/target/debug/deps/libbytemuck-b219afd492cc01b6.rlib" "/opt/rustwide/target/debug/deps/libapprox-e9ed92c56d366f57.rlib" "/opt/rustwide/target/debug/deps/librayon-9eef7b85944a64b9.rlib" "/opt/rustwide/target/debug/deps/librayon_core-a58a5f58eb9ad7db.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_deque-858959b96805030a.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_epoch-b5a33f884d5450b9.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_utils-fd980c92aed8cdbe.rlib" "/opt/rustwide/target/debug/deps/libeither-386a0ff0e76518e4.rlib" "/opt/rustwide/target/debug/deps/libtypenum-5326f72807cfe834.rlib" "/opt/rustwide/target/debug/deps/libanyhow-c6bfdd57e897141e.rlib" "/opt/rustwide/target/debug/deps/liblapack-642df6b740c3cc9d.rlib" "/opt/rustwide/target/debug/deps/liblapack_sys-fccef51a90832a67.rlib" "/opt/rustwide/target/debug/deps/libblas-b442c5c44c5e0703.rlib" "/opt/rustwide/target/debug/deps/libnum_complex-25493465bc1b7f8f.rlib" "/opt/rustwide/target/debug/deps/libnum_traits-f4156d1e802a5c62.rlib" "/opt/rustwide/target/debug/deps/libblas_sys-3b7e5c59077cf4fb.rlib" "/opt/rustwide/target/debug/deps/liblibc-663f09ba3db1840e.rlib" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-fb8c387236db3c10.rlib" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-b251837809b2f64b.rlib" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-cbef83eaa4e01f04.rlib" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-12a772286de2fca7.rlib" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-023bbe5ada7abfc3.rlib" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-de2bcdf10ec69c2b.rlib" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-8e1754df350800fd.rlib" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-06c2ab7b9c32e037.rlib" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-51d2621fc57a281b.rlib" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-54a930408793772f.rlib" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-0c7d01cba400dcb2.rlib" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-b9f84d69e331b75b.rlib" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-eec95493246aae39.rlib" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-6f6676c475e08ab0.rlib" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-799d520624f8b2e0.rlib" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-fcf93d4842acd9a9.rlib" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-395a38b8e0851c9b.rlib" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-d453bab70303062c.rlib" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-0e6386368b0a24e8.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-B/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-fuse-ld=lld" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/opt/rustwide/rustup-home/toolchains/nightly-2024-10-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/opt/rustwide/target/debug/deps/rest_tensors-f8d5235410a67ad1" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs"
[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-6f17d22bba15001f/blas-0.22.0/src/lib.rs:2124)
[INFO] [stdout]           >>>               /opt/rustwide/target/debug/deps/rest_tensors-f8d5235410a67ad1.rest_tensors.6264fa374dee699c-cgu.2.rcgu.o:(blas::dgemm::h99e428a5ee7bb0a0)
[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-6f17d22bba15001f/lapack-0.19.0/src/lapack-sys.rs:29108)
[INFO] [stdout]           >>>               /opt/rustwide/target/debug/deps/rest_tensors-f8d5235410a67ad1.rest_tensors.6264fa374dee699c-cgu.2.rcgu.o:(lapack::dsyev::h4243bbf6ade2d491)
[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-6f17d22bba15001f/lapack-0.19.0/src/lapack-sys.rs:8209)
[INFO] [stdout]           >>>               /opt/rustwide/target/debug/deps/rest_tensors-f8d5235410a67ad1.rest_tensors.6264fa374dee699c-cgu.2.rcgu.o:(lapack::dgetrf::hf98e17296f833150)
[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-6f17d22bba15001f/lapack-0.19.0/src/lapack-sys.rs:8294)
[INFO] [stdout]           >>>               /opt/rustwide/target/debug/deps/rest_tensors-f8d5235410a67ad1.rest_tensors.6264fa374dee699c-cgu.2.rcgu.o:(lapack::dgetri::h6dc9dde52080dc96)
[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-6f17d22bba15001f/lapack-0.19.0/src/lapack-sys.rs:23845)
[INFO] [stdout]           >>>               /opt/rustwide/target/debug/deps/rest_tensors-f8d5235410a67ad1.rest_tensors.6264fa374dee699c-cgu.2.rcgu.o:(lapack::dpotrf::h1165a86d6d0168b6)
[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-6f17d22bba15001f/lapack-0.19.0/src/lapack-sys.rs:23885)
[INFO] [stdout]           >>>               /opt/rustwide/target/debug/deps/rest_tensors-f8d5235410a67ad1.rest_tensors.6264fa374dee699c-cgu.2.rcgu.o:(lapack::dpotri::h89183a5f51aa602f)
[INFO] [stdout]           collect2: error: ld returned 1 exit status
[INFO] [stdout]           
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rest_tensors` (lib test) due to 1 previous error; 40 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "f84ec11becec7263f0626950c900e99766448965d1dcc9dc48340779210ece01", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f84ec11becec7263f0626950c900e99766448965d1dcc9dc48340779210ece01", kill_on_drop: false }`
[INFO] [stdout] f84ec11becec7263f0626950c900e99766448965d1dcc9dc48340779210ece01
