[INFO] crate la 0.2.0 is already in cache [INFO] extracting crate la 0.2.0 into work/ex/clippy-test-run/sources/stable/reg/la/0.2.0 [INFO] extracting crate la 0.2.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/la/0.2.0 [INFO] validating manifest of la-0.2.0 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 la-0.2.0 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 la-0.2.0 [INFO] finished frobbing la-0.2.0 [INFO] frobbed toml for la-0.2.0 written to work/ex/clippy-test-run/sources/stable/reg/la/0.2.0/Cargo.toml [INFO] started frobbing la-0.2.0 [INFO] finished frobbing la-0.2.0 [INFO] frobbed toml for la-0.2.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/la/0.2.0/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [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 la-0.2.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-0/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/la/0.2.0:/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] 333b6bbbb5239710913ba2e706f056fc65b3f074fc55967de8ca94e464057a6e [INFO] running `"docker" "start" "-a" "333b6bbbb5239710913ba2e706f056fc65b3f074fc55967de8ca94e464057a6e"` [INFO] [stderr] Checking la v0.2.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/matrix/mod.rs:153:14 [INFO] [stderr] | [INFO] [stderr] 153 | Matrix { no_rows : no_rows, data : data } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `no_rows` [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/mod.rs:153:33 [INFO] [stderr] | [INFO] [stderr] 153 | Matrix { no_rows : no_rows, data : data } [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `data` [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/mod.rs:159:14 [INFO] [stderr] | [INFO] [stderr] 159 | Matrix { no_rows : no_rows, data : alloc_dirty_vec(elems) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `no_rows` [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/mod.rs:164:36 [INFO] [stderr] | [INFO] [stderr] 164 | Matrix { no_rows : data.len(), data : data } [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `data` [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/mod.rs:169:27 [INFO] [stderr] | [INFO] [stderr] 169 | Matrix { no_rows : 1, data : data } [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `data` [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/mod.rs:211:7 [INFO] [stderr] | [INFO] [stderr] 211 | data : data [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `data` [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/mod.rs:246:7 [INFO] [stderr] | [INFO] [stderr] 246 | no_rows : no_rows, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `no_rows` [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/mod.rs:285:14 [INFO] [stderr] | [INFO] [stderr] 285 | Matrix { no_rows : no_rows, data : d } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `no_rows` [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/mod.rs:293:14 [INFO] [stderr] | [INFO] [stderr] 293 | Matrix { no_rows : no_rows, data : d } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `no_rows` [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/mod.rs:464:7 [INFO] [stderr] | [INFO] [stderr] 464 | no_rows : no_rows, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `no_rows` [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/mod.rs:577:14 [INFO] [stderr] | [INFO] [stderr] 577 | Matrix { no_rows : no_rows, data : d } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `no_rows` [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: 5th binding whose name is just one char [INFO] [stderr] --> src/decomp/eigen.rs:169:19 [INFO] [stderr] | [INFO] [stderr] 169 | let mut p = (ddata[l + 1] - g) / (tmp * edata[l]); [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: 6th binding whose name is just one char [INFO] [stderr] --> src/decomp/eigen.rs:170:19 [INFO] [stderr] | [INFO] [stderr] 170 | let mut r = hypot::(p, num::one()); [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: 7th binding whose name is just one char [INFO] [stderr] --> src/decomp/eigen.rs:177:19 [INFO] [stderr] | [INFO] [stderr] 177 | let mut h = g - ddata[l]; [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: 8th binding whose name is just one char [INFO] [stderr] --> src/decomp/eigen.rs:185:19 [INFO] [stderr] | [INFO] [stderr] 185 | let mut c : T = num::one(); [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: 9th binding whose name is just one char [INFO] [stderr] --> src/decomp/eigen.rs:189:19 [INFO] [stderr] | [INFO] [stderr] 189 | let mut s : T = num::zero(); [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/decomp/eigen.rs:361:13 [INFO] [stderr] | [INFO] [stderr] 361 | let mut s = num::zero(); [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: 6th binding whose name is just one char [INFO] [stderr] --> src/decomp/eigen.rs:362:13 [INFO] [stderr] | [INFO] [stderr] 362 | let mut z = num::zero(); [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: 7th binding whose name is just one char [INFO] [stderr] --> src/decomp/eigen.rs:363:13 [INFO] [stderr] | [INFO] [stderr] 363 | let mut t; [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: 8th binding whose name is just one char [INFO] [stderr] --> src/decomp/eigen.rs:364:13 [INFO] [stderr] | [INFO] [stderr] 364 | let mut w; [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: 9th binding whose name is just one char [INFO] [stderr] --> src/decomp/eigen.rs:365:13 [INFO] [stderr] | [INFO] [stderr] 365 | let mut x; [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: 10th binding whose name is just one char [INFO] [stderr] --> src/decomp/eigen.rs:366:13 [INFO] [stderr] | [INFO] [stderr] 366 | let mut y; [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: 11th binding whose name is just one char [INFO] [stderr] --> src/decomp/eigen.rs:385:15 [INFO] [stderr] | [INFO] [stderr] 385 | let mut l = n; [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: 12th binding whose name is just one char [INFO] [stderr] --> src/decomp/eigen.rs:511:17 [INFO] [stderr] | [INFO] [stderr] 511 | let mut m = n - 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: 11th binding whose name is just one char [INFO] [stderr] --> src/decomp/eigen.rs:621:17 [INFO] [stderr] | [INFO] [stderr] 621 | let mut l = n; [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: 11th binding whose name is just one char [INFO] [stderr] --> src/decomp/eigen.rs:665:17 [INFO] [stderr] | [INFO] [stderr] 665 | let mut l = n - 1; [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: redundant field names in struct initialization [INFO] [stderr] --> src/decomp/eigen.rs:787:9 [INFO] [stderr] | [INFO] [stderr] 787 | n : n, [INFO] [stderr] | ^^^^^ help: replace it with: `n` [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/decomp/eigen.rs:808:9 [INFO] [stderr] | [INFO] [stderr] 808 | n : n, [INFO] [stderr] | ^^^^^ help: replace it with: `n` [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: 5th binding whose name is just one char [INFO] [stderr] --> src/decomp/lu.rs:142:15 [INFO] [stderr] | [INFO] [stderr] 142 | let t = ludata[p * n + k]; [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/decomp/lu.rs:147:13 [INFO] [stderr] | [INFO] [stderr] 147 | let k = pivdata[p as usize]; [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: redundant field names in struct initialization [INFO] [stderr] --> src/decomp/lu.rs:165:7 [INFO] [stderr] | [INFO] [stderr] 165 | pospivsign : pospivsign, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `pospivsign` [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/decomp/qr.rs:42:55 [INFO] [stderr] | [INFO] [stderr] 42 | QRDecomposition { qr : Matrix::new(m, n, qrdata), rdiag : rdiag } [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `rdiag` [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: 5th binding whose name is just one char [INFO] [stderr] --> src/decomp/svd.rs:176:19 [INFO] [stderr] | [INFO] [stderr] 176 | let mut t : T = num::zero(); [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/decomp/svd.rs:208:19 [INFO] [stderr] | [INFO] [stderr] 208 | let mut t : T = num::zero(); [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/decomp/svd.rs:241:15 [INFO] [stderr] | [INFO] [stderr] 241 | let mut k = (p as isize) - 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: 6th binding whose name is just one char [INFO] [stderr] --> src/decomp/svd.rs:255:15 [INFO] [stderr] | [INFO] [stderr] 255 | let t = (if ks != (p as isize) { num::abs(edata[ks as usize]) } else { num::zero() }) [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: 6th binding whose name is just one char [INFO] [stderr] --> src/decomp/svd.rs:277:17 [INFO] [stderr] | [INFO] [stderr] 277 | let mut f = edata[p - 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: 7th binding whose name is just one char [INFO] [stderr] --> src/decomp/svd.rs:279:17 [INFO] [stderr] | [INFO] [stderr] 279 | let mut j = (p as isize) - 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: 8th binding whose name is just one char [INFO] [stderr] --> src/decomp/svd.rs:281:19 [INFO] [stderr] | [INFO] [stderr] 281 | let mut t = hypot(sdata[j as usize], f); [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: 6th binding whose name is just one char [INFO] [stderr] --> src/decomp/svd.rs:299:17 [INFO] [stderr] | [INFO] [stderr] 299 | let mut f = edata[(k - 1) as usize]; [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: 7th binding whose name is just one char [INFO] [stderr] --> src/decomp/svd.rs:302:19 [INFO] [stderr] | [INFO] [stderr] 302 | let mut t = hypot(sdata[j as usize], f); [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: 6th binding whose name is just one char [INFO] [stderr] --> src/decomp/svd.rs:329:13 [INFO] [stderr] | [INFO] [stderr] 329 | let b = ((spm1 + sp) * (spm1 - sp) + epm1 * epm1) / num::cast(2.0).unwrap(); [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: 7th binding whose name is just one char [INFO] [stderr] --> src/decomp/svd.rs:330:13 [INFO] [stderr] | [INFO] [stderr] 330 | let c = (sp * epm1) * (sp * epm1); [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: 8th binding whose name is just one char [INFO] [stderr] --> src/decomp/svd.rs:340:17 [INFO] [stderr] | [INFO] [stderr] 340 | let mut f = (sk + sp) * (sk - sp) + shift; [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: 9th binding whose name is just one char [INFO] [stderr] --> src/decomp/svd.rs:341:17 [INFO] [stderr] | [INFO] [stderr] 341 | let mut g = sk * ek; [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: 10th binding whose name is just one char [INFO] [stderr] --> src/decomp/svd.rs:345:19 [INFO] [stderr] | [INFO] [stderr] 345 | let mut t = hypot(f, g); [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: 6th binding whose name is just one char [INFO] [stderr] --> src/decomp/svd.rs:396:19 [INFO] [stderr] | [INFO] [stderr] 396 | let mut t = sdata[k as usize]; [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: redundant field names in struct initialization [INFO] [stderr] --> src/matrix/mod.rs:153:14 [INFO] [stderr] | [INFO] [stderr] 153 | Matrix { no_rows : no_rows, data : data } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `no_rows` [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/mod.rs:153:33 [INFO] [stderr] | [INFO] [stderr] 153 | Matrix { no_rows : no_rows, data : data } [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `data` [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/mod.rs:159:14 [INFO] [stderr] | [INFO] [stderr] 159 | Matrix { no_rows : no_rows, data : alloc_dirty_vec(elems) } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `no_rows` [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/mod.rs:164:36 [INFO] [stderr] | [INFO] [stderr] 164 | Matrix { no_rows : data.len(), data : data } [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `data` [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/mod.rs:169:27 [INFO] [stderr] | [INFO] [stderr] 169 | Matrix { no_rows : 1, data : data } [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `data` [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/mod.rs:211:7 [INFO] [stderr] | [INFO] [stderr] 211 | data : data [INFO] [stderr] | ^^^^^^^^^^^ help: replace it with: `data` [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/mod.rs:246:7 [INFO] [stderr] | [INFO] [stderr] 246 | no_rows : no_rows, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `no_rows` [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/mod.rs:285:14 [INFO] [stderr] | [INFO] [stderr] 285 | Matrix { no_rows : no_rows, data : d } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `no_rows` [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/mod.rs:293:14 [INFO] [stderr] | [INFO] [stderr] 293 | Matrix { no_rows : no_rows, data : d } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `no_rows` [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/mod.rs:464:7 [INFO] [stderr] | [INFO] [stderr] 464 | no_rows : no_rows, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `no_rows` [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/mod.rs:577:14 [INFO] [stderr] | [INFO] [stderr] 577 | Matrix { no_rows : no_rows, data : d } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: replace it with: `no_rows` [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: 5th binding whose name is just one char [INFO] [stderr] --> src/decomp/eigen.rs:169:19 [INFO] [stderr] | [INFO] [stderr] 169 | let mut p = (ddata[l + 1] - g) / (tmp * edata[l]); [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: 6th binding whose name is just one char [INFO] [stderr] --> src/decomp/eigen.rs:170:19 [INFO] [stderr] | [INFO] [stderr] 170 | let mut r = hypot::(p, num::one()); [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: 7th binding whose name is just one char [INFO] [stderr] --> src/decomp/eigen.rs:177:19 [INFO] [stderr] | [INFO] [stderr] 177 | let mut h = g - ddata[l]; [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: 8th binding whose name is just one char [INFO] [stderr] --> src/decomp/eigen.rs:185:19 [INFO] [stderr] | [INFO] [stderr] 185 | let mut c : T = num::one(); [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: 9th binding whose name is just one char [INFO] [stderr] --> src/decomp/eigen.rs:189:19 [INFO] [stderr] | [INFO] [stderr] 189 | let mut s : T = num::zero(); [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/decomp/eigen.rs:361:13 [INFO] [stderr] | [INFO] [stderr] 361 | let mut s = num::zero(); [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: 6th binding whose name is just one char [INFO] [stderr] --> src/decomp/eigen.rs:362:13 [INFO] [stderr] | [INFO] [stderr] 362 | let mut z = num::zero(); [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: 7th binding whose name is just one char [INFO] [stderr] --> src/decomp/eigen.rs:363:13 [INFO] [stderr] | [INFO] [stderr] 363 | let mut t; [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: 8th binding whose name is just one char [INFO] [stderr] --> src/decomp/eigen.rs:364:13 [INFO] [stderr] | [INFO] [stderr] 364 | let mut w; [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: 9th binding whose name is just one char [INFO] [stderr] --> src/decomp/eigen.rs:365:13 [INFO] [stderr] | [INFO] [stderr] 365 | let mut x; [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: 10th binding whose name is just one char [INFO] [stderr] --> src/decomp/eigen.rs:366:13 [INFO] [stderr] | [INFO] [stderr] 366 | let mut y; [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: 11th binding whose name is just one char [INFO] [stderr] --> src/decomp/eigen.rs:385:15 [INFO] [stderr] | [INFO] [stderr] 385 | let mut l = n; [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: 12th binding whose name is just one char [INFO] [stderr] --> src/decomp/eigen.rs:511:17 [INFO] [stderr] | [INFO] [stderr] 511 | let mut m = n - 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: 11th binding whose name is just one char [INFO] [stderr] --> src/decomp/eigen.rs:621:17 [INFO] [stderr] | [INFO] [stderr] 621 | let mut l = n; [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: 11th binding whose name is just one char [INFO] [stderr] --> src/decomp/eigen.rs:665:17 [INFO] [stderr] | [INFO] [stderr] 665 | let mut l = n - 1; [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: redundant field names in struct initialization [INFO] [stderr] --> src/decomp/eigen.rs:787:9 [INFO] [stderr] | [INFO] [stderr] 787 | n : n, [INFO] [stderr] | ^^^^^ help: replace it with: `n` [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/decomp/eigen.rs:808:9 [INFO] [stderr] | [INFO] [stderr] 808 | n : n, [INFO] [stderr] | ^^^^^ help: replace it with: `n` [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: 5th binding whose name is just one char [INFO] [stderr] --> src/decomp/lu.rs:142:15 [INFO] [stderr] | [INFO] [stderr] 142 | let t = ludata[p * n + k]; [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/decomp/lu.rs:147:13 [INFO] [stderr] | [INFO] [stderr] 147 | let k = pivdata[p as usize]; [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: redundant field names in struct initialization [INFO] [stderr] --> src/decomp/lu.rs:165:7 [INFO] [stderr] | [INFO] [stderr] 165 | pospivsign : pospivsign, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `pospivsign` [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/decomp/qr.rs:42:55 [INFO] [stderr] | [INFO] [stderr] 42 | QRDecomposition { qr : Matrix::new(m, n, qrdata), rdiag : rdiag } [INFO] [stderr] | ^^^^^^^^^^^^^ help: replace it with: `rdiag` [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: 5th binding whose name is just one char [INFO] [stderr] --> src/decomp/svd.rs:176:19 [INFO] [stderr] | [INFO] [stderr] 176 | let mut t : T = num::zero(); [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/decomp/svd.rs:208:19 [INFO] [stderr] | [INFO] [stderr] 208 | let mut t : T = num::zero(); [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/decomp/svd.rs:241:15 [INFO] [stderr] | [INFO] [stderr] 241 | let mut k = (p as isize) - 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: 6th binding whose name is just one char [INFO] [stderr] --> src/decomp/svd.rs:255:15 [INFO] [stderr] | [INFO] [stderr] 255 | let t = (if ks != (p as isize) { num::abs(edata[ks as usize]) } else { num::zero() }) [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: 6th binding whose name is just one char [INFO] [stderr] --> src/decomp/svd.rs:277:17 [INFO] [stderr] | [INFO] [stderr] 277 | let mut f = edata[p - 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: 7th binding whose name is just one char [INFO] [stderr] --> src/decomp/svd.rs:279:17 [INFO] [stderr] | [INFO] [stderr] 279 | let mut j = (p as isize) - 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: 8th binding whose name is just one char [INFO] [stderr] --> src/decomp/svd.rs:281:19 [INFO] [stderr] | [INFO] [stderr] 281 | let mut t = hypot(sdata[j as usize], f); [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: 6th binding whose name is just one char [INFO] [stderr] --> src/decomp/svd.rs:299:17 [INFO] [stderr] | [INFO] [stderr] 299 | let mut f = edata[(k - 1) as usize]; [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: 7th binding whose name is just one char [INFO] [stderr] --> src/decomp/svd.rs:302:19 [INFO] [stderr] | [INFO] [stderr] 302 | let mut t = hypot(sdata[j as usize], f); [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: 6th binding whose name is just one char [INFO] [stderr] --> src/decomp/svd.rs:329:13 [INFO] [stderr] | [INFO] [stderr] 329 | let b = ((spm1 + sp) * (spm1 - sp) + epm1 * epm1) / num::cast(2.0).unwrap(); [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: 7th binding whose name is just one char [INFO] [stderr] --> src/decomp/svd.rs:330:13 [INFO] [stderr] | [INFO] [stderr] 330 | let c = (sp * epm1) * (sp * epm1); [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: 8th binding whose name is just one char [INFO] [stderr] --> src/decomp/svd.rs:340:17 [INFO] [stderr] | [INFO] [stderr] 340 | let mut f = (sk + sp) * (sk - sp) + shift; [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: 9th binding whose name is just one char [INFO] [stderr] --> src/decomp/svd.rs:341:17 [INFO] [stderr] | [INFO] [stderr] 341 | let mut g = sk * ek; [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: 10th binding whose name is just one char [INFO] [stderr] --> src/decomp/svd.rs:345:19 [INFO] [stderr] | [INFO] [stderr] 345 | let mut t = hypot(f, g); [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: 6th binding whose name is just one char [INFO] [stderr] --> src/decomp/svd.rs:396:19 [INFO] [stderr] | [INFO] [stderr] 396 | let mut t = sdata[k as usize]; [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: unneeded return statement [INFO] [stderr] --> src/internalutil.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | return num::abs(a) * (num::one::() + r * r).sqrt(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `num::abs(a) * (num::one::() + r * r).sqrt()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internalutil.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | return num::abs(b) * (num::one::() + r * r).sqrt(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `num::abs(b) * (num::one::() + r * r).sqrt()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internalutil.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | return Zero::zero(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Zero::zero()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/decomp/qr.rs:114:5 [INFO] [stderr] | [INFO] [stderr] 114 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internalutil.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | return num::abs(a) * (num::one::() + r * r).sqrt(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `num::abs(a) * (num::one::() + r * r).sqrt()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internalutil.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | return num::abs(b) * (num::one::() + r * r).sqrt(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `num::abs(b) * (num::one::() + r * r).sqrt()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/internalutil.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | return Zero::zero(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Zero::zero()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/decomp/eigen.rs:847:51 [INFO] [stderr] | [INFO] [stderr] 847 | assert!(Matrix::vector(r.clone()).approx_eq(&m!(56.661209; 4.301868; 0.036923))); [INFO] [stderr] | ^^^^^^^^^ help: consider: `56.661_209` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/decomp/eigen.rs:847:62 [INFO] [stderr] | [INFO] [stderr] 847 | assert!(Matrix::vector(r.clone()).approx_eq(&m!(56.661209; 4.301868; 0.036923))); [INFO] [stderr] | ^^^^^^^^ help: consider: `4.301_868` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/decomp/eigen.rs:847:72 [INFO] [stderr] | [INFO] [stderr] 847 | assert!(Matrix::vector(r.clone()).approx_eq(&m!(56.661209; 4.301868; 0.036923))); [INFO] [stderr] | ^^^^^^^^ help: consider: `0.036_923` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/decomp/qr.rs:114:5 [INFO] [stderr] | [INFO] [stderr] 114 | return true; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `true` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [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/mmatrix.rs:13:3 [INFO] [stderr] | [INFO] [stderr] 13 | / pub fn get_mref<'lt>(&'lt mut self, row : usize, col : usize) -> &'lt mut T { [INFO] [stderr] 14 | | assert!(row < self.no_rows && col < self.cols()); [INFO] [stderr] 15 | | let no_cols = self.cols(); [INFO] [stderr] 16 | | &mut self.data[row * no_cols + col] [INFO] [stderr] 17 | | } [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: length comparison to zero [INFO] [stderr] --> src/matrix/mod.rs:163:13 [INFO] [stderr] | [INFO] [stderr] 163 | assert!(data.len() > 0); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!data.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: length comparison to zero [INFO] [stderr] --> src/matrix/mod.rs:168:13 [INFO] [stderr] | [INFO] [stderr] 168 | assert!(data.len() > 0); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!data.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: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/matrix/mod.rs:181:3 [INFO] [stderr] | [INFO] [stderr] 181 | / pub fn get_ref<'lt>(&'lt self, row : usize, col : usize) -> &'lt T { [INFO] [stderr] 182 | | assert!(row < self.no_rows && col < self.cols()); [INFO] [stderr] 183 | | &self.data[row * self.cols() + col] [INFO] [stderr] 184 | | } [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 `i` is used to index `d` [INFO] [stderr] --> src/matrix/mod.rs:189:14 [INFO] [stderr] | [INFO] [stderr] 189 | for i in 0..elems { [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] 189 | for (i, ) in d.iter_mut().enumerate().take(elems) { [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/mod.rs:198:40 [INFO] [stderr] | [INFO] [stderr] 198 | pub fn reduce(&self, init: &Vec, f: &Fn(&S, &T) -> S) -> Matrix { [INFO] [stderr] | ^^^^^^^ [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] help: change this to [INFO] [stderr] | [INFO] [stderr] 198 | pub fn reduce(&self, init: &[S], f: &Fn(&S, &T) -> S) -> Matrix { [INFO] [stderr] | ^^^^ [INFO] [stderr] help: change `init.clone()` to [INFO] [stderr] | [INFO] [stderr] 201 | let mut data = init.to_owned(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `d`. [INFO] [stderr] --> src/matrix/mod.rs:230:14 [INFO] [stderr] | [INFO] [stderr] 230 | for i in 0..elems { [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] 230 | for in d.iter_mut().take(elems) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `d`. [INFO] [stderr] --> src/matrix/mod.rs:242:14 [INFO] [stderr] | [INFO] [stderr] 242 | for i in 0..elems { [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] 242 | for in d.iter_mut().take(elems) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `d`. [INFO] [stderr] --> src/matrix/mod.rs:255:14 [INFO] [stderr] | [INFO] [stderr] 255 | for i in 0..elems { [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] 255 | for in d.iter_mut().take(elems) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `d`. [INFO] [stderr] --> src/matrix/mod.rs:270:14 [INFO] [stderr] | [INFO] [stderr] 270 | for i in 0..elems { [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] 270 | for in d.iter_mut().take(elems) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `d`. [INFO] [stderr] --> src/matrix/mod.rs:282:14 [INFO] [stderr] | [INFO] [stderr] 282 | for i in 0..no_rows { [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] 282 | for in d.iter_mut().take(no_rows) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `d`. [INFO] [stderr] --> src/matrix/mod.rs:290:14 [INFO] [stderr] | [INFO] [stderr] 290 | for i in 0..no_rows { [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] 290 | for in d.iter_mut().take(no_rows) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `d` [INFO] [stderr] --> src/matrix/mod.rs:301:14 [INFO] [stderr] | [INFO] [stderr] 301 | for i in 0..elems { [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] 301 | for (i, ) in d.iter_mut().enumerate().take(elems) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `d` [INFO] [stderr] --> src/matrix/mod.rs:316:14 [INFO] [stderr] | [INFO] [stderr] 316 | for i in 0..elems { [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] 316 | for (i, ) in d.iter_mut().enumerate().take(elems) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `d` [INFO] [stderr] --> src/matrix/mod.rs:331:14 [INFO] [stderr] | [INFO] [stderr] 331 | for i in 0..elems { [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] 331 | for (i, ) in d.iter_mut().enumerate().take(elems) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `d` [INFO] [stderr] --> src/matrix/mod.rs:388:14 [INFO] [stderr] | [INFO] [stderr] 388 | for i in 0..self.data.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] 388 | for (i, ) in d.iter_mut().enumerate().take(self.data.len()) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: it looks like you're manually copying between slices [INFO] [stderr] --> src/matrix/mod.rs:388:14 [INFO] [stderr] | [INFO] [stderr] 388 | for i in 0..self.data.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try replacing the loop by: `d[..self.data.len()].clone_from_slice(&self.data[..])` [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: it looks like you're manually copying between slices [INFO] [stderr] --> src/matrix/mod.rs:392:14 [INFO] [stderr] | [INFO] [stderr] 392 | for i in 0..m.data.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try replacing the loop by: `d[offset..(m.data.len() + offset)].clone_from_slice(&m.data[..])` [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 `d`. [INFO] [stderr] --> src/matrix/mod.rs:405:14 [INFO] [stderr] | [INFO] [stderr] 405 | for i in 0..elems { [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] 405 | for in d.iter_mut().take(elems) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/matrix/mod.rs:434:7 [INFO] [stderr] | [INFO] [stderr] 434 | source_row_idx = source_row_idx + self.cols(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `source_row_idx += self.cols()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `selector` [INFO] [stderr] --> src/matrix/mod.rs:517:14 [INFO] [stderr] | [INFO] [stderr] 517 | for i in 0..selector.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] 517 | for (i, ) in selector.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `selector` [INFO] [stderr] --> src/matrix/mod.rs:528:14 [INFO] [stderr] | [INFO] [stderr] 528 | for i in 0..selector.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] 528 | for (i, ) in selector.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `d`. [INFO] [stderr] --> src/matrix/mod.rs:574:14 [INFO] [stderr] | [INFO] [stderr] 574 | for i in 0..elems { [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] 574 | for in d.iter_mut().take(elems) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `d` [INFO] [stderr] --> src/matrix/mod.rs:587:14 [INFO] [stderr] | [INFO] [stderr] 587 | for i in 0..elems { [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] 587 | for (i, ) in d.iter_mut().enumerate().take(elems) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `d` [INFO] [stderr] --> src/matrix/mod.rs:613:14 [INFO] [stderr] | [INFO] [stderr] 613 | for i in 0..elems { [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] 613 | for (i, ) in d.iter_mut().enumerate().take(elems) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `d` [INFO] [stderr] --> src/matrix/mod.rs:653:14 [INFO] [stderr] | [INFO] [stderr] 653 | for i in 0..elems { [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] 653 | for (i, ) in d.iter_mut().enumerate().take(elems) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [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/mod.rs:732:3 [INFO] [stderr] | [INFO] [stderr] 732 | fn index<'a>(&'a self, (y, x): (usize, usize)) -> &'a T { self.get_ref(y, x) } [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: single-character string constant used as pattern [INFO] [stderr] --> src/util.rs:18:37 [INFO] [stderr] | [INFO] [stderr] 18 | for item in line.unwrap().split(",") { [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: the loop variable `k` is only used to index `ddata`. [INFO] [stderr] --> src/decomp/eigen.rs:45:16 [INFO] [stderr] | [INFO] [stderr] 45 | for k in 0..i { [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] 45 | for in ddata.iter().take(i) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `k` is only used to index `ddata`. [INFO] [stderr] --> src/decomp/eigen.rs:57:18 [INFO] [stderr] | [INFO] [stderr] 57 | for k in 0..i { [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] 57 | for in ddata.iter_mut().take(i) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `j` is only used to index `edata`. [INFO] [stderr] --> src/decomp/eigen.rs:69:18 [INFO] [stderr] | [INFO] [stderr] 69 | for j in 0..i { [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] 69 | for in edata.iter_mut().take(i) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:114:18 [INFO] [stderr] | [INFO] [stderr] 114 | for k in 0..(i + 1) { [INFO] [stderr] | ^^^^^^^^^^ help: use: `0..=i` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:117:18 [INFO] [stderr] | [INFO] [stderr] 117 | for j in 0..(i + 1) { [INFO] [stderr] | ^^^^^^^^^^ help: use: `0..=i` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:119:20 [INFO] [stderr] | [INFO] [stderr] 119 | for k in 0..(i + 1) { [INFO] [stderr] | ^^^^^^^^^^ help: use: `0..=i` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:122:20 [INFO] [stderr] | [INFO] [stderr] 122 | for k in 0..(i + 1) { [INFO] [stderr] | ^^^^^^^^^^ help: use: `0..=i` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:128:16 [INFO] [stderr] | [INFO] [stderr] 128 | for k in 0..(i + 1) { [INFO] [stderr] | ^^^^^^^^^^ help: use: `0..=i` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `ddata`. [INFO] [stderr] --> src/decomp/eigen.rs:178:20 [INFO] [stderr] | [INFO] [stderr] 178 | for i in (l + 2)..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] 178 | for in ddata.iter_mut().take(n).skip((l + 2)) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `j` is used to index `ddata` [INFO] [stderr] --> src/decomp/eigen.rs:229:16 [INFO] [stderr] | [INFO] [stderr] 229 | for j in (i + 1)..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] 229 | for (j, ) in ddata.iter().enumerate().take(n).skip((i + 1)) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:261:16 [INFO] [stderr] | [INFO] [stderr] 261 | for i in m..(high + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use: `m..=high` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:267:18 [INFO] [stderr] | [INFO] [stderr] 267 | for i in (m..(high + 1)).rev() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use: `(m..=high)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:282:20 [INFO] [stderr] | [INFO] [stderr] 282 | for i in (m..(high + 1)).rev() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use: `(m..=high)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:286:20 [INFO] [stderr] | [INFO] [stderr] 286 | for i in m..(high + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use: `m..=high` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:291:18 [INFO] [stderr] | [INFO] [stderr] 291 | for i in 0..(high + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use: `0..=high` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:293:20 [INFO] [stderr] | [INFO] [stderr] 293 | for j in (m..(high + 1)).rev() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use: `(m..=high)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:297:20 [INFO] [stderr] | [INFO] [stderr] 297 | for j in m..(high + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use: `m..=high` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:315:18 [INFO] [stderr] | [INFO] [stderr] 315 | for i in (m + 1)..(high + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: use: `((m + 1)..=high)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:318:18 [INFO] [stderr] | [INFO] [stderr] 318 | for j in m..(high + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use: `m..=high` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:320:20 [INFO] [stderr] | [INFO] [stderr] 320 | for i in m..(high + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use: `m..=high` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:325:20 [INFO] [stderr] | [INFO] [stderr] 325 | for i in m..(high + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use: `m..=high` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 69 [INFO] [stderr] --> src/decomp/eigen.rs:347:3 [INFO] [stderr] | [INFO] [stderr] 347 | / fn hqr2(n : usize, ddata : &mut Vec, edata : &mut Vec, hdata : &mut Vec, vdata : &mut Vec) { [INFO] [stderr] 348 | | // This is derived from the Algol procedure hqr2, by Martin and Wilkinson, Handbook for Auto. Comp., [INFO] [stderr] 349 | | // Vol.ii-Linear Algebra, and the corresponding Fortran subroutine in EISPACK. [INFO] [stderr] 350 | | [INFO] [stderr] ... | [INFO] [stderr] 752 | | } [INFO] [stderr] 753 | | } [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:441:20 [INFO] [stderr] | [INFO] [stderr] 441 | for i in 0..(n + 1) { [INFO] [stderr] | ^^^^^^^^^^ help: use: `0..=n` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:448:20 [INFO] [stderr] | [INFO] [stderr] 448 | for i in low..(high + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use: `low..=high` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/decomp/eigen.rs:460:9 [INFO] [stderr] | [INFO] [stderr] 460 | n = n - 2; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `n -= 2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:477:20 [INFO] [stderr] | [INFO] [stderr] 477 | for i in low..(n + 1) { [INFO] [stderr] | ^^^^^^^^^^^^ help: use: `low..=n` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:498:22 [INFO] [stderr] | [INFO] [stderr] 498 | for i in low..(n + 1) { [INFO] [stderr] | ^^^^^^^^^^^^ help: use: `low..=n` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:533:18 [INFO] [stderr] | [INFO] [stderr] 533 | for i in (m + 2)..(n + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use: `((m + 2)..=n)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:585:22 [INFO] [stderr] | [INFO] [stderr] 585 | for i in 0..(cmp::min(n, k + 3) + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `0..=cmp::min(n, k + 3)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:596:22 [INFO] [stderr] | [INFO] [stderr] 596 | for i in low..(high + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use: `low..=high` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:626:20 [INFO] [stderr] | [INFO] [stderr] 626 | for j in l..(n + 1) { [INFO] [stderr] | ^^^^^^^^^^ help: use: `l..=n` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:657:24 [INFO] [stderr] | [INFO] [stderr] 657 | for j in i..(n + 1) { [INFO] [stderr] | ^^^^^^^^^^ help: use: `i..=n` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:683:20 [INFO] [stderr] | [INFO] [stderr] 683 | for j in l..(n + 1) { [INFO] [stderr] | ^^^^^^^^^^ help: use: `l..=n` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:724:24 [INFO] [stderr] | [INFO] [stderr] 724 | for j in i..(n + 1) { [INFO] [stderr] | ^^^^^^^^^^ help: use: `i..=n` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:745:16 [INFO] [stderr] | [INFO] [stderr] 745 | for i in low..(high + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use: `low..=high` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:747:18 [INFO] [stderr] | [INFO] [stderr] 747 | for k in low..(cmp::min(j, high) + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `low..=cmp::min(j, high)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `pivdata` [INFO] [stderr] --> src/decomp/lu.rs:109:14 [INFO] [stderr] | [INFO] [stderr] 109 | for i in 0..m { [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] 109 | for (i, ) in pivdata.iter_mut().enumerate().take(m) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this looks like you are swapping elements of `ludata` manually [INFO] [stderr] --> src/decomp/lu.rs:142:11 [INFO] [stderr] | [INFO] [stderr] 142 | / let t = ludata[p * n + k]; [INFO] [stderr] 143 | | ludata[p * n + k] = ludata[j * n + k]; [INFO] [stderr] 144 | | ludata[j * n + k] = t; [INFO] [stderr] | |_______________________________^ help: try: `ludata.swap(p * n + k, j * n + k)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::manual_swap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_swap [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 81 [INFO] [stderr] --> src/decomp/svd.rs:31:3 [INFO] [stderr] | [INFO] [stderr] 31 | / pub fn new(a : &Matrix) -> SVD { [INFO] [stderr] 32 | | // A = USV' [INFO] [stderr] 33 | | if a.rows() < a.cols() { [INFO] [stderr] 34 | | // a' = (usv')' = vs'u' [INFO] [stderr] ... | [INFO] [stderr] 424 | | } [INFO] [stderr] 425 | | } [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `workdata`. [INFO] [stderr] --> src/decomp/svd.rs:130:20 [INFO] [stderr] | [INFO] [stderr] 130 | for i in (k + 1)..m { [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] 130 | for in workdata.iter_mut().take(m).skip((k + 1)) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/svd.rs:386:20 [INFO] [stderr] | [INFO] [stderr] 386 | for i in 0..(pp + 1) { [INFO] [stderr] | ^^^^^^^^^^^ help: use: `0..=pp` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: this looks like you are swapping elements of `sdata` manually [INFO] [stderr] --> src/decomp/svd.rs:396:11 [INFO] [stderr] | [INFO] [stderr] 396 | / let mut t = sdata[k as usize]; [INFO] [stderr] 397 | | sdata[k as usize] = sdata[(k + 1) as usize]; [INFO] [stderr] 398 | | sdata[(k + 1) as usize] = t; [INFO] [stderr] | |_____________________________________^ help: try: `sdata.swap(k as usize, (k + 1) as usize)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_swap [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/mmatrix.rs:13:3 [INFO] [stderr] | [INFO] [stderr] 13 | / pub fn get_mref<'lt>(&'lt mut self, row : usize, col : usize) -> &'lt mut T { [INFO] [stderr] 14 | | assert!(row < self.no_rows && col < self.cols()); [INFO] [stderr] 15 | | let no_cols = self.cols(); [INFO] [stderr] 16 | | &mut self.data[row * no_cols + col] [INFO] [stderr] 17 | | } [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: length comparison to zero [INFO] [stderr] --> src/matrix/mod.rs:163:13 [INFO] [stderr] | [INFO] [stderr] 163 | assert!(data.len() > 0); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!data.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: length comparison to zero [INFO] [stderr] --> src/matrix/mod.rs:168:13 [INFO] [stderr] | [INFO] [stderr] 168 | assert!(data.len() > 0); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!data.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: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/matrix/mod.rs:181:3 [INFO] [stderr] | [INFO] [stderr] 181 | / pub fn get_ref<'lt>(&'lt self, row : usize, col : usize) -> &'lt T { [INFO] [stderr] 182 | | assert!(row < self.no_rows && col < self.cols()); [INFO] [stderr] 183 | | &self.data[row * self.cols() + col] [INFO] [stderr] 184 | | } [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 `i` is used to index `d` [INFO] [stderr] --> src/matrix/mod.rs:189:14 [INFO] [stderr] | [INFO] [stderr] 189 | for i in 0..elems { [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] 189 | for (i, ) in d.iter_mut().enumerate().take(elems) { [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/mod.rs:198:40 [INFO] [stderr] | [INFO] [stderr] 198 | pub fn reduce(&self, init: &Vec, f: &Fn(&S, &T) -> S) -> Matrix { [INFO] [stderr] | ^^^^^^^ [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] help: change this to [INFO] [stderr] | [INFO] [stderr] 198 | pub fn reduce(&self, init: &[S], f: &Fn(&S, &T) -> S) -> Matrix { [INFO] [stderr] | ^^^^ [INFO] [stderr] help: change `init.clone()` to [INFO] [stderr] | [INFO] [stderr] 201 | let mut data = init.to_owned(); [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `d`. [INFO] [stderr] --> src/matrix/mod.rs:230:14 [INFO] [stderr] | [INFO] [stderr] 230 | for i in 0..elems { [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] 230 | for in d.iter_mut().take(elems) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `d`. [INFO] [stderr] --> src/matrix/mod.rs:242:14 [INFO] [stderr] | [INFO] [stderr] 242 | for i in 0..elems { [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] 242 | for in d.iter_mut().take(elems) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `d`. [INFO] [stderr] --> src/matrix/mod.rs:255:14 [INFO] [stderr] | [INFO] [stderr] 255 | for i in 0..elems { [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] 255 | for in d.iter_mut().take(elems) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `d`. [INFO] [stderr] --> src/matrix/mod.rs:270:14 [INFO] [stderr] | [INFO] [stderr] 270 | for i in 0..elems { [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] 270 | for in d.iter_mut().take(elems) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `d`. [INFO] [stderr] --> src/matrix/mod.rs:282:14 [INFO] [stderr] | [INFO] [stderr] 282 | for i in 0..no_rows { [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] 282 | for in d.iter_mut().take(no_rows) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `d`. [INFO] [stderr] --> src/matrix/mod.rs:290:14 [INFO] [stderr] | [INFO] [stderr] 290 | for i in 0..no_rows { [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] 290 | for in d.iter_mut().take(no_rows) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `d` [INFO] [stderr] --> src/matrix/mod.rs:301:14 [INFO] [stderr] | [INFO] [stderr] 301 | for i in 0..elems { [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] 301 | for (i, ) in d.iter_mut().enumerate().take(elems) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `d` [INFO] [stderr] --> src/matrix/mod.rs:316:14 [INFO] [stderr] | [INFO] [stderr] 316 | for i in 0..elems { [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] 316 | for (i, ) in d.iter_mut().enumerate().take(elems) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `d` [INFO] [stderr] --> src/matrix/mod.rs:331:14 [INFO] [stderr] | [INFO] [stderr] 331 | for i in 0..elems { [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] 331 | for (i, ) in d.iter_mut().enumerate().take(elems) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `d` [INFO] [stderr] --> src/matrix/mod.rs:388:14 [INFO] [stderr] | [INFO] [stderr] 388 | for i in 0..self.data.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] 388 | for (i, ) in d.iter_mut().enumerate().take(self.data.len()) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: it looks like you're manually copying between slices [INFO] [stderr] --> src/matrix/mod.rs:388:14 [INFO] [stderr] | [INFO] [stderr] 388 | for i in 0..self.data.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try replacing the loop by: `d[..self.data.len()].clone_from_slice(&self.data[..])` [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: it looks like you're manually copying between slices [INFO] [stderr] --> src/matrix/mod.rs:392:14 [INFO] [stderr] | [INFO] [stderr] 392 | for i in 0..m.data.len() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try replacing the loop by: `d[offset..(m.data.len() + offset)].clone_from_slice(&m.data[..])` [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 `d`. [INFO] [stderr] --> src/matrix/mod.rs:405:14 [INFO] [stderr] | [INFO] [stderr] 405 | for i in 0..elems { [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] 405 | for in d.iter_mut().take(elems) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/matrix/mod.rs:434:7 [INFO] [stderr] | [INFO] [stderr] 434 | source_row_idx = source_row_idx + self.cols(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `source_row_idx += self.cols()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `selector` [INFO] [stderr] --> src/matrix/mod.rs:517:14 [INFO] [stderr] | [INFO] [stderr] 517 | for i in 0..selector.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] 517 | for (i, ) in selector.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `selector` [INFO] [stderr] --> src/matrix/mod.rs:528:14 [INFO] [stderr] | [INFO] [stderr] 528 | for i in 0..selector.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] 528 | for (i, ) in selector.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `d`. [INFO] [stderr] --> src/matrix/mod.rs:574:14 [INFO] [stderr] | [INFO] [stderr] 574 | for i in 0..elems { [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] 574 | for in d.iter_mut().take(elems) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `d` [INFO] [stderr] --> src/matrix/mod.rs:587:14 [INFO] [stderr] | [INFO] [stderr] 587 | for i in 0..elems { [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] 587 | for (i, ) in d.iter_mut().enumerate().take(elems) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `d` [INFO] [stderr] --> src/matrix/mod.rs:613:14 [INFO] [stderr] | [INFO] [stderr] 613 | for i in 0..elems { [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] 613 | for (i, ) in d.iter_mut().enumerate().take(elems) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `d` [INFO] [stderr] --> src/matrix/mod.rs:653:14 [INFO] [stderr] | [INFO] [stderr] 653 | for i in 0..elems { [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] 653 | for (i, ) in d.iter_mut().enumerate().take(elems) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [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/mod.rs:732:3 [INFO] [stderr] | [INFO] [stderr] 732 | fn index<'a>(&'a self, (y, x): (usize, usize)) -> &'a T { self.get_ref(y, x) } [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: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/matrix/mod.rs:1038:40 [INFO] [stderr] | [INFO] [stderr] 1038 | assert!(m.map(&|x : &usize| -> usize { *x + 1 }).data == vec![2, 3, 4, 5]); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::block_in_if_condition_stmt)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/matrix/mod.rs:1225:11 [INFO] [stderr] | [INFO] [stderr] 1225 | assert!(a.trace() == 5.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(a.trace() - 5.0).abs() < error` [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::float_cmp)] on by default [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/matrix/mod.rs:1225:11 [INFO] [stderr] | [INFO] [stderr] 1225 | assert!(a.trace() == 5.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/matrix/mod.rs:1228:11 [INFO] [stderr] | [INFO] [stderr] 1228 | assert!(a.trace() == 5.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(a.trace() - 5.0).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/matrix/mod.rs:1228:11 [INFO] [stderr] | [INFO] [stderr] 1228 | assert!(a.trace() == 5.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/matrix/mod.rs:1231:11 [INFO] [stderr] | [INFO] [stderr] 1231 | assert!(a.trace() == 6.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(a.trace() - 6.0).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/matrix/mod.rs:1231:11 [INFO] [stderr] | [INFO] [stderr] 1231 | assert!(a.trace() == 6.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/matrix/mod.rs:1330:11 [INFO] [stderr] | [INFO] [stderr] 1330 | assert!(m!(1.0; 2.0; 2.0).vector_euclidean_norm() == 3.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(m!(1.0; 2.0; 2.0).vector_euclidean_norm() - 3.0).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/matrix/mod.rs:1330:11 [INFO] [stderr] | [INFO] [stderr] 1330 | assert!(m!(1.0; 2.0; 2.0).vector_euclidean_norm() == 3.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/matrix/mod.rs:1331:11 [INFO] [stderr] | [INFO] [stderr] 1331 | assert!(m!(-2.0; 2.0; 2.0; 2.0).vector_euclidean_norm() == 4.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(m!(-2.0; 2.0; 2.0; 2.0).vector_euclidean_norm() - 4.0).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/matrix/mod.rs:1331:11 [INFO] [stderr] | [INFO] [stderr] 1331 | assert!(m!(-2.0; 2.0; 2.0; 2.0).vector_euclidean_norm() == 4.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/matrix/mod.rs:1342:11 [INFO] [stderr] | [INFO] [stderr] 1342 | assert!(m!(-3.0; 2.0; 2.5).vector_1_norm() == 7.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(m!(-3.0; 2.0; 2.5).vector_1_norm() - 7.5).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/matrix/mod.rs:1342:11 [INFO] [stderr] | [INFO] [stderr] 1342 | assert!(m!(-3.0; 2.0; 2.5).vector_1_norm() == 7.5); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/matrix/mod.rs:1343:11 [INFO] [stderr] | [INFO] [stderr] 1343 | assert!(m!(6.0; 8.0; -2.0; 3.0).vector_1_norm() == 19.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(m!(6.0; 8.0; -2.0; 3.0).vector_1_norm() - 19.0).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/matrix/mod.rs:1343:11 [INFO] [stderr] | [INFO] [stderr] 1343 | assert!(m!(6.0; 8.0; -2.0; 3.0).vector_1_norm() == 19.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/matrix/mod.rs:1344:11 [INFO] [stderr] | [INFO] [stderr] 1344 | assert!(m!(1.0).vector_1_norm() == 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(m!(1.0).vector_1_norm() - 1.0).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/matrix/mod.rs:1344:11 [INFO] [stderr] | [INFO] [stderr] 1344 | assert!(m!(1.0).vector_1_norm() == 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/matrix/mod.rs:1355:11 [INFO] [stderr] | [INFO] [stderr] 1355 | assert!(m!(-3.0; 2.0; 2.0).vector_p_norm(3.0) == 43.0f64.powf(1.0 / 3.0)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(m!(-3.0; 2.0; 2.0).vector_p_norm(3.0) - 43.0f64.powf(1.0 / 3.0)).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/matrix/mod.rs:1355:11 [INFO] [stderr] | [INFO] [stderr] 1355 | assert!(m!(-3.0; 2.0; 2.0).vector_p_norm(3.0) == 43.0f64.powf(1.0 / 3.0)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/matrix/mod.rs:1356:11 [INFO] [stderr] | [INFO] [stderr] 1356 | assert!(m!(6.0; 8.0; -2.0; 3.0).vector_p_norm(5.0) == 40819.0f64.powf(1.0 / 5.0)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(m!(6.0; 8.0; -2.0; 3.0).vector_p_norm(5.0) - 40819.0f64.powf(1.0 / 5.0)).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/matrix/mod.rs:1356:11 [INFO] [stderr] | [INFO] [stderr] 1356 | assert!(m!(6.0; 8.0; -2.0; 3.0).vector_p_norm(5.0) == 40819.0f64.powf(1.0 / 5.0)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/matrix/mod.rs:1357:11 [INFO] [stderr] | [INFO] [stderr] 1357 | assert!(m!(1.0).vector_p_norm(2.0) == 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(m!(1.0).vector_p_norm(2.0) - 1.0).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/matrix/mod.rs:1357:11 [INFO] [stderr] | [INFO] [stderr] 1357 | assert!(m!(1.0).vector_p_norm(2.0) == 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/matrix/mod.rs:1368:11 [INFO] [stderr] | [INFO] [stderr] 1368 | assert!(m!(-3.0; 2.0; 2.5).vector_inf_norm() == 3.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(m!(-3.0; 2.0; 2.5).vector_inf_norm() - 3.0).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/matrix/mod.rs:1368:11 [INFO] [stderr] | [INFO] [stderr] 1368 | assert!(m!(-3.0; 2.0; 2.5).vector_inf_norm() == 3.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/matrix/mod.rs:1369:11 [INFO] [stderr] | [INFO] [stderr] 1369 | assert!(m!(6.0; 8.0; -2.0; 3.0).vector_inf_norm() == 8.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(m!(6.0; 8.0; -2.0; 3.0).vector_inf_norm() - 8.0).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/matrix/mod.rs:1369:11 [INFO] [stderr] | [INFO] [stderr] 1369 | assert!(m!(6.0; 8.0; -2.0; 3.0).vector_inf_norm() == 8.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/matrix/mod.rs:1370:11 [INFO] [stderr] | [INFO] [stderr] 1370 | assert!(m!(1.0).vector_inf_norm() == 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(m!(1.0).vector_inf_norm() - 1.0).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/matrix/mod.rs:1370:11 [INFO] [stderr] | [INFO] [stderr] 1370 | assert!(m!(1.0).vector_inf_norm() == 1.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/matrix/mod.rs:1381:11 [INFO] [stderr] | [INFO] [stderr] 1381 | assert!(m!(1.0, 2.0; 3.0, 4.0).frobenius_norm() == 30.0f64.sqrt()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(m!(1.0, 2.0; 3.0, 4.0).frobenius_norm() - 30.0f64.sqrt()).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/matrix/mod.rs:1381:11 [INFO] [stderr] | [INFO] [stderr] 1381 | assert!(m!(1.0, 2.0; 3.0, 4.0).frobenius_norm() == 30.0f64.sqrt()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/matrix/mod.rs:1382:11 [INFO] [stderr] | [INFO] [stderr] 1382 | assert!(m!(1.0; 2.0; 2.0).frobenius_norm() == 3.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(m!(1.0; 2.0; 2.0).frobenius_norm() - 3.0).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/matrix/mod.rs:1382:11 [INFO] [stderr] | [INFO] [stderr] 1382 | assert!(m!(1.0; 2.0; 2.0).frobenius_norm() == 3.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/internalutil.rs:31:11 [INFO] [stderr] | [INFO] [stderr] 31 | assert!(hypot(3.0, 4.0) == 5.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(hypot(3.0, 4.0) - 5.0).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/internalutil.rs:31:11 [INFO] [stderr] | [INFO] [stderr] 31 | assert!(hypot(3.0, 4.0) == 5.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/internalutil.rs:32:11 [INFO] [stderr] | [INFO] [stderr] 32 | assert!(hypot(4.0, 3.0) == 5.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(hypot(4.0, 3.0) - 5.0).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/internalutil.rs:32:11 [INFO] [stderr] | [INFO] [stderr] 32 | assert!(hypot(4.0, 3.0) == 5.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/internalutil.rs:33:11 [INFO] [stderr] | [INFO] [stderr] 33 | assert!(hypot(4.0, 0.0) == 4.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(hypot(4.0, 0.0) - 4.0).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/internalutil.rs:33:11 [INFO] [stderr] | [INFO] [stderr] 33 | assert!(hypot(4.0, 0.0) == 4.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/internalutil.rs:34:11 [INFO] [stderr] | [INFO] [stderr] 34 | assert!(hypot(0.0, 4.0) == 4.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(hypot(0.0, 4.0) - 4.0).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/internalutil.rs:34:11 [INFO] [stderr] | [INFO] [stderr] 34 | assert!(hypot(0.0, 4.0) == 4.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/internalutil.rs:35:11 [INFO] [stderr] | [INFO] [stderr] 35 | assert!(hypot(-3.0, 4.0) == 5.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(hypot(-3.0, 4.0) - 5.0).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/internalutil.rs:35:11 [INFO] [stderr] | [INFO] [stderr] 35 | assert!(hypot(-3.0, 4.0) == 5.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/internalutil.rs:36:11 [INFO] [stderr] | [INFO] [stderr] 36 | assert!(hypot(4.0, -3.0) == 5.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(hypot(4.0, -3.0) - 5.0).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/internalutil.rs:36:11 [INFO] [stderr] | [INFO] [stderr] 36 | assert!(hypot(4.0, -3.0) == 5.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/internalutil.rs:37:11 [INFO] [stderr] | [INFO] [stderr] 37 | assert!(hypot(-4.0, -3.0) == 5.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(hypot(-4.0, -3.0) - 5.0).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/internalutil.rs:37:11 [INFO] [stderr] | [INFO] [stderr] 37 | assert!(hypot(-4.0, -3.0) == 5.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/internalutil.rs:38:11 [INFO] [stderr] | [INFO] [stderr] 38 | assert!(hypot(-4.0, 0.0) == 4.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(hypot(-4.0, 0.0) - 4.0).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/internalutil.rs:38:11 [INFO] [stderr] | [INFO] [stderr] 38 | assert!(hypot(-4.0, 0.0) == 4.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/internalutil.rs:39:11 [INFO] [stderr] | [INFO] [stderr] 39 | assert!(hypot(0.0, -4.0) == 4.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(hypot(0.0, -4.0) - 4.0).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/internalutil.rs:39:11 [INFO] [stderr] | [INFO] [stderr] 39 | assert!(hypot(0.0, -4.0) == 4.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/util.rs:18:37 [INFO] [stderr] | [INFO] [stderr] 18 | for item in line.unwrap().split(",") { [INFO] [stderr] | ^^^ help: try using a char instead: `','` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: the loop variable `k` is only used to index `ddata`. [INFO] [stderr] --> src/decomp/eigen.rs:45:16 [INFO] [stderr] | [INFO] [stderr] 45 | for k in 0..i { [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] 45 | for in ddata.iter().take(i) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `k` is only used to index `ddata`. [INFO] [stderr] --> src/decomp/eigen.rs:57:18 [INFO] [stderr] | [INFO] [stderr] 57 | for k in 0..i { [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] 57 | for in ddata.iter_mut().take(i) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `j` is only used to index `edata`. [INFO] [stderr] --> src/decomp/eigen.rs:69:18 [INFO] [stderr] | [INFO] [stderr] 69 | for j in 0..i { [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] 69 | for in edata.iter_mut().take(i) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:114:18 [INFO] [stderr] | [INFO] [stderr] 114 | for k in 0..(i + 1) { [INFO] [stderr] | ^^^^^^^^^^ help: use: `0..=i` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:117:18 [INFO] [stderr] | [INFO] [stderr] 117 | for j in 0..(i + 1) { [INFO] [stderr] | ^^^^^^^^^^ help: use: `0..=i` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:119:20 [INFO] [stderr] | [INFO] [stderr] 119 | for k in 0..(i + 1) { [INFO] [stderr] | ^^^^^^^^^^ help: use: `0..=i` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:122:20 [INFO] [stderr] | [INFO] [stderr] 122 | for k in 0..(i + 1) { [INFO] [stderr] | ^^^^^^^^^^ help: use: `0..=i` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:128:16 [INFO] [stderr] | [INFO] [stderr] 128 | for k in 0..(i + 1) { [INFO] [stderr] | ^^^^^^^^^^ help: use: `0..=i` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `ddata`. [INFO] [stderr] --> src/decomp/eigen.rs:178:20 [INFO] [stderr] | [INFO] [stderr] 178 | for i in (l + 2)..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] 178 | for in ddata.iter_mut().take(n).skip((l + 2)) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `j` is used to index `ddata` [INFO] [stderr] --> src/decomp/eigen.rs:229:16 [INFO] [stderr] | [INFO] [stderr] 229 | for j in (i + 1)..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] 229 | for (j, ) in ddata.iter().enumerate().take(n).skip((i + 1)) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:261:16 [INFO] [stderr] | [INFO] [stderr] 261 | for i in m..(high + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use: `m..=high` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:267:18 [INFO] [stderr] | [INFO] [stderr] 267 | for i in (m..(high + 1)).rev() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use: `(m..=high)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:282:20 [INFO] [stderr] | [INFO] [stderr] 282 | for i in (m..(high + 1)).rev() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use: `(m..=high)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:286:20 [INFO] [stderr] | [INFO] [stderr] 286 | for i in m..(high + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use: `m..=high` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:291:18 [INFO] [stderr] | [INFO] [stderr] 291 | for i in 0..(high + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use: `0..=high` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:293:20 [INFO] [stderr] | [INFO] [stderr] 293 | for j in (m..(high + 1)).rev() { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use: `(m..=high)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:297:20 [INFO] [stderr] | [INFO] [stderr] 297 | for j in m..(high + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use: `m..=high` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:315:18 [INFO] [stderr] | [INFO] [stderr] 315 | for i in (m + 1)..(high + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: use: `((m + 1)..=high)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:318:18 [INFO] [stderr] | [INFO] [stderr] 318 | for j in m..(high + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use: `m..=high` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:320:20 [INFO] [stderr] | [INFO] [stderr] 320 | for i in m..(high + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use: `m..=high` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:325:20 [INFO] [stderr] | [INFO] [stderr] 325 | for i in m..(high + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: use: `m..=high` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 69 [INFO] [stderr] --> src/decomp/eigen.rs:347:3 [INFO] [stderr] | [INFO] [stderr] 347 | / fn hqr2(n : usize, ddata : &mut Vec, edata : &mut Vec, hdata : &mut Vec, vdata : &mut Vec) { [INFO] [stderr] 348 | | // This is derived from the Algol procedure hqr2, by Martin and Wilkinson, Handbook for Auto. Comp., [INFO] [stderr] 349 | | // Vol.ii-Linear Algebra, and the corresponding Fortran subroutine in EISPACK. [INFO] [stderr] 350 | | [INFO] [stderr] ... | [INFO] [stderr] 752 | | } [INFO] [stderr] 753 | | } [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:441:20 [INFO] [stderr] | [INFO] [stderr] 441 | for i in 0..(n + 1) { [INFO] [stderr] | ^^^^^^^^^^ help: use: `0..=n` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:448:20 [INFO] [stderr] | [INFO] [stderr] 448 | for i in low..(high + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use: `low..=high` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/decomp/eigen.rs:460:9 [INFO] [stderr] | [INFO] [stderr] 460 | n = n - 2; [INFO] [stderr] | ^^^^^^^^^ help: replace it with: `n -= 2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:477:20 [INFO] [stderr] | [INFO] [stderr] 477 | for i in low..(n + 1) { [INFO] [stderr] | ^^^^^^^^^^^^ help: use: `low..=n` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:498:22 [INFO] [stderr] | [INFO] [stderr] 498 | for i in low..(n + 1) { [INFO] [stderr] | ^^^^^^^^^^^^ help: use: `low..=n` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:533:18 [INFO] [stderr] | [INFO] [stderr] 533 | for i in (m + 2)..(n + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use: `((m + 2)..=n)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:585:22 [INFO] [stderr] | [INFO] [stderr] 585 | for i in 0..(cmp::min(n, k + 3) + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `0..=cmp::min(n, k + 3)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:596:22 [INFO] [stderr] | [INFO] [stderr] 596 | for i in low..(high + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use: `low..=high` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:626:20 [INFO] [stderr] | [INFO] [stderr] 626 | for j in l..(n + 1) { [INFO] [stderr] | ^^^^^^^^^^ help: use: `l..=n` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:657:24 [INFO] [stderr] | [INFO] [stderr] 657 | for j in i..(n + 1) { [INFO] [stderr] | ^^^^^^^^^^ help: use: `i..=n` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:683:20 [INFO] [stderr] | [INFO] [stderr] 683 | for j in l..(n + 1) { [INFO] [stderr] | ^^^^^^^^^^ help: use: `l..=n` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:724:24 [INFO] [stderr] | [INFO] [stderr] 724 | for j in i..(n + 1) { [INFO] [stderr] | ^^^^^^^^^^ help: use: `i..=n` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:745:16 [INFO] [stderr] | [INFO] [stderr] 745 | for i in low..(high + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: use: `low..=high` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/eigen.rs:747:18 [INFO] [stderr] | [INFO] [stderr] 747 | for k in low..(cmp::min(j, high) + 1) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `low..=cmp::min(j, high)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `pivdata` [INFO] [stderr] --> src/decomp/lu.rs:109:14 [INFO] [stderr] | [INFO] [stderr] 109 | for i in 0..m { [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] 109 | for (i, ) in pivdata.iter_mut().enumerate().take(m) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: this looks like you are swapping elements of `ludata` manually [INFO] [stderr] --> src/decomp/lu.rs:142:11 [INFO] [stderr] | [INFO] [stderr] 142 | / let t = ludata[p * n + k]; [INFO] [stderr] 143 | | ludata[p * n + k] = ludata[j * n + k]; [INFO] [stderr] 144 | | ludata[j * n + k] = t; [INFO] [stderr] | |_______________________________^ help: try: `ludata.swap(p * n + k, j * n + k)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::manual_swap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_swap [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/decomp/lu.rs:362:11 [INFO] [stderr] | [INFO] [stderr] 362 | assert!(lu.det() == -8.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: consider comparing them within some error: `(lu.det() - -8.0).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/decomp/lu.rs:362:11 [INFO] [stderr] | [INFO] [stderr] 362 | assert!(lu.det() == -8.0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 81 [INFO] [stderr] --> src/decomp/svd.rs:31:3 [INFO] [stderr] | [INFO] [stderr] 31 | / pub fn new(a : &Matrix) -> SVD { [INFO] [stderr] 32 | | // A = USV' [INFO] [stderr] 33 | | if a.rows() < a.cols() { [INFO] [stderr] 34 | | // a' = (usv')' = vs'u' [INFO] [stderr] ... | [INFO] [stderr] 424 | | } [INFO] [stderr] 425 | | } [INFO] [stderr] | |___^ [INFO] [stderr] | [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `workdata`. [INFO] [stderr] --> src/decomp/svd.rs:130:20 [INFO] [stderr] | [INFO] [stderr] 130 | for i in (k + 1)..m { [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] 130 | for in workdata.iter_mut().take(m).skip((k + 1)) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/decomp/svd.rs:386:20 [INFO] [stderr] | [INFO] [stderr] 386 | for i in 0..(pp + 1) { [INFO] [stderr] | ^^^^^^^^^^^ help: use: `0..=pp` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: this looks like you are swapping elements of `sdata` manually [INFO] [stderr] --> src/decomp/svd.rs:396:11 [INFO] [stderr] | [INFO] [stderr] 396 | / let mut t = sdata[k as usize]; [INFO] [stderr] 397 | | sdata[k as usize] = sdata[(k + 1) as usize]; [INFO] [stderr] 398 | | sdata[(k + 1) as usize] = t; [INFO] [stderr] | |_____________________________________^ help: try: `sdata.swap(k as usize, (k + 1) as usize)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_swap [INFO] [stderr] [INFO] [stderr] error: aborting due to 26 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `la`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "333b6bbbb5239710913ba2e706f056fc65b3f074fc55967de8ca94e464057a6e"` [INFO] running `"docker" "rm" "-f" "333b6bbbb5239710913ba2e706f056fc65b3f074fc55967de8ca94e464057a6e"` [INFO] [stdout] 333b6bbbb5239710913ba2e706f056fc65b3f074fc55967de8ca94e464057a6e