[INFO] crate chfft 0.2.4 is already in cache [INFO] extracting crate chfft 0.2.4 into work/ex/clippy-test-run/sources/stable/reg/chfft/0.2.4 [INFO] extracting crate chfft 0.2.4 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/chfft/0.2.4 [INFO] validating manifest of chfft-0.2.4 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 chfft-0.2.4 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 chfft-0.2.4 [INFO] finished frobbing chfft-0.2.4 [INFO] frobbed toml for chfft-0.2.4 written to work/ex/clippy-test-run/sources/stable/reg/chfft/0.2.4/Cargo.toml [INFO] started frobbing chfft-0.2.4 [INFO] finished frobbing chfft-0.2.4 [INFO] frobbed toml for chfft-0.2.4 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/chfft/0.2.4/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 chfft-0.2.4 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/chfft/0.2.4:/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] ee45109e532b1927dc958388261438bfce0db96247791aedc855e84ac90074d8 [INFO] running `"docker" "start" "-a" "ee45109e532b1927dc958388261438bfce0db96247791aedc855e84ac90074d8"` [INFO] [stderr] Checking appro-eq v0.2.2 [INFO] [stderr] Checking chfft v0.2.4 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/prime_factorization.rs:57:9 [INFO] [stderr] | [INFO] [stderr] 57 | value: value, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [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/prime_factorization.rs:86:25 [INFO] [stderr] | [INFO] [stderr] 86 | count: count, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `count` [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/prime_factorization.rs:99:13 [INFO] [stderr] | [INFO] [stderr] 99 | count: count, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `count` [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/cfft1d.rs:198:17 [INFO] [stderr] | [INFO] [stderr] 198 | ids: ids, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ids` [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/cfft1d.rs:199:17 [INFO] [stderr] | [INFO] [stderr] 199 | omega: omega, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `omega` [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/cfft1d.rs:200:17 [INFO] [stderr] | [INFO] [stderr] 200 | omega_back: omega_back, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `omega_back` [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/cfft1d.rs:201:17 [INFO] [stderr] | [INFO] [stderr] 201 | src_omega: src_omega, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `src_omega` [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/cfft1d.rs:202:17 [INFO] [stderr] | [INFO] [stderr] 202 | rot_conj: rot_conj, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `rot_conj` [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/cfft1d.rs:204:17 [INFO] [stderr] | [INFO] [stderr] 204 | pow2len_inv: pow2len_inv, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `pow2len_inv` [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/cfft1d.rs:215:17 [INFO] [stderr] | [INFO] [stderr] 215 | omega: omega, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `omega` [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/cfft1d.rs:216:17 [INFO] [stderr] | [INFO] [stderr] 216 | omega_back: omega_back, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `omega_back` [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/cfft1d.rs:217:17 [INFO] [stderr] | [INFO] [stderr] 217 | factors: factors, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `factors` [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/cfft2d.rs:98:13 [INFO] [stderr] | [INFO] [stderr] 98 | len_m: len_m, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `len_m` [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/cfft2d.rs:99:13 [INFO] [stderr] | [INFO] [stderr] 99 | len_n: len_n, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `len_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/mdct1d.rs:108:13 [INFO] [stderr] | [INFO] [stderr] 108 | len: len, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `len` [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/mdct1d.rs:114:13 [INFO] [stderr] | [INFO] [stderr] 114 | window_func: window_func, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `window_func` [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/rfft1d.rs:86:13 [INFO] [stderr] | [INFO] [stderr] 86 | len: len, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `len` [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/rfft1d.rs:87:13 [INFO] [stderr] | [INFO] [stderr] 87 | scaler_n: scaler_n, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `scaler_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/rfft1d.rs:89:13 [INFO] [stderr] | [INFO] [stderr] 89 | coef: coef, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `coef` [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/rfft1d.rs:90:13 [INFO] [stderr] | [INFO] [stderr] 90 | bcoef: bcoef, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `bcoef` [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: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/cfft1d.rs:163:21 [INFO] [stderr] | [INFO] [stderr] 163 | omega_back: _, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unneeded_field_pattern)] on by default [INFO] [stderr] = help: Try with `ChirpZ { level, ref ids, ref omega, src_omega: ref mut org_src_omega, rot_conj: ref mut org_rot_conj, rot_ft: ref mut org_rot_ft, ref pow2len_inv, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/cfft1d.rs:241:21 [INFO] [stderr] | [INFO] [stderr] 241 | ids_inplace: _, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `MixedRadix { ref ids, ref omega, ref omega_back, ref factors, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [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/chirpz.rs:17:10 [INFO] [stderr] | [INFO] [stderr] 17 | ids: &Vec, [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[usize]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/chirpz.rs:18:12 [INFO] [stderr] | [INFO] [stderr] 18 | omega: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Complex]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `source`. [INFO] [stderr] --> src/chirpz.rs:30:18 [INFO] [stderr] | [INFO] [stderr] 30 | for i in 0..source.len() { [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] 30 | for in &mut source { [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/chirpz.rs:60:10 [INFO] [stderr] | [INFO] [stderr] 60 | ids: &Vec, [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[usize]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/chirpz.rs:61:12 [INFO] [stderr] | [INFO] [stderr] 61 | omega: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Complex]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/chirpz.rs:62:17 [INFO] [stderr] | [INFO] [stderr] 62 | omega_back: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Complex]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/chirpz.rs:63:16 [INFO] [stderr] | [INFO] [stderr] 63 | src_omega: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Complex]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/chirpz.rs:64:15 [INFO] [stderr] | [INFO] [stderr] 64 | rot_conj: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Complex]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/chirpz.rs:65:13 [INFO] [stderr] | [INFO] [stderr] 65 | rot_ft: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Complex]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (12/7) [INFO] [stderr] --> src/chirpz.rs:56:1 [INFO] [stderr] | [INFO] [stderr] 56 | / pub fn convert_chirpz( [INFO] [stderr] 57 | | source: &[Complex], [INFO] [stderr] 58 | | srclen: usize, [INFO] [stderr] 59 | | level: usize, [INFO] [stderr] ... | [INFO] [stderr] 107 | | .collect::>() [INFO] [stderr] 108 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/chirpz.rs:85:9 [INFO] [stderr] | [INFO] [stderr] 85 | a[i] = a[i] * rot_ft[i]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `a[i] *= rot_ft[i]` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/chirpz.rs:114:10 [INFO] [stderr] | [INFO] [stderr] 114 | ids: &Vec, [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[usize]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/chirpz.rs:115:12 [INFO] [stderr] | [INFO] [stderr] 115 | omega: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Complex]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/chirpz.rs:116:17 [INFO] [stderr] | [INFO] [stderr] 116 | omega_back: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Complex]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/chirpz.rs:117:16 [INFO] [stderr] | [INFO] [stderr] 117 | src_omega: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Complex]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/chirpz.rs:118:15 [INFO] [stderr] | [INFO] [stderr] 118 | rot_conj: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Complex]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/chirpz.rs:119:13 [INFO] [stderr] | [INFO] [stderr] 119 | rot_ft: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Complex]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (12/7) [INFO] [stderr] --> src/chirpz.rs:110:1 [INFO] [stderr] | [INFO] [stderr] 110 | / pub fn convert_chirpz_inplace( [INFO] [stderr] 111 | | source: &mut [Complex], [INFO] [stderr] 112 | | srclen: usize, [INFO] [stderr] 113 | | level: usize, [INFO] [stderr] ... | [INFO] [stderr] 157 | | } [INFO] [stderr] 158 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/chirpz.rs:139:9 [INFO] [stderr] | [INFO] [stderr] 139 | a[i] = a[i] * rot_ft[i]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `a[i] *= rot_ft[i]` [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: the loop variable `i` is used to index `source` [INFO] [stderr] --> src/chirpz.rs:144:14 [INFO] [stderr] | [INFO] [stderr] 144 | for i in 0..srclen { [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] 144 | for (i, ) in source.iter_mut().enumerate().take(srclen) { [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/mixed_radix.rs:17:10 [INFO] [stderr] | [INFO] [stderr] 17 | ids: &Vec, [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[usize]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/mixed_radix.rs:18:12 [INFO] [stderr] | [INFO] [stderr] 18 | omega: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Complex]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/mixed_radix.rs:19:17 [INFO] [stderr] | [INFO] [stderr] 19 | omega_back: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Complex]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/mixed_radix.rs:20:14 [INFO] [stderr] | [INFO] [stderr] 20 | factors: &Vec, [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[Factor]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/mixed_radix.rs:14:1 [INFO] [stderr] | [INFO] [stderr] 14 | / pub fn convert_mixed( [INFO] [stderr] 15 | | source: &[Complex], [INFO] [stderr] 16 | | len: usize, [INFO] [stderr] 17 | | ids: &Vec, [INFO] [stderr] ... | [INFO] [stderr] 42 | | ret [INFO] [stderr] 43 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [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/mixed_radix.rs:48:10 [INFO] [stderr] | [INFO] [stderr] 48 | ids: &Vec, [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[usize]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/mixed_radix.rs:49:12 [INFO] [stderr] | [INFO] [stderr] 49 | omega: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Complex]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/mixed_radix.rs:50:17 [INFO] [stderr] | [INFO] [stderr] 50 | omega_back: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Complex]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/mixed_radix.rs:51:14 [INFO] [stderr] | [INFO] [stderr] 51 | factors: &Vec, [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[Factor]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/mixed_radix.rs:45:1 [INFO] [stderr] | [INFO] [stderr] 45 | / pub fn convert_mixed_inplace( [INFO] [stderr] 46 | | source: &mut [Complex], [INFO] [stderr] 47 | | len: usize, [INFO] [stderr] 48 | | ids: &Vec, [INFO] [stderr] ... | [INFO] [stderr] 74 | | } [INFO] [stderr] 75 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `source`. [INFO] [stderr] --> src/mixed_radix.rs:71:18 [INFO] [stderr] | [INFO] [stderr] 71 | for i in 0..source.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] 71 | for in &mut source { [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/mixed_radix.rs:80:12 [INFO] [stderr] | [INFO] [stderr] 80 | omega: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Complex]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/mixed_radix.rs:81:14 [INFO] [stderr] | [INFO] [stderr] 81 | factors: &Vec, [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[Factor]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/mixed_radix.rs:123:12 [INFO] [stderr] | [INFO] [stderr] 123 | omega: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Complex]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/mixed_radix.rs:149:12 [INFO] [stderr] | [INFO] [stderr] 149 | omega: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Complex]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/mixed_radix.rs:185:12 [INFO] [stderr] | [INFO] [stderr] 185 | omega: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Complex]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/mixed_radix.rs:224:12 [INFO] [stderr] | [INFO] [stderr] 224 | omega: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Complex]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/mixed_radix.rs:287:12 [INFO] [stderr] | [INFO] [stderr] 287 | omega: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Complex]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/precompute_utils.rs:27:8 [INFO] [stderr] | [INFO] [stderr] 27 | if len & 3 == 0 { [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `len.trailing_zeros() >= 2` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::verbose_bit_mask)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/precompute_utils.rs:76:9 [INFO] [stderr] | [INFO] [stderr] 76 | for ref f in factors { [INFO] [stderr] | ^^^^^ ------- help: try: `let f = &factors;` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `ids`. [INFO] [stderr] --> src/precompute_utils.rs:78:22 [INFO] [stderr] | [INFO] [stderr] 78 | for i in 0..llen { [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] 78 | for in ids.iter_mut().take(llen) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: called `filter(p).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(p)` instead. [INFO] [stderr] --> src/precompute_utils.rs:99:21 [INFO] [stderr] | [INFO] [stderr] 99 | let r = (i..nums.len()) [INFO] [stderr] | _____________________^ [INFO] [stderr] 100 | | .filter(|&j| nums[j] == source[i]) [INFO] [stderr] 101 | | .next() [INFO] [stderr] | |_______________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::filter_next)] on by default [INFO] [stderr] = note: replace `filter(|&j| nums[j] == source[i]).next()` with `find(|&j| nums[j] == source[i])` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/prime_factorization.rs:24:25 [INFO] [stderr] | [INFO] [stderr] 24 | 4 => if self.value & 3 == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `self.value.trailing_zeros() >= 2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `cfft1d::CFft1D` [INFO] [stderr] --> src/cfft1d.rs:84:5 [INFO] [stderr] | [INFO] [stderr] 84 | / pub fn new() -> Self { [INFO] [stderr] 85 | | Self { [INFO] [stderr] 86 | | len: 0, [INFO] [stderr] 87 | | scaler_n: zero(), [INFO] [stderr] ... | [INFO] [stderr] 90 | | } [INFO] [stderr] 91 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 77 | impl Default for cfft1d::CFft1D { [INFO] [stderr] 78 | fn default() -> Self { [INFO] [stderr] 79 | Self::new() [INFO] [stderr] 80 | } [INFO] [stderr] 81 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/cfft1d.rs:128:12 [INFO] [stderr] | [INFO] [stderr] 128 | if factors.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `factors.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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/cfft1d.rs:158:13 [INFO] [stderr] | [INFO] [stderr] 158 | / match &mut self.work { [INFO] [stderr] 159 | | &mut WorkData::ChirpZ { [INFO] [stderr] 160 | | level, [INFO] [stderr] 161 | | ref ids, [INFO] [stderr] ... | [INFO] [stderr] 175 | | _ => {} [INFO] [stderr] 176 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 158 | if let &mut WorkData::ChirpZ { [INFO] [stderr] 159 | level, [INFO] [stderr] 160 | ref ids, [INFO] [stderr] 161 | ref omega, [INFO] [stderr] 162 | omega_back: _, [INFO] [stderr] 163 | src_omega: ref mut org_src_omega, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/cfft1d.rs:158:13 [INFO] [stderr] | [INFO] [stderr] 158 | / match &mut self.work { [INFO] [stderr] 159 | | &mut WorkData::ChirpZ { [INFO] [stderr] 160 | | level, [INFO] [stderr] 161 | | ref ids, [INFO] [stderr] ... | [INFO] [stderr] 175 | | _ => {} [INFO] [stderr] 176 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 158 | match *(&mut self.work) { [INFO] [stderr] 159 | WorkData::ChirpZ { [INFO] [stderr] 160 | level, [INFO] [stderr] 161 | ref ids, [INFO] [stderr] 162 | ref omega, [INFO] [stderr] 163 | omega_back: _, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/cfft1d.rs:192:30 [INFO] [stderr] | [INFO] [stderr] 192 | let omega_back = omega.iter().rev().map(|x| *x).collect::>(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `omega.iter().rev().cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/cfft1d.rs:211:30 [INFO] [stderr] | [INFO] [stderr] 211 | let omega_back = omega.iter().rev().map(|x| *x).collect::>(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `omega.iter().rev().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/cfft1d.rs:235:13 [INFO] [stderr] | [INFO] [stderr] 235 | / match &self.work { [INFO] [stderr] 236 | | &WorkData::MixedRadix { [INFO] [stderr] 237 | | ref ids, [INFO] [stderr] 238 | | ref omega, [INFO] [stderr] ... | [INFO] [stderr] 275 | | &WorkData::None => source.to_vec(), [INFO] [stderr] 276 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 235 | match self.work { [INFO] [stderr] 236 | WorkData::MixedRadix { [INFO] [stderr] 237 | ref ids, [INFO] [stderr] 238 | ref omega, [INFO] [stderr] 239 | ref omega_back, [INFO] [stderr] 240 | ref factors, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/cfft1d.rs:290:13 [INFO] [stderr] | [INFO] [stderr] 290 | / match &mut self.work { [INFO] [stderr] 291 | | &mut WorkData::MixedRadix { [INFO] [stderr] 292 | | ref ids, [INFO] [stderr] 293 | | ref omega, [INFO] [stderr] ... | [INFO] [stderr] 339 | | _ => {} [INFO] [stderr] 340 | | }; [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 290 | match *(&mut self.work) { [INFO] [stderr] 291 | WorkData::MixedRadix { [INFO] [stderr] 292 | ref ids, [INFO] [stderr] 293 | ref omega, [INFO] [stderr] 294 | ref omega_back, [INFO] [stderr] 295 | ref factors, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/cfft1d.rs:298:21 [INFO] [stderr] | [INFO] [stderr] 298 | / match ids_inplace { [INFO] [stderr] 299 | | &mut Option::None => { [INFO] [stderr] 300 | | *ids_inplace = [INFO] [stderr] 301 | | Some(precompute_utils::calc_bitreverse2inplace(ids.to_vec())) [INFO] [stderr] 302 | | } [INFO] [stderr] 303 | | _ => {} [INFO] [stderr] 304 | | }; [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 298 | if let &mut Option::None = ids_inplace { [INFO] [stderr] 299 | *ids_inplace = [INFO] [stderr] 300 | Some(precompute_utils::calc_bitreverse2inplace(ids.to_vec())) [INFO] [stderr] 301 | }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/cfft1d.rs:298:21 [INFO] [stderr] | [INFO] [stderr] 298 | / match ids_inplace { [INFO] [stderr] 299 | | &mut Option::None => { [INFO] [stderr] 300 | | *ids_inplace = [INFO] [stderr] 301 | | Some(precompute_utils::calc_bitreverse2inplace(ids.to_vec())) [INFO] [stderr] 302 | | } [INFO] [stderr] 303 | | _ => {} [INFO] [stderr] 304 | | }; [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 298 | match *ids_inplace { [INFO] [stderr] 299 | Option::None => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `cfft2d::CFft2D` [INFO] [stderr] --> src/cfft2d.rs:78:5 [INFO] [stderr] | [INFO] [stderr] 78 | / pub fn new() -> Self { [INFO] [stderr] 79 | | Self { [INFO] [stderr] 80 | | len_m: 0, [INFO] [stderr] 81 | | len_n: 0, [INFO] [stderr] ... | [INFO] [stderr] 87 | | } [INFO] [stderr] 88 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 71 | impl Default for cfft2d::CFft2D { [INFO] [stderr] 72 | fn default() -> Self { [INFO] [stderr] 73 | Self::new() [INFO] [stderr] 74 | } [INFO] [stderr] 75 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/cfft2d.rs:124:41 [INFO] [stderr] | [INFO] [stderr] 124 | if self.work.len() != len_n || (self.work.len() > 0 && self.work[0].len() != len_m) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.work.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: length comparison to zero [INFO] [stderr] --> src/cfft2d.rs:336:12 [INFO] [stderr] | [INFO] [stderr] 336 | if source.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `source.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: the loop variable `i` is used to index `source` [INFO] [stderr] --> src/cfft2d.rs:343:18 [INFO] [stderr] | [INFO] [stderr] 343 | for i in 0..source.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] 343 | for (i, ) in source.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `j` is used to index `work` [INFO] [stderr] --> src/cfft2d.rs:349:22 [INFO] [stderr] | [INFO] [stderr] 349 | for j in 0..work.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] 349 | for (j, ) in work.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/dct1d.rs:147:9 [INFO] [stderr] | [INFO] [stderr] 147 | / match self { [INFO] [stderr] 148 | | &mut Dct1DWorkers::Dct2(ref mut worker) => worker, [INFO] [stderr] 149 | | &mut Dct1DWorkers::Dct3(ref mut worker) => worker, [INFO] [stderr] 150 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 147 | match *self { [INFO] [stderr] 148 | Dct1DWorkers::Dct2(ref mut worker) => worker, [INFO] [stderr] 149 | Dct1DWorkers::Dct3(ref mut worker) => worker, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/dct1d.rs:270:12 [INFO] [stderr] | [INFO] [stderr] 270 | if self.len & 3 == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `self.len.trailing_zeros() >= 2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/dct1d.rs:365:12 [INFO] [stderr] | [INFO] [stderr] 365 | if self.len & 3 == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `self.len.trailing_zeros() >= 2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/rfft1d.rs:148:12 [INFO] [stderr] | [INFO] [stderr] 148 | if self.len & 3 == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `self.len.trailing_zeros() >= 2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/rfft1d.rs:171:12 [INFO] [stderr] | [INFO] [stderr] 171 | if self.len & 3 == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `self.len.trailing_zeros() >= 2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/prime_factorization.rs:57:9 [INFO] [stderr] | [INFO] [stderr] 57 | value: value, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `value` [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/prime_factorization.rs:86:25 [INFO] [stderr] | [INFO] [stderr] 86 | count: count, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `count` [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/prime_factorization.rs:99:13 [INFO] [stderr] | [INFO] [stderr] 99 | count: count, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `count` [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/cfft1d.rs:198:17 [INFO] [stderr] | [INFO] [stderr] 198 | ids: ids, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `ids` [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/cfft1d.rs:199:17 [INFO] [stderr] | [INFO] [stderr] 199 | omega: omega, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `omega` [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/cfft1d.rs:200:17 [INFO] [stderr] | [INFO] [stderr] 200 | omega_back: omega_back, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `omega_back` [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/cfft1d.rs:201:17 [INFO] [stderr] | [INFO] [stderr] 201 | src_omega: src_omega, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `src_omega` [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/cfft1d.rs:202:17 [INFO] [stderr] | [INFO] [stderr] 202 | rot_conj: rot_conj, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `rot_conj` [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/cfft1d.rs:204:17 [INFO] [stderr] | [INFO] [stderr] 204 | pow2len_inv: pow2len_inv, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `pow2len_inv` [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/cfft1d.rs:215:17 [INFO] [stderr] | [INFO] [stderr] 215 | omega: omega, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `omega` [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/cfft1d.rs:216:17 [INFO] [stderr] | [INFO] [stderr] 216 | omega_back: omega_back, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `omega_back` [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/cfft1d.rs:217:17 [INFO] [stderr] | [INFO] [stderr] 217 | factors: factors, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `factors` [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/cfft2d.rs:98:13 [INFO] [stderr] | [INFO] [stderr] 98 | len_m: len_m, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `len_m` [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/cfft2d.rs:99:13 [INFO] [stderr] | [INFO] [stderr] 99 | len_n: len_n, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `len_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/mdct1d.rs:108:13 [INFO] [stderr] | [INFO] [stderr] 108 | len: len, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `len` [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/mdct1d.rs:114:13 [INFO] [stderr] | [INFO] [stderr] 114 | window_func: window_func, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `window_func` [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/rfft1d.rs:86:13 [INFO] [stderr] | [INFO] [stderr] 86 | len: len, [INFO] [stderr] | ^^^^^^^^ help: replace it with: `len` [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/rfft1d.rs:87:13 [INFO] [stderr] | [INFO] [stderr] 87 | scaler_n: scaler_n, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `scaler_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/rfft1d.rs:89:13 [INFO] [stderr] | [INFO] [stderr] 89 | coef: coef, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `coef` [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/rfft1d.rs:90:13 [INFO] [stderr] | [INFO] [stderr] 90 | bcoef: bcoef, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `bcoef` [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: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/cfft1d.rs:163:21 [INFO] [stderr] | [INFO] [stderr] 163 | omega_back: _, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unneeded_field_pattern)] on by default [INFO] [stderr] = help: Try with `ChirpZ { level, ref ids, ref omega, src_omega: ref mut org_src_omega, rot_conj: ref mut org_rot_conj, rot_ft: ref mut org_rot_ft, ref pow2len_inv, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: You matched a field with a wildcard pattern. Consider using `..` instead [INFO] [stderr] --> src/cfft1d.rs:241:21 [INFO] [stderr] | [INFO] [stderr] 241 | ids_inplace: _, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: Try with `MixedRadix { ref ids, ref omega, ref omega_back, ref factors, .. }` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/mdct1d.rs:310:9 [INFO] [stderr] | [INFO] [stderr] 310 | / return (0..(n >> 1)) [INFO] [stderr] 311 | | .map(|m| { [INFO] [stderr] 312 | | (0..source.len()).fold(zero(), |x: T, k| { [INFO] [stderr] 313 | | x + window_func(n, k) * source[k] [INFO] [stderr] ... | [INFO] [stderr] 318 | | }) [INFO] [stderr] 319 | | .collect::>(); [INFO] [stderr] | |_________________________________^ [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] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 310 | (0..(n >> 1)) [INFO] [stderr] 311 | .map(|m| { [INFO] [stderr] 312 | (0..source.len()).fold(zero(), |x: T, k| { [INFO] [stderr] 313 | x + window_func(n, k) * source[k] [INFO] [stderr] 314 | * (T::PI() / cast(n << 1).unwrap() [INFO] [stderr] 315 | * cast::<_, T>((1 + (n >> 1) + (k << 1)) * (1 + (m << 1))).unwrap()) [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/mdct1d.rs:327:9 [INFO] [stderr] | [INFO] [stderr] 327 | / return (0..n) [INFO] [stderr] 328 | | .map(|k| { [INFO] [stderr] 329 | | cast::<_, T>(4.0).unwrap() * window_func(n, k) / cast(n).unwrap() [INFO] [stderr] 330 | | * (0..(n >> 1)).fold(zero(), |x: T, m| { [INFO] [stderr] ... | [INFO] [stderr] 336 | | }) [INFO] [stderr] 337 | | .collect::>(); [INFO] [stderr] | |_________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 327 | (0..n) [INFO] [stderr] 328 | .map(|k| { [INFO] [stderr] 329 | cast::<_, T>(4.0).unwrap() * window_func(n, k) / cast(n).unwrap() [INFO] [stderr] 330 | * (0..(n >> 1)).fold(zero(), |x: T, m| { [INFO] [stderr] 331 | x + source[m] [INFO] [stderr] 332 | * (T::PI() / cast(n << 1).unwrap() [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'rand::XorShiftRng': import from rand_xorshift crate instead [INFO] [stderr] --> src/cfft1d.rs:517:34 [INFO] [stderr] | [INFO] [stderr] 517 | use rand::{Rng, SeedableRng, XorShiftRng}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'rand::XorShiftRng': import from rand_xorshift crate instead [INFO] [stderr] --> src/cfft1d.rs:581:23 [INFO] [stderr] | [INFO] [stderr] 581 | let mut rng = XorShiftRng::from_seed([ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'rand::XorShiftRng': import from rand_xorshift crate instead [INFO] [stderr] --> src/cfft2d.rs:376:34 [INFO] [stderr] | [INFO] [stderr] 376 | use rand::{Rng, SeedableRng, XorShiftRng}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'rand::XorShiftRng': import from rand_xorshift crate instead [INFO] [stderr] --> src/cfft2d.rs:424:23 [INFO] [stderr] | [INFO] [stderr] 424 | let mut rng = XorShiftRng::from_seed([ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'rand::XorShiftRng': import from rand_xorshift crate instead [INFO] [stderr] --> src/dct1d.rs:408:34 [INFO] [stderr] | [INFO] [stderr] 408 | use rand::{Rng, SeedableRng, XorShiftRng}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'rand::XorShiftRng': import from rand_xorshift crate instead [INFO] [stderr] --> src/dct1d.rs:459:23 [INFO] [stderr] | [INFO] [stderr] 459 | let mut rng = XorShiftRng::from_seed([ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'rand::XorShiftRng': import from rand_xorshift crate instead [INFO] [stderr] --> src/mdct1d.rs:302:34 [INFO] [stderr] | [INFO] [stderr] 302 | use rand::{Rng, SeedableRng, XorShiftRng}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'rand::XorShiftRng': import from rand_xorshift crate instead [INFO] [stderr] --> src/mdct1d.rs:371:23 [INFO] [stderr] | [INFO] [stderr] 371 | let mut rng = XorShiftRng::from_seed([ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'rand::XorShiftRng': import from rand_xorshift crate instead [INFO] [stderr] --> src/rfft1d.rs:324:34 [INFO] [stderr] | [INFO] [stderr] 324 | use rand::{Rng, SeedableRng, XorShiftRng}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'rand::XorShiftRng': import from rand_xorshift crate instead [INFO] [stderr] --> src/rfft1d.rs:379:23 [INFO] [stderr] | [INFO] [stderr] 379 | let mut rng = XorShiftRng::from_seed([ [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/chirpz.rs:17:10 [INFO] [stderr] | [INFO] [stderr] 17 | ids: &Vec, [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[usize]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/chirpz.rs:18:12 [INFO] [stderr] | [INFO] [stderr] 18 | omega: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Complex]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `source`. [INFO] [stderr] --> src/chirpz.rs:30:18 [INFO] [stderr] | [INFO] [stderr] 30 | for i in 0..source.len() { [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] 30 | for in &mut source { [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/chirpz.rs:60:10 [INFO] [stderr] | [INFO] [stderr] 60 | ids: &Vec, [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[usize]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/chirpz.rs:61:12 [INFO] [stderr] | [INFO] [stderr] 61 | omega: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Complex]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/chirpz.rs:62:17 [INFO] [stderr] | [INFO] [stderr] 62 | omega_back: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Complex]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/chirpz.rs:63:16 [INFO] [stderr] | [INFO] [stderr] 63 | src_omega: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Complex]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/chirpz.rs:64:15 [INFO] [stderr] | [INFO] [stderr] 64 | rot_conj: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Complex]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/chirpz.rs:65:13 [INFO] [stderr] | [INFO] [stderr] 65 | rot_ft: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Complex]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (12/7) [INFO] [stderr] --> src/chirpz.rs:56:1 [INFO] [stderr] | [INFO] [stderr] 56 | / pub fn convert_chirpz( [INFO] [stderr] 57 | | source: &[Complex], [INFO] [stderr] 58 | | srclen: usize, [INFO] [stderr] 59 | | level: usize, [INFO] [stderr] ... | [INFO] [stderr] 107 | | .collect::>() [INFO] [stderr] 108 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::too_many_arguments)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/chirpz.rs:85:9 [INFO] [stderr] | [INFO] [stderr] 85 | a[i] = a[i] * rot_ft[i]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `a[i] *= rot_ft[i]` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/chirpz.rs:114:10 [INFO] [stderr] | [INFO] [stderr] 114 | ids: &Vec, [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[usize]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/chirpz.rs:115:12 [INFO] [stderr] | [INFO] [stderr] 115 | omega: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Complex]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/chirpz.rs:116:17 [INFO] [stderr] | [INFO] [stderr] 116 | omega_back: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Complex]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/chirpz.rs:117:16 [INFO] [stderr] | [INFO] [stderr] 117 | src_omega: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Complex]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/chirpz.rs:118:15 [INFO] [stderr] | [INFO] [stderr] 118 | rot_conj: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Complex]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/chirpz.rs:119:13 [INFO] [stderr] | [INFO] [stderr] 119 | rot_ft: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Complex]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (12/7) [INFO] [stderr] --> src/chirpz.rs:110:1 [INFO] [stderr] | [INFO] [stderr] 110 | / pub fn convert_chirpz_inplace( [INFO] [stderr] 111 | | source: &mut [Complex], [INFO] [stderr] 112 | | srclen: usize, [INFO] [stderr] 113 | | level: usize, [INFO] [stderr] ... | [INFO] [stderr] 157 | | } [INFO] [stderr] 158 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/chirpz.rs:139:9 [INFO] [stderr] | [INFO] [stderr] 139 | a[i] = a[i] * rot_ft[i]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `a[i] *= rot_ft[i]` [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: the loop variable `i` is used to index `source` [INFO] [stderr] --> src/chirpz.rs:144:14 [INFO] [stderr] | [INFO] [stderr] 144 | for i in 0..srclen { [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] 144 | for (i, ) in source.iter_mut().enumerate().take(srclen) { [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/mixed_radix.rs:17:10 [INFO] [stderr] | [INFO] [stderr] 17 | ids: &Vec, [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[usize]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/mixed_radix.rs:18:12 [INFO] [stderr] | [INFO] [stderr] 18 | omega: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Complex]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/mixed_radix.rs:19:17 [INFO] [stderr] | [INFO] [stderr] 19 | omega_back: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Complex]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/mixed_radix.rs:20:14 [INFO] [stderr] | [INFO] [stderr] 20 | factors: &Vec, [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[Factor]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/mixed_radix.rs:14:1 [INFO] [stderr] | [INFO] [stderr] 14 | / pub fn convert_mixed( [INFO] [stderr] 15 | | source: &[Complex], [INFO] [stderr] 16 | | len: usize, [INFO] [stderr] 17 | | ids: &Vec, [INFO] [stderr] ... | [INFO] [stderr] 42 | | ret [INFO] [stderr] 43 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [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/mixed_radix.rs:48:10 [INFO] [stderr] | [INFO] [stderr] 48 | ids: &Vec, [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[usize]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/mixed_radix.rs:49:12 [INFO] [stderr] | [INFO] [stderr] 49 | omega: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Complex]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/mixed_radix.rs:50:17 [INFO] [stderr] | [INFO] [stderr] 50 | omega_back: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Complex]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/mixed_radix.rs:51:14 [INFO] [stderr] | [INFO] [stderr] 51 | factors: &Vec, [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[Factor]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/mixed_radix.rs:45:1 [INFO] [stderr] | [INFO] [stderr] 45 | / pub fn convert_mixed_inplace( [INFO] [stderr] 46 | | source: &mut [Complex], [INFO] [stderr] 47 | | len: usize, [INFO] [stderr] 48 | | ids: &Vec, [INFO] [stderr] ... | [INFO] [stderr] 74 | | } [INFO] [stderr] 75 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `source`. [INFO] [stderr] --> src/mixed_radix.rs:71:18 [INFO] [stderr] | [INFO] [stderr] 71 | for i in 0..source.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] 71 | for in &mut source { [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/mixed_radix.rs:80:12 [INFO] [stderr] | [INFO] [stderr] 80 | omega: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Complex]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/mixed_radix.rs:81:14 [INFO] [stderr] | [INFO] [stderr] 81 | factors: &Vec, [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[Factor]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/mixed_radix.rs:123:12 [INFO] [stderr] | [INFO] [stderr] 123 | omega: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Complex]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/mixed_radix.rs:149:12 [INFO] [stderr] | [INFO] [stderr] 149 | omega: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Complex]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/mixed_radix.rs:185:12 [INFO] [stderr] | [INFO] [stderr] 185 | omega: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Complex]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/mixed_radix.rs:224:12 [INFO] [stderr] | [INFO] [stderr] 224 | omega: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Complex]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/mixed_radix.rs:287:12 [INFO] [stderr] | [INFO] [stderr] 287 | omega: &Vec>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: change this to: `&[Complex]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/precompute_utils.rs:27:8 [INFO] [stderr] | [INFO] [stderr] 27 | if len & 3 == 0 { [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `len.trailing_zeros() >= 2` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::verbose_bit_mask)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/precompute_utils.rs:76:9 [INFO] [stderr] | [INFO] [stderr] 76 | for ref f in factors { [INFO] [stderr] | ^^^^^ ------- help: try: `let f = &factors;` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `ids`. [INFO] [stderr] --> src/precompute_utils.rs:78:22 [INFO] [stderr] | [INFO] [stderr] 78 | for i in 0..llen { [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] 78 | for in ids.iter_mut().take(llen) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: called `filter(p).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(p)` instead. [INFO] [stderr] --> src/precompute_utils.rs:99:21 [INFO] [stderr] | [INFO] [stderr] 99 | let r = (i..nums.len()) [INFO] [stderr] | _____________________^ [INFO] [stderr] 100 | | .filter(|&j| nums[j] == source[i]) [INFO] [stderr] 101 | | .next() [INFO] [stderr] | |_______________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::filter_next)] on by default [INFO] [stderr] = note: replace `filter(|&j| nums[j] == source[i]).next()` with `find(|&j| nums[j] == source[i])` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/prime_factorization.rs:24:25 [INFO] [stderr] | [INFO] [stderr] 24 | 4 => if self.value & 3 == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `self.value.trailing_zeros() >= 2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `cfft1d::CFft1D` [INFO] [stderr] --> src/cfft1d.rs:84:5 [INFO] [stderr] | [INFO] [stderr] 84 | / pub fn new() -> Self { [INFO] [stderr] 85 | | Self { [INFO] [stderr] 86 | | len: 0, [INFO] [stderr] 87 | | scaler_n: zero(), [INFO] [stderr] ... | [INFO] [stderr] 90 | | } [INFO] [stderr] 91 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 77 | impl Default for cfft1d::CFft1D { [INFO] [stderr] 78 | fn default() -> Self { [INFO] [stderr] 79 | Self::new() [INFO] [stderr] 80 | } [INFO] [stderr] 81 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/cfft1d.rs:128:12 [INFO] [stderr] | [INFO] [stderr] 128 | if factors.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `factors.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: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/cfft1d.rs:158:13 [INFO] [stderr] | [INFO] [stderr] 158 | / match &mut self.work { [INFO] [stderr] 159 | | &mut WorkData::ChirpZ { [INFO] [stderr] 160 | | level, [INFO] [stderr] 161 | | ref ids, [INFO] [stderr] ... | [INFO] [stderr] 175 | | _ => {} [INFO] [stderr] 176 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 158 | if let &mut WorkData::ChirpZ { [INFO] [stderr] 159 | level, [INFO] [stderr] 160 | ref ids, [INFO] [stderr] 161 | ref omega, [INFO] [stderr] 162 | omega_back: _, [INFO] [stderr] 163 | src_omega: ref mut org_src_omega, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/cfft1d.rs:158:13 [INFO] [stderr] | [INFO] [stderr] 158 | / match &mut self.work { [INFO] [stderr] 159 | | &mut WorkData::ChirpZ { [INFO] [stderr] 160 | | level, [INFO] [stderr] 161 | | ref ids, [INFO] [stderr] ... | [INFO] [stderr] 175 | | _ => {} [INFO] [stderr] 176 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 158 | match *(&mut self.work) { [INFO] [stderr] 159 | WorkData::ChirpZ { [INFO] [stderr] 160 | level, [INFO] [stderr] 161 | ref ids, [INFO] [stderr] 162 | ref omega, [INFO] [stderr] 163 | omega_back: _, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/cfft1d.rs:192:30 [INFO] [stderr] | [INFO] [stderr] 192 | let omega_back = omega.iter().rev().map(|x| *x).collect::>(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `omega.iter().rev().cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/cfft1d.rs:211:30 [INFO] [stderr] | [INFO] [stderr] 211 | let omega_back = omega.iter().rev().map(|x| *x).collect::>(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `omega.iter().rev().cloned()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/cfft1d.rs:235:13 [INFO] [stderr] | [INFO] [stderr] 235 | / match &self.work { [INFO] [stderr] 236 | | &WorkData::MixedRadix { [INFO] [stderr] 237 | | ref ids, [INFO] [stderr] 238 | | ref omega, [INFO] [stderr] ... | [INFO] [stderr] 275 | | &WorkData::None => source.to_vec(), [INFO] [stderr] 276 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 235 | match self.work { [INFO] [stderr] 236 | WorkData::MixedRadix { [INFO] [stderr] 237 | ref ids, [INFO] [stderr] 238 | ref omega, [INFO] [stderr] 239 | ref omega_back, [INFO] [stderr] 240 | ref factors, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/cfft1d.rs:290:13 [INFO] [stderr] | [INFO] [stderr] 290 | / match &mut self.work { [INFO] [stderr] 291 | | &mut WorkData::MixedRadix { [INFO] [stderr] 292 | | ref ids, [INFO] [stderr] 293 | | ref omega, [INFO] [stderr] ... | [INFO] [stderr] 339 | | _ => {} [INFO] [stderr] 340 | | }; [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 290 | match *(&mut self.work) { [INFO] [stderr] 291 | WorkData::MixedRadix { [INFO] [stderr] 292 | ref ids, [INFO] [stderr] 293 | ref omega, [INFO] [stderr] 294 | ref omega_back, [INFO] [stderr] 295 | ref factors, [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/cfft1d.rs:298:21 [INFO] [stderr] | [INFO] [stderr] 298 | / match ids_inplace { [INFO] [stderr] 299 | | &mut Option::None => { [INFO] [stderr] 300 | | *ids_inplace = [INFO] [stderr] 301 | | Some(precompute_utils::calc_bitreverse2inplace(ids.to_vec())) [INFO] [stderr] 302 | | } [INFO] [stderr] 303 | | _ => {} [INFO] [stderr] 304 | | }; [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 298 | if let &mut Option::None = ids_inplace { [INFO] [stderr] 299 | *ids_inplace = [INFO] [stderr] 300 | Some(precompute_utils::calc_bitreverse2inplace(ids.to_vec())) [INFO] [stderr] 301 | }; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/cfft1d.rs:298:21 [INFO] [stderr] | [INFO] [stderr] 298 | / match ids_inplace { [INFO] [stderr] 299 | | &mut Option::None => { [INFO] [stderr] 300 | | *ids_inplace = [INFO] [stderr] 301 | | Some(precompute_utils::calc_bitreverse2inplace(ids.to_vec())) [INFO] [stderr] 302 | | } [INFO] [stderr] 303 | | _ => {} [INFO] [stderr] 304 | | }; [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 298 | match *ids_inplace { [INFO] [stderr] 299 | Option::None => { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `cfft2d::CFft2D` [INFO] [stderr] --> src/cfft2d.rs:78:5 [INFO] [stderr] | [INFO] [stderr] 78 | / pub fn new() -> Self { [INFO] [stderr] 79 | | Self { [INFO] [stderr] 80 | | len_m: 0, [INFO] [stderr] 81 | | len_n: 0, [INFO] [stderr] ... | [INFO] [stderr] 87 | | } [INFO] [stderr] 88 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 71 | impl Default for cfft2d::CFft2D { [INFO] [stderr] 72 | fn default() -> Self { [INFO] [stderr] 73 | Self::new() [INFO] [stderr] 74 | } [INFO] [stderr] 75 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/cfft2d.rs:124:41 [INFO] [stderr] | [INFO] [stderr] 124 | if self.work.len() != len_n || (self.work.len() > 0 && self.work[0].len() != len_m) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.work.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: length comparison to zero [INFO] [stderr] --> src/cfft2d.rs:336:12 [INFO] [stderr] | [INFO] [stderr] 336 | if source.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `source.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: the loop variable `i` is used to index `source` [INFO] [stderr] --> src/cfft2d.rs:343:18 [INFO] [stderr] | [INFO] [stderr] 343 | for i in 0..source.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] 343 | for (i, ) in source.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the loop variable `j` is used to index `work` [INFO] [stderr] --> src/cfft2d.rs:349:22 [INFO] [stderr] | [INFO] [stderr] 349 | for j in 0..work.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] 349 | for (j, ) in work.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to all patterns [INFO] [stderr] --> src/dct1d.rs:147:9 [INFO] [stderr] | [INFO] [stderr] 147 | / match self { [INFO] [stderr] 148 | | &mut Dct1DWorkers::Dct2(ref mut worker) => worker, [INFO] [stderr] 149 | | &mut Dct1DWorkers::Dct3(ref mut worker) => worker, [INFO] [stderr] 150 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: instead of prefixing all patterns with `&`, you can dereference the expression [INFO] [stderr] | [INFO] [stderr] 147 | match *self { [INFO] [stderr] 148 | Dct1DWorkers::Dct2(ref mut worker) => worker, [INFO] [stderr] 149 | Dct1DWorkers::Dct3(ref mut worker) => worker, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/dct1d.rs:270:12 [INFO] [stderr] | [INFO] [stderr] 270 | if self.len & 3 == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `self.len.trailing_zeros() >= 2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/dct1d.rs:365:12 [INFO] [stderr] | [INFO] [stderr] 365 | if self.len & 3 == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `self.len.trailing_zeros() >= 2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] [INFO] [stderr] warning: `ref` directly on a function argument is ignored. Consider using a reference type instead. [INFO] [stderr] --> src/mdct1d.rs:322:47 [INFO] [stderr] | [INFO] [stderr] 322 | fn convert_back(ref window_func: &F, source: &[T]) -> Vec [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/rfft1d.rs:148:12 [INFO] [stderr] | [INFO] [stderr] 148 | if self.len & 3 == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `self.len.trailing_zeros() >= 2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] [INFO] [stderr] warning: bit mask could be simplified with a call to `trailing_zeros` [INFO] [stderr] --> src/rfft1d.rs:171:12 [INFO] [stderr] | [INFO] [stderr] 171 | if self.len & 3 == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `self.len.trailing_zeros() >= 2` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/rfft1d.rs:328:9 [INFO] [stderr] | [INFO] [stderr] 328 | (0..((source.len() >> 1) + 1)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `(0..=(source.len() >> 1))` [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] Finished dev [unoptimized + debuginfo] target(s) in 5.45s [INFO] running `"docker" "inspect" "ee45109e532b1927dc958388261438bfce0db96247791aedc855e84ac90074d8"` [INFO] running `"docker" "rm" "-f" "ee45109e532b1927dc958388261438bfce0db96247791aedc855e84ac90074d8"` [INFO] [stdout] ee45109e532b1927dc958388261438bfce0db96247791aedc855e84ac90074d8