[INFO] updating cached repository weirdev/spectral-graph-partitioning [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/weirdev/spectral-graph-partitioning [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/weirdev/spectral-graph-partitioning" "work/ex/clippy-test-run/sources/stable/gh/weirdev/spectral-graph-partitioning"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/weirdev/spectral-graph-partitioning'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/weirdev/spectral-graph-partitioning" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/weirdev/spectral-graph-partitioning"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/weirdev/spectral-graph-partitioning'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] d240ed374d9acf7a64545adf4c60dae6911ce3a7 [INFO] sha for GitHub repo weirdev/spectral-graph-partitioning: d240ed374d9acf7a64545adf4c60dae6911ce3a7 [INFO] validating manifest of weirdev/spectral-graph-partitioning on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of weirdev/spectral-graph-partitioning on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing weirdev/spectral-graph-partitioning [INFO] finished frobbing weirdev/spectral-graph-partitioning [INFO] frobbed toml for weirdev/spectral-graph-partitioning written to work/ex/clippy-test-run/sources/stable/gh/weirdev/spectral-graph-partitioning/Cargo.toml [INFO] started frobbing weirdev/spectral-graph-partitioning [INFO] finished frobbing weirdev/spectral-graph-partitioning [INFO] frobbed toml for weirdev/spectral-graph-partitioning written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/weirdev/spectral-graph-partitioning/Cargo.toml [INFO] crate weirdev/spectral-graph-partitioning has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting weirdev/spectral-graph-partitioning against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/weirdev/spectral-graph-partitioning:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 99538ad9b5df2ad93c180f40dcc021c82ed32a6613fda801ff745e209a295db5 [INFO] running `"docker" "start" "-a" "99538ad9b5df2ad93c180f40dcc021c82ed32a6613fda801ff745e209a295db5"` [INFO] [stderr] Checking rand_isaac v0.1.0 [INFO] [stderr] Compiling rand v0.6.0 [INFO] [stderr] Checking ralgographpart v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/graph.rs:60:17 [INFO] [stderr] | [INFO] [stderr] 60 | let mut b = (&(&itr * &w).unwrap() * &s).unwrap(); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::many_single_char_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/matrix.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 17 | r: r, [INFO] [stderr] | ^^^^ help: replace it with: `r` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/matrix.rs:18:13 [INFO] [stderr] | [INFO] [stderr] 18 | c: c, [INFO] [stderr] | ^^^^ help: replace it with: `c` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/matrix.rs:74:13 [INFO] [stderr] | [INFO] [stderr] 74 | r: r, [INFO] [stderr] | ^^^^ help: replace it with: `r` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/matrix.rs:75:13 [INFO] [stderr] | [INFO] [stderr] 75 | c: c, [INFO] [stderr] | ^^^^ help: replace it with: `c` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/matrix.rs:76:13 [INFO] [stderr] | [INFO] [stderr] 76 | elements: elements [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `elements` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/matrix.rs:421:13 [INFO] [stderr] | [INFO] [stderr] 421 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::write_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/matrix.rs:460:13 [INFO] [stderr] | [INFO] [stderr] 460 | let b = 2.0 * v[0].powi(2) / (s + v[0].powi(2)); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/graph.rs:60:17 [INFO] [stderr] | [INFO] [stderr] 60 | let mut b = (&(&itr * &w).unwrap() * &s).unwrap(); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::many_single_char_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/matrix.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 17 | r: r, [INFO] [stderr] | ^^^^ help: replace it with: `r` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/matrix.rs:18:13 [INFO] [stderr] | [INFO] [stderr] 18 | c: c, [INFO] [stderr] | ^^^^ help: replace it with: `c` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/matrix.rs:74:13 [INFO] [stderr] | [INFO] [stderr] 74 | r: r, [INFO] [stderr] | ^^^^ help: replace it with: `r` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/matrix.rs:75:13 [INFO] [stderr] | [INFO] [stderr] 75 | c: c, [INFO] [stderr] | ^^^^ help: replace it with: `c` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/matrix.rs:76:13 [INFO] [stderr] | [INFO] [stderr] 76 | elements: elements [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `elements` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/matrix.rs:421:13 [INFO] [stderr] | [INFO] [stderr] 421 | write!(f, "\n")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::write_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/matrix.rs:460:13 [INFO] [stderr] | [INFO] [stderr] 460 | let b = 2.0 * v[0].powi(2) / (s + v[0].powi(2)); [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: unused import: `matrix::Matrix` [INFO] [stderr] --> src/main.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use matrix::Matrix; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `matrix::Matrix` [INFO] [stderr] --> src/main.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use matrix::Matrix; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `laplacian` [INFO] [stderr] --> src/graph.rs:42:5 [INFO] [stderr] | [INFO] [stderr] 42 | pub fn laplacian(&self) -> Matrix { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `create_pairwise_connected` [INFO] [stderr] --> src/graph.rs:72:1 [INFO] [stderr] | [INFO] [stderr] 72 | pub fn create_pairwise_connected(pairs: usize) -> Graph { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `create_bipartite` [INFO] [stderr] --> src/graph.rs:80:1 [INFO] [stderr] | [INFO] [stderr] 80 | pub fn create_bipartite(half_size: usize) -> Graph { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `create_from_2d_points` [INFO] [stderr] --> src/graph.rs:90:1 [INFO] [stderr] | [INFO] [stderr] 90 | pub fn create_from_2d_points(x: Vec, y: Vec) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `variance` [INFO] [stderr] --> src/graph.rs:123:1 [INFO] [stderr] | [INFO] [stderr] 123 | fn variance(x: &Vec) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `mean` [INFO] [stderr] --> src/graph.rs:136:1 [INFO] [stderr] | [INFO] [stderr] 136 | fn mean(x: &Vec) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `to_square` [INFO] [stderr] --> src/matrix.rs:299:5 [INFO] [stderr] | [INFO] [stderr] 299 | pub fn to_square(self) -> Matrix { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `golub_kahan_svd_iteration` [INFO] [stderr] --> src/matrix.rs:469:1 [INFO] [stderr] | [INFO] [stderr] 469 | pub fn golub_kahan_svd_iteration(d: Vec, f: Vec) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/graph.rs:123:16 [INFO] [stderr] | [INFO] [stderr] 123 | fn variance(x: &Vec) -> Result { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[f64]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/graph.rs:124:8 [INFO] [stderr] | [INFO] [stderr] 124 | if x.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `x.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/graph.rs:136:12 [INFO] [stderr] | [INFO] [stderr] 136 | fn mean(x: &Vec) -> f64 { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[f64]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/graph.rs:137:8 [INFO] [stderr] | [INFO] [stderr] 137 | if x.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!x.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: it looks like you're manually copying between slices [INFO] [stderr] --> src/matrix.rs:25:18 [INFO] [stderr] | [INFO] [stderr] 25 | for i in 0..diagonals.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try replacing the loop by: `mat[i][..diagonals.len()].clone_from_slice(&diagonals[..])` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::manual_memcpy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_memcpy [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `mat`. [INFO] [stderr] --> src/matrix.rs:35:18 [INFO] [stderr] | [INFO] [stderr] 35 | for i in 0..r { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 35 | for in mat.iter_mut().take(r) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/matrix.rs:44:24 [INFO] [stderr] | [INFO] [stderr] 44 | pub fn from_vec(v: &Vec) -> Matrix { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[f64]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `mat` [INFO] [stderr] --> src/matrix.rs:56:18 [INFO] [stderr] | [INFO] [stderr] 56 | for i in 0..n { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 56 | for (i, ) in mat.iter_mut().enumerate().take(n) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `elements`. [INFO] [stderr] --> src/matrix.rs:67:22 [INFO] [stderr] | [INFO] [stderr] 67 | for i in 1..r { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 67 | for in elements.iter().take(r).skip(1) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `self` [INFO] [stderr] --> src/matrix.rs:93:18 [INFO] [stderr] | [INFO] [stderr] 93 | for i in 0..cmp::min(self.r, self.c) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 93 | for (i, ) in self.iter().enumerate().take(cmp::min(self.r, self.c)) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `self`. [INFO] [stderr] --> src/matrix.rs:101:18 [INFO] [stderr] | [INFO] [stderr] 101 | for i in 0..self.r { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 101 | for in self.iter().take(self.r) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: it looks like you're manually copying between slices [INFO] [stderr] --> src/matrix.rs:109:22 [INFO] [stderr] | [INFO] [stderr] 109 | for j in 0..sub.c { [INFO] [stderr] | ^^^^^^^^ help: try replacing the loop by: `self[row + i][column..(sub.c + column)].clone_from_slice(&sub[i][..sub.c])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_memcpy [INFO] [stderr] [INFO] [stderr] warning: the loop variable `j` is used to index `mat` [INFO] [stderr] --> src/matrix.rs:118:22 [INFO] [stderr] | [INFO] [stderr] 118 | for j in 0..self.c { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 118 | for (j, ) in mat.iter_mut().enumerate().take(self.c) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `bin`. [INFO] [stderr] --> src/matrix.rs:135:22 [INFO] [stderr] | [INFO] [stderr] 135 | for i in 1..bin.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 135 | for in bin.iter().skip(1) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `self`. [INFO] [stderr] --> src/matrix.rs:157:22 [INFO] [stderr] | [INFO] [stderr] 157 | for i in j..self.r { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 157 | for in self.iter().take(self.r).skip(j) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: it looks like you're manually copying between slices [INFO] [stderr] --> src/matrix.rs:199:22 [INFO] [stderr] | [INFO] [stderr] 199 | for j in i..self.c { [INFO] [stderr] | ^^^^^^^^^ help: try replacing the loop by: `r[i][i..self.c].clone_from_slice(&self[i][i..self.c])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_memcpy [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `self`. [INFO] [stderr] --> src/matrix.rs:222:22 [INFO] [stderr] | [INFO] [stderr] 222 | for i in j..self.r { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 222 | for in self.iter().take(self.r).skip(j) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/matrix.rs:299:22 [INFO] [stderr] | [INFO] [stderr] 299 | pub fn to_square(self) -> Matrix { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/matrix.rs:339:5 [INFO] [stderr] | [INFO] [stderr] 339 | / fn index<'a>(&'a self, index: usize) -> &'a Self::Output { [INFO] [stderr] 340 | | &self.elements[index] [INFO] [stderr] 341 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/matrix.rs:345:5 [INFO] [stderr] | [INFO] [stderr] 345 | / fn index_mut<'a>(&'a mut self, index: usize) -> &'a mut Self::Output { [INFO] [stderr] 346 | | &mut self.elements[index] [INFO] [stderr] 347 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: the loop variable `x` is used to index `rhs` [INFO] [stderr] --> src/matrix.rs:378:26 [INFO] [stderr] | [INFO] [stderr] 378 | for x in 0..self.c { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 378 | for (x, ) in rhs.iter().enumerate().take(self.c) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `r` is only used to index `self`. [INFO] [stderr] --> src/matrix.rs:417:18 [INFO] [stderr] | [INFO] [stderr] 417 | for r in 0..self.r-1 { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 417 | for in self.iter().take(self.r-1) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `x`. [INFO] [stderr] --> src/matrix.rs:446:14 [INFO] [stderr] | [INFO] [stderr] 446 | for i in 1..x.len() { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 446 | for in x.iter().skip(1) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `m` is only used to index `points_per_cluster`. [INFO] [stderr] --> src/cluster.rs:39:14 [INFO] [stderr] | [INFO] [stderr] 39 | for m in 1..centroids.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 39 | for in points_per_cluster.iter_mut().take(centroids.len()).skip(1) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `laplacian` [INFO] [stderr] --> src/graph.rs:42:5 [INFO] [stderr] | [INFO] [stderr] 42 | pub fn laplacian(&self) -> Matrix { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `create_pairwise_connected` [INFO] [stderr] --> src/graph.rs:72:1 [INFO] [stderr] | [INFO] [stderr] 72 | pub fn create_pairwise_connected(pairs: usize) -> Graph { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `create_bipartite` [INFO] [stderr] --> src/graph.rs:80:1 [INFO] [stderr] | [INFO] [stderr] 80 | pub fn create_bipartite(half_size: usize) -> Graph { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `create_from_2d_points` [INFO] [stderr] --> src/graph.rs:90:1 [INFO] [stderr] | [INFO] [stderr] 90 | pub fn create_from_2d_points(x: Vec, y: Vec) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `variance` [INFO] [stderr] --> src/graph.rs:123:1 [INFO] [stderr] | [INFO] [stderr] 123 | fn variance(x: &Vec) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `mean` [INFO] [stderr] --> src/graph.rs:136:1 [INFO] [stderr] | [INFO] [stderr] 136 | fn mean(x: &Vec) -> f64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `to_square` [INFO] [stderr] --> src/matrix.rs:299:5 [INFO] [stderr] | [INFO] [stderr] 299 | pub fn to_square(self) -> Matrix { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `golub_kahan_svd_iteration` [INFO] [stderr] --> src/matrix.rs:469:1 [INFO] [stderr] | [INFO] [stderr] 469 | pub fn golub_kahan_svd_iteration(d: Vec, f: Vec) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/graph.rs:123:16 [INFO] [stderr] | [INFO] [stderr] 123 | fn variance(x: &Vec) -> Result { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[f64]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/graph.rs:124:8 [INFO] [stderr] | [INFO] [stderr] 124 | if x.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `x.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/graph.rs:136:12 [INFO] [stderr] | [INFO] [stderr] 136 | fn mean(x: &Vec) -> f64 { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[f64]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/graph.rs:137:8 [INFO] [stderr] | [INFO] [stderr] 137 | if x.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!x.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: it looks like you're manually copying between slices [INFO] [stderr] --> src/matrix.rs:25:18 [INFO] [stderr] | [INFO] [stderr] 25 | for i in 0..diagonals.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try replacing the loop by: `mat[i][..diagonals.len()].clone_from_slice(&diagonals[..])` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::manual_memcpy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_memcpy [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `mat`. [INFO] [stderr] --> src/matrix.rs:35:18 [INFO] [stderr] | [INFO] [stderr] 35 | for i in 0..r { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 35 | for in mat.iter_mut().take(r) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/matrix.rs:44:24 [INFO] [stderr] | [INFO] [stderr] 44 | pub fn from_vec(v: &Vec) -> Matrix { [INFO] [stderr] | ^^^^^^^^^ help: change this to: `&[f64]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `mat` [INFO] [stderr] --> src/matrix.rs:56:18 [INFO] [stderr] | [INFO] [stderr] 56 | for i in 0..n { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 56 | for (i, ) in mat.iter_mut().enumerate().take(n) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `elements`. [INFO] [stderr] --> src/matrix.rs:67:22 [INFO] [stderr] | [INFO] [stderr] 67 | for i in 1..r { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 67 | for in elements.iter().take(r).skip(1) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `self` [INFO] [stderr] --> src/matrix.rs:93:18 [INFO] [stderr] | [INFO] [stderr] 93 | for i in 0..cmp::min(self.r, self.c) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 93 | for (i, ) in self.iter().enumerate().take(cmp::min(self.r, self.c)) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `self`. [INFO] [stderr] --> src/matrix.rs:101:18 [INFO] [stderr] | [INFO] [stderr] 101 | for i in 0..self.r { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 101 | for in self.iter().take(self.r) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: it looks like you're manually copying between slices [INFO] [stderr] --> src/matrix.rs:109:22 [INFO] [stderr] | [INFO] [stderr] 109 | for j in 0..sub.c { [INFO] [stderr] | ^^^^^^^^ help: try replacing the loop by: `self[row + i][column..(sub.c + column)].clone_from_slice(&sub[i][..sub.c])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_memcpy [INFO] [stderr] [INFO] [stderr] warning: the loop variable `j` is used to index `mat` [INFO] [stderr] --> src/matrix.rs:118:22 [INFO] [stderr] | [INFO] [stderr] 118 | for j in 0..self.c { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 118 | for (j, ) in mat.iter_mut().enumerate().take(self.c) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `bin`. [INFO] [stderr] --> src/matrix.rs:135:22 [INFO] [stderr] | [INFO] [stderr] 135 | for i in 1..bin.len() { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 135 | for in bin.iter().skip(1) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `self`. [INFO] [stderr] --> src/matrix.rs:157:22 [INFO] [stderr] | [INFO] [stderr] 157 | for i in j..self.r { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 157 | for in self.iter().take(self.r).skip(j) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: it looks like you're manually copying between slices [INFO] [stderr] --> src/matrix.rs:199:22 [INFO] [stderr] | [INFO] [stderr] 199 | for j in i..self.c { [INFO] [stderr] | ^^^^^^^^^ help: try replacing the loop by: `r[i][i..self.c].clone_from_slice(&self[i][i..self.c])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_memcpy [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `self`. [INFO] [stderr] --> src/matrix.rs:222:22 [INFO] [stderr] | [INFO] [stderr] 222 | for i in j..self.r { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 222 | for in self.iter().take(self.r).skip(j) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/matrix.rs:299:22 [INFO] [stderr] | [INFO] [stderr] 299 | pub fn to_square(self) -> Matrix { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/matrix.rs:339:5 [INFO] [stderr] | [INFO] [stderr] 339 | / fn index<'a>(&'a self, index: usize) -> &'a Self::Output { [INFO] [stderr] 340 | | &self.elements[index] [INFO] [stderr] 341 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/matrix.rs:345:5 [INFO] [stderr] | [INFO] [stderr] 345 | / fn index_mut<'a>(&'a mut self, index: usize) -> &'a mut Self::Output { [INFO] [stderr] 346 | | &mut self.elements[index] [INFO] [stderr] 347 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: the loop variable `x` is used to index `rhs` [INFO] [stderr] --> src/matrix.rs:378:26 [INFO] [stderr] | [INFO] [stderr] 378 | for x in 0..self.c { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 378 | for (x, ) in rhs.iter().enumerate().take(self.c) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `r` is only used to index `self`. [INFO] [stderr] --> src/matrix.rs:417:18 [INFO] [stderr] | [INFO] [stderr] 417 | for r in 0..self.r-1 { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 417 | for in self.iter().take(self.r-1) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `x`. [INFO] [stderr] --> src/matrix.rs:446:14 [INFO] [stderr] | [INFO] [stderr] 446 | for i in 1..x.len() { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 446 | for in x.iter().skip(1) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `m` is only used to index `points_per_cluster`. [INFO] [stderr] --> src/cluster.rs:39:14 [INFO] [stderr] | [INFO] [stderr] 39 | for m in 1..centroids.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 39 | for in points_per_cluster.iter_mut().take(centroids.len()).skip(1) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 5.75s [INFO] running `"docker" "inspect" "99538ad9b5df2ad93c180f40dcc021c82ed32a6613fda801ff745e209a295db5"` [INFO] running `"docker" "rm" "-f" "99538ad9b5df2ad93c180f40dcc021c82ed32a6613fda801ff745e209a295db5"` [INFO] [stdout] 99538ad9b5df2ad93c180f40dcc021c82ed32a6613fda801ff745e209a295db5