[INFO] crate resid-rs 0.8.0 is already in cache [INFO] extracting crate resid-rs 0.8.0 into work/ex/clippy-test-run/sources/stable/reg/resid-rs/0.8.0 [INFO] extracting crate resid-rs 0.8.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/resid-rs/0.8.0 [INFO] validating manifest of resid-rs-0.8.0 on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of resid-rs-0.8.0 on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing resid-rs-0.8.0 [INFO] finished frobbing resid-rs-0.8.0 [INFO] frobbed toml for resid-rs-0.8.0 written to work/ex/clippy-test-run/sources/stable/reg/resid-rs/0.8.0/Cargo.toml [INFO] started frobbing resid-rs-0.8.0 [INFO] finished frobbing resid-rs-0.8.0 [INFO] frobbed toml for resid-rs-0.8.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/resid-rs/0.8.0/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting resid-rs-0.8.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-3/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/resid-rs/0.8.0:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 06a4881d96220f13153ebb4b491fcba676b33b3050b6f9ac985a15710072dab5 [INFO] running `"docker" "start" "-a" "06a4881d96220f13153ebb4b491fcba676b33b3050b6f9ac985a15710072dab5"` [INFO] [stderr] Checking resid-rs v0.8.0 (/opt/crater/workdir) [INFO] [stderr] Checking criterion v0.2.9 [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/data/wave6581_ps.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::deprecated_cfg_attr)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/data/wave6581_pst.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/data/wave6581_pt.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/data/wave6581_st.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/data/wave8580_ps.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/data/wave8580_pst.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/data/wave8580_pt.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: `cfg_attr` is deprecated for rustfmt and got replaced by tool_attributes [INFO] [stderr] --> src/data/wave8580_st.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | #[cfg_attr(rustfmt, rustfmt_skip)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `#[rustfmt::skip]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#deprecated_cfg_attr [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/external_filter.rs:51:13 [INFO] [stderr] | [INFO] [stderr] 51 | mixer_dc: mixer_dc, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `mixer_dc` [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/filter.rs:172:13 [INFO] [stderr] | [INFO] [stderr] 172 | f0_points: f0_points, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `f0_points` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/spline.rs:158:13 [INFO] [stderr] | [INFO] [stderr] 158 | let mut x = x1; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::many_single_char_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/spline.rs:160:13 [INFO] [stderr] | [INFO] [stderr] 160 | let y = ((a * x + b) * x + c) * x + d; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 5th binding whose name is just one char [INFO] [stderr] --> src/spline.rs:178:13 [INFO] [stderr] | [INFO] [stderr] 178 | let mut y = ((a * x1 + b) * x1 + c) * x1 + d; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: 6th binding whose name is just one char [INFO] [stderr] --> src/spline.rs:183:13 [INFO] [stderr] | [INFO] [stderr] 183 | let mut x = x1; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#many_single_char_names [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/external_filter.rs:17:20 [INFO] [stderr] | [INFO] [stderr] 17 | const W0_LP: i32 = 104858; [INFO] [stderr] | ^^^^^^ help: consider: `104_858` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> src/filter.rs:11:23 [INFO] [stderr] | [INFO] [stderr] 11 | const MIXER_DC: i32 = -0xfff * 0xff / 18 >> 7; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `(-0xfff * 0xff / 18) >> 7` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::precedence)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> src/filter.rs:331:20 [INFO] [stderr] | [INFO] [stderr] 331 | let dvbp = self.w0_ceil_1 * self.vhp >> 20; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `(self.w0_ceil_1 * self.vhp) >> 20` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> src/filter.rs:332:20 [INFO] [stderr] | [INFO] [stderr] 332 | let dvlp = self.w0_ceil_1 * self.vbp >> 20; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `(self.w0_ceil_1 * self.vbp) >> 20` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> src/filter.rs:335:21 [INFO] [stderr] | [INFO] [stderr] 335 | self.vhp = (self.vbp * self.q_1024_div >> 10) - self.vlp - vi; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `(self.vbp * self.q_1024_div) >> 10` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> src/filter.rs:461:24 [INFO] [stderr] | [INFO] [stderr] 461 | let dvbp = w0_delta_t * self.vhp >> 14; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `(w0_delta_t * self.vhp) >> 14` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> src/filter.rs:462:24 [INFO] [stderr] | [INFO] [stderr] 462 | let dvlp = w0_delta_t * self.vbp >> 14; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `(w0_delta_t * self.vbp) >> 14` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> src/filter.rs:465:25 [INFO] [stderr] | [INFO] [stderr] 465 | self.vhp = (self.vbp * self.q_1024_div >> 10) - self.vlp - vi; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `(self.vbp * self.q_1024_div) >> 10` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/filter.rs:545:79 [INFO] [stderr] | [INFO] [stderr] 545 | self.w0 = (2.0 * f64::consts::PI * self.f0[self.fc as usize] as f64 * 1.048576) as i32; [INFO] [stderr] | ^^^^^^^^ help: consider: `1.048_576` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/filter.rs:548:59 [INFO] [stderr] | [INFO] [stderr] 548 | let w0_max_1 = (2.0 * f64::consts::PI * 16000.0 * 1.048576) as i32; [INFO] [stderr] | ^^^^^^^^ help: consider: `1.048_576` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/filter.rs:556:59 [INFO] [stderr] | [INFO] [stderr] 556 | let w0_max_dt = (2.0 * f64::consts::PI * 4000.0 * 1.048576) as i32; [INFO] [stderr] | ^^^^^^^^ help: consider: `1.048_576` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> src/sampler.rs:285:31 [INFO] [stderr] | [INFO] [stderr] 285 | let mut v = v1 + (fir_offset_rmd * (v2 - v1) >> FIXP_SHIFT); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `(fir_offset_rmd * (v2 - v1)) >> FIXP_SHIFT` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/sampler.rs:529:18 [INFO] [stderr] | [INFO] [stderr] 529 | let pi = 3.1415926535897932385; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `3.141_592_653_589_793_238_5` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/sid.rs:122:59 [INFO] [stderr] | [INFO] [stderr] 122 | sid.set_sampling_parameters(SamplingMethod::Fast, 985248, 44100); [INFO] [stderr] | ^^^^^^ help: consider: `985_248` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/synth.rs:83:42 [INFO] [stderr] | [INFO] [stderr] 83 | let delta_acc = if acc & 0x800000 != 0 { [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0080_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/synth.rs:84:21 [INFO] [stderr] | [INFO] [stderr] 84 | 0x1000000 - acc [INFO] [stderr] | ^^^^^^^^^ help: consider: `0x0100_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/synth.rs:86:21 [INFO] [stderr] | [INFO] [stderr] 86 | 0x800000 - acc [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0080_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/wave.rs:14:23 [INFO] [stderr] | [INFO] [stderr] 14 | const ACC_MASK: u32 = 0x00ffffff; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x00ff_ffff` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/wave.rs:15:29 [INFO] [stderr] | [INFO] [stderr] 15 | const ACC_BIT19_MASK: u32 = 0x00080000; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0008_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/wave.rs:16:27 [INFO] [stderr] | [INFO] [stderr] 16 | const ACC_MSB_MASK: u32 = 0x00800000; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x0080_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/wave.rs:17:25 [INFO] [stderr] | [INFO] [stderr] 17 | const SHIFT_MASK: u32 = 0x007fffff; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0x007f_ffff` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/wave.rs:169:26 [INFO] [stderr] | [INFO] [stderr] 169 | self.shift = 0x7ffff8; [INFO] [stderr] | ^^^^^^^^ help: consider: `0x007f_fff8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/wave.rs:230:36 [INFO] [stderr] | [INFO] [stderr] 230 | let mut shift_period = 0x100000; [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0010_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/wave.rs:236:40 [INFO] [stderr] | [INFO] [stderr] 236 | if shift_period <= 0x080000 { [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0008_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/wave.rs:296:22 [INFO] [stderr] | [INFO] [stderr] 296 | self.shift = 0x7ffff8; [INFO] [stderr] | ^^^^^^^^ help: consider: `0x007f_fff8` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/wave.rs:353:25 [INFO] [stderr] | [INFO] [stderr] 353 | (((self.shift & 0x400000) >> 11) | ((self.shift & 0x100000) >> 10) [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0040_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/wave.rs:353:59 [INFO] [stderr] | [INFO] [stderr] 353 | (((self.shift & 0x400000) >> 11) | ((self.shift & 0x100000) >> 10) [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0010_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/wave.rs:354:30 [INFO] [stderr] | [INFO] [stderr] 354 | | ((self.shift & 0x010000) >> 7) | ((self.shift & 0x002000) >> 5) [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0001_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/wave.rs:354:63 [INFO] [stderr] | [INFO] [stderr] 354 | | ((self.shift & 0x010000) >> 7) | ((self.shift & 0x002000) >> 5) [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0000_2000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/wave.rs:355:30 [INFO] [stderr] | [INFO] [stderr] 355 | | ((self.shift & 0x000800) >> 4) | ((self.shift & 0x000080) >> 1) [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0000_0800` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/wave.rs:355:63 [INFO] [stderr] | [INFO] [stderr] 355 | | ((self.shift & 0x000800) >> 4) | ((self.shift & 0x000080) >> 1) [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0000_0080` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/wave.rs:356:30 [INFO] [stderr] | [INFO] [stderr] 356 | | ((self.shift & 0x000010) << 1) | ((self.shift & 0x000004) << 2)) as u16 [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0000_0010` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/wave.rs:356:63 [INFO] [stderr] | [INFO] [stderr] 356 | | ((self.shift & 0x000010) << 1) | ((self.shift & 0x000004) << 2)) as u16 [INFO] [stderr] | ^^^^^^^^ help: consider: `0x0000_0004` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `envelope::EnvelopeGenerator` [INFO] [stderr] --> src/envelope.rs:114:5 [INFO] [stderr] | [INFO] [stderr] 114 | / pub fn new() -> Self { [INFO] [stderr] 115 | | let mut envelope = EnvelopeGenerator { [INFO] [stderr] 116 | | attack: 0, [INFO] [stderr] 117 | | decay: 0, [INFO] [stderr] ... | [INFO] [stderr] 130 | | envelope [INFO] [stderr] 131 | | } [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] 113 | impl Default for envelope::EnvelopeGenerator { [INFO] [stderr] 114 | fn default() -> Self { [INFO] [stderr] 115 | Self::new() [INFO] [stderr] 116 | } [INFO] [stderr] 117 | } [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/envelope.rs:178:9 [INFO] [stderr] | [INFO] [stderr] 178 | / match self.state { [INFO] [stderr] 179 | | State::Release => self.rate_counter_period = RATE_COUNTER_PERIOD[self.release as usize], [INFO] [stderr] 180 | | _ => {} [INFO] [stderr] 181 | | } [INFO] [stderr] | |_________^ help: try this: `if let State::Release = self.state { self.rate_counter_period = RATE_COUNTER_PERIOD[self.release as usize] }` [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] [INFO] [stderr] warning: casting u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/envelope.rs:259:29 [INFO] [stderr] | [INFO] [stderr] 259 | let mut rate_step = self.rate_counter_period as i32 - self.rate_counter as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.rate_counter_period)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/envelope.rs:259:63 [INFO] [stderr] | [INFO] [stderr] 259 | let mut rate_step = self.rate_counter_period as i32 - self.rate_counter as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.rate_counter)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/envelope.rs:283:33 [INFO] [stderr] | [INFO] [stderr] 283 | rate_step = self.rate_counter_period as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.rate_counter_period)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/envelope.rs:329:25 [INFO] [stderr] | [INFO] [stderr] 329 | rate_step = self.rate_counter_period as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.rate_counter_period)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/filter.rs:202:23 [INFO] [stderr] | [INFO] [stderr] 202 | let result = ((value as u16) << 3) & 0x7f8 | self.fc & 0x007; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(value)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/filter.rs:208:40 [INFO] [stderr] | [INFO] [stderr] 208 | let result = self.fc & 0x7f8 | (value as u16) & 0x007; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(value)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/filter.rs:214:27 [INFO] [stderr] | [INFO] [stderr] 214 | self.voice3_off = if value & 0x80 != 0 { true } else { false }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can reduce it to: `value & 0x80 != 0` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/filter.rs:475:42 [INFO] [stderr] | [INFO] [stderr] 475 | (self.vnf + self.mixer_dc) * self.vol as i32 [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i32::from(self.vol)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/filter.rs:497:47 [INFO] [stderr] | [INFO] [stderr] 497 | (self.vnf + vf + self.mixer_dc) * self.vol as i32 [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i32::from(self.vol)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the slice [INFO] [stderr] --> src/filter.rs:518:14 [INFO] [stderr] | [INFO] [stderr] 518 | .into_iter() [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::into_iter_on_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/filter.rs:520:20 [INFO] [stderr] | [INFO] [stderr] 520 | x: pt.0 as f64, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f64::from(pt.0)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/filter.rs:521:20 [INFO] [stderr] | [INFO] [stderr] 521 | y: pt.1 as f64, [INFO] [stderr] | ^^^^^^^^^^^ help: try: `f64::from(pt.1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is used to index `output` [INFO] [stderr] --> src/filter.rs:527:18 [INFO] [stderr] | [INFO] [stderr] 527 | for i in 0..2048 { [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] 527 | for (i, ) in output.iter().enumerate().take(2048) { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: it looks like you're manually copying between slices [INFO] [stderr] --> src/filter.rs:527:18 [INFO] [stderr] | [INFO] [stderr] 527 | for i in 0..2048 { [INFO] [stderr] | ^^^^^^^ help: try replacing the loop by: `self.f0[..2048].clone_from_slice(&output[..2048])` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::manual_memcpy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_memcpy [INFO] [stderr] [INFO] [stderr] warning: casting u8 to f64 may become silently lossy if types change [INFO] [stderr] --> src/filter.rs:539:52 [INFO] [stderr] | [INFO] [stderr] 539 | self.q_1024_div = (1024.0 / (0.707 + 1.0 * self.res as f64 / 15.0)) as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `f64::from(self.res)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/filter.rs:545:44 [INFO] [stderr] | [INFO] [stderr] 545 | self.w0 = (2.0 * f64::consts::PI * self.f0[self.fc as usize] as f64 * 1.048576) as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.f0[self.fc as usize])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/sampler.rs:77:14 [INFO] [stderr] | [INFO] [stderr] 77 | (clock_freq as f64 / sample_freq as f64 * (1 << FIXP_SHIFT) as f64 + 0.5) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `f64::from(clock_freq)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/sampler.rs:77:34 [INFO] [stderr] | [INFO] [stderr] 77 | (clock_freq as f64 / sample_freq as f64 * (1 << FIXP_SHIFT) as f64 + 0.5) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `f64::from(sample_freq)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/sampler.rs:77:55 [INFO] [stderr] | [INFO] [stderr] 77 | (clock_freq as f64 / sample_freq as f64 * (1 << FIXP_SHIFT) as f64 + 0.5) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(1 << FIXP_SHIFT)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/sampler.rs:82:27 [INFO] [stderr] | [INFO] [stderr] 82 | self.init_fir(clock_freq as f64, sample_freq as f64, -1.0, 0.97); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `f64::from(clock_freq)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/sampler.rs:82:46 [INFO] [stderr] | [INFO] [stderr] 82 | self.init_fir(clock_freq as f64, sample_freq as f64, -1.0, 0.97); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `f64::from(sample_freq)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/sampler.rs:174:42 [INFO] [stderr] | [INFO] [stderr] 174 | + ((self.sample_offset * (sample_now - self.sample_prev) as i32) >> FIXP_SHIFT) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(sample_now - self.sample_prev)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] error: casting from `*const i16` to a more-strictly-aligned pointer (`*const std::arch::x86_64::__m256i`) [INFO] [stderr] --> src/sampler.rs:412:42 [INFO] [stderr] | [INFO] [stderr] 412 | let sv1 = _mm256_loadu_si256(ss.as_ptr() as *const _); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::cast_ptr_alignment)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*const i16` to a more-strictly-aligned pointer (`*const std::arch::x86_64::__m256i`) [INFO] [stderr] --> src/sampler.rs:413:42 [INFO] [stderr] | [INFO] [stderr] 413 | let sv2 = _mm256_loadu_si256((&ss[16..]).as_ptr() as *const _); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*const i16` to a more-strictly-aligned pointer (`*const std::arch::x86_64::__m256i`) [INFO] [stderr] --> src/sampler.rs:414:42 [INFO] [stderr] | [INFO] [stderr] 414 | let sv3 = _mm256_loadu_si256((&ss[32..]).as_ptr() as *const _); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*const i16` to a more-strictly-aligned pointer (`*const std::arch::x86_64::__m256i`) [INFO] [stderr] --> src/sampler.rs:415:42 [INFO] [stderr] | [INFO] [stderr] 415 | let sv4 = _mm256_loadu_si256((&ss[48..]).as_ptr() as *const _); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*const i16` to a more-strictly-aligned pointer (`*const std::arch::x86_64::__m256i`) [INFO] [stderr] --> src/sampler.rs:416:42 [INFO] [stderr] | [INFO] [stderr] 416 | let fv1 = _mm256_loadu_si256(fs.as_ptr() as *const _); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*const i16` to a more-strictly-aligned pointer (`*const std::arch::x86_64::__m256i`) [INFO] [stderr] --> src/sampler.rs:417:42 [INFO] [stderr] | [INFO] [stderr] 417 | let fv2 = _mm256_loadu_si256((&fs[16..]).as_ptr() as *const _); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*const i16` to a more-strictly-aligned pointer (`*const std::arch::x86_64::__m256i`) [INFO] [stderr] --> src/sampler.rs:418:42 [INFO] [stderr] | [INFO] [stderr] 418 | let fv3 = _mm256_loadu_si256((&fs[32..]).as_ptr() as *const _); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*const i16` to a more-strictly-aligned pointer (`*const std::arch::x86_64::__m256i`) [INFO] [stderr] --> src/sampler.rs:419:42 [INFO] [stderr] | [INFO] [stderr] 419 | let fv4 = _mm256_loadu_si256((&fs[48..]).as_ptr() as *const _); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*mut i32` to a more-strictly-aligned pointer (`*mut std::arch::x86_64::__m256i`) [INFO] [stderr] --> src/sampler.rs:435:29 [INFO] [stderr] | [INFO] [stderr] 435 | _mm256_storeu_si256(va[..].as_mut_ptr() as *mut _, v1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] warning: casting i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/sampler.rs:438:18 [INFO] [stderr] | [INFO] [stderr] 438 | v += ss[i] as i32 * fs[i] as i32; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i32::from(ss[i])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/sampler.rs:438:33 [INFO] [stderr] | [INFO] [stderr] 438 | v += ss[i] as i32 * fs[i] as i32; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i32::from(fs[i])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] error: casting from `*const i16` to a more-strictly-aligned pointer (`*const std::arch::x86_64::__m128i`) [INFO] [stderr] --> src/sampler.rs:460:39 [INFO] [stderr] | [INFO] [stderr] 460 | let sv1 = _mm_loadu_si128(ss.as_ptr() as *const _); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*const i16` to a more-strictly-aligned pointer (`*const std::arch::x86_64::__m128i`) [INFO] [stderr] --> src/sampler.rs:461:39 [INFO] [stderr] | [INFO] [stderr] 461 | let sv2 = _mm_loadu_si128((&ss[8..]).as_ptr() as *const _); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*const i16` to a more-strictly-aligned pointer (`*const std::arch::x86_64::__m128i`) [INFO] [stderr] --> src/sampler.rs:462:39 [INFO] [stderr] | [INFO] [stderr] 462 | let sv3 = _mm_loadu_si128((&ss[16..]).as_ptr() as *const _); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*const i16` to a more-strictly-aligned pointer (`*const std::arch::x86_64::__m128i`) [INFO] [stderr] --> src/sampler.rs:463:39 [INFO] [stderr] | [INFO] [stderr] 463 | let sv4 = _mm_loadu_si128((&ss[24..]).as_ptr() as *const _); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*const i16` to a more-strictly-aligned pointer (`*const std::arch::x86_64::__m128i`) [INFO] [stderr] --> src/sampler.rs:464:39 [INFO] [stderr] | [INFO] [stderr] 464 | let fv1 = _mm_loadu_si128(fs.as_ptr() as *const _); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*const i16` to a more-strictly-aligned pointer (`*const std::arch::x86_64::__m128i`) [INFO] [stderr] --> src/sampler.rs:465:39 [INFO] [stderr] | [INFO] [stderr] 465 | let fv2 = _mm_loadu_si128((&fs[8..]).as_ptr() as *const _); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*const i16` to a more-strictly-aligned pointer (`*const std::arch::x86_64::__m128i`) [INFO] [stderr] --> src/sampler.rs:466:39 [INFO] [stderr] | [INFO] [stderr] 466 | let fv3 = _mm_loadu_si128((&fs[16..]).as_ptr() as *const _); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*const i16` to a more-strictly-aligned pointer (`*const std::arch::x86_64::__m128i`) [INFO] [stderr] --> src/sampler.rs:467:39 [INFO] [stderr] | [INFO] [stderr] 467 | let fv4 = _mm_loadu_si128((&fs[24..]).as_ptr() as *const _); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*mut i32` to a more-strictly-aligned pointer (`*mut std::arch::x86_64::__m128i`) [INFO] [stderr] --> src/sampler.rs:483:26 [INFO] [stderr] | [INFO] [stderr] 483 | _mm_storeu_si128(va[..].as_mut_ptr() as *mut _, v1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] warning: casting i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/sampler.rs:486:18 [INFO] [stderr] | [INFO] [stderr] 486 | v += ss[i] as i32 * fs[i] as i32; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i32::from(ss[i])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/sampler.rs:486:33 [INFO] [stderr] | [INFO] [stderr] 486 | v += ss[i] as i32 * fs[i] as i32; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i32::from(fs[i])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/sampler.rs:495:49 [INFO] [stderr] | [INFO] [stderr] 495 | .fold(0, |sum, (&s, &f)| sum + (s as i32 * f as i32)) [INFO] [stderr] | ^^^^^^^^ help: try: `i32::from(s)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/sampler.rs:495:60 [INFO] [stderr] | [INFO] [stderr] 495 | .fold(0, |sum, (&s, &f)| sum + (s as i32 * f as i32)) [INFO] [stderr] | ^^^^^^^^ help: try: `i32::from(f)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/sampler.rs:498:49 [INFO] [stderr] | [INFO] [stderr] 498 | .fold(0, |sum, (&f, &s)| sum + (f as i32 * s as i32)) [INFO] [stderr] | ^^^^^^^^ help: try: `i32::from(f)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/sampler.rs:498:60 [INFO] [stderr] | [INFO] [stderr] 498 | .fold(0, |sum, (&f, &s)| sum + (f as i32 * s as i32)) [INFO] [stderr] | ^^^^^^^^ help: try: `i32::from(s)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: float has excessive precision [INFO] [stderr] --> src/sampler.rs:529:18 [INFO] [stderr] | [INFO] [stderr] 529 | let pi = 3.1415926535897932385; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider changing the type or truncating it to: `3.141_592_653_589_793` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::excessive_precision)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#excessive_precision [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/sampler.rs:543:39 [INFO] [stderr] | [INFO] [stderr] 543 | let atten = -20.0f64 * (1.0 / (1i32 << 16) as f64).log10(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(1i32 << 16)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/sampler.rs:564:23 [INFO] [stderr] | [INFO] [stderr] 564 | self.fir_n = (n_cap as f64 * cycles_per_sample) as i32 + 1; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(n_cap)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/sampler.rs:574:19 [INFO] [stderr] | [INFO] [stderr] 574 | let n = ((res as f64 / cycles_per_sample).ln() / (2.0f64).ln()).ceil() as i32; [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(res)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/sampler.rs:583:28 [INFO] [stderr] | [INFO] [stderr] 583 | let j_offset = i as f64 / self.fir_res as f64; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(i)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/sampler.rs:583:39 [INFO] [stderr] | [INFO] [stderr] 583 | let j_offset = i as f64 / self.fir_res as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.fir_res)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/sampler.rs:587:22 [INFO] [stderr] | [INFO] [stderr] 587 | for j in -fir_n_div2..fir_n_div2 + 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `-fir_n_div2..=fir_n_div2` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/sampler.rs:588:26 [INFO] [stderr] | [INFO] [stderr] 588 | let jx = j as f64 - j_offset; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(j)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/sampler.rs:590:33 [INFO] [stderr] | [INFO] [stderr] 590 | let temp = jx / fir_n_div2 as f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `f64::from(fir_n_div2)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/sampler.rs:597:27 [INFO] [stderr] | [INFO] [stderr] 597 | let val = (1i32 << FIR_SHIFT) as f64 * filter_scale * samples_per_cycle * wc / pi [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(1i32 << FIR_SHIFT)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/sampler.rs:612:32 [INFO] [stderr] | [INFO] [stderr] 612 | let temp = halfx / n as f64; [INFO] [stderr] | ^^^^^^^^ help: try: `f64::from(n)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: The use of negated comparison operators on partially ordered types produces code that is hard to read and refactor. Please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable. [INFO] [stderr] --> src/sampler.rs:616:16 [INFO] [stderr] | [INFO] [stderr] 616 | if !(u >= i0e * sum) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::neg_cmp_op_on_partial_ord)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_cmp_op_on_partial_ord [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/sid.rs:81:17 [INFO] [stderr] | [INFO] [stderr] 81 | pub fn addr(&self) -> u8 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `j` [INFO] [stderr] --> src/sid.rs:327:32 [INFO] [stderr] | [INFO] [stderr] 327 | state.sid_register[j + 0] = wave.get_frequency_lo(); [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/sid.rs:385:34 [INFO] [stderr] | [INFO] [stderr] 385 | envelope.hold_zero = if state.hold_zero[i] != 0 { true } else { false }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can reduce it to: `state.hold_zero[i] != 0` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/synth.rs:80:28 [INFO] [stderr] | [INFO] [stderr] 80 | let freq = wave.borrow().get_frequency() as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(wave.borrow().get_frequency())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: this function has too many arguments (8/7) [INFO] [stderr] --> src/spline.rs:146:1 [INFO] [stderr] | [INFO] [stderr] 146 | / fn interpolate_brute_force( [INFO] [stderr] 147 | | x1: f64, [INFO] [stderr] 148 | | y1: f64, [INFO] [stderr] 149 | | x2: f64, [INFO] [stderr] ... | [INFO] [stderr] 163 | | } [INFO] [stderr] 164 | | } [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: this function has too many arguments (8/7) [INFO] [stderr] --> src/spline.rs:167:1 [INFO] [stderr] | [INFO] [stderr] 167 | / fn interpolate_forward_difference( [INFO] [stderr] 168 | | x1: f64, [INFO] [stderr] 169 | | y1: f64, [INFO] [stderr] 170 | | x2: f64, [INFO] [stderr] ... | [INFO] [stderr] 190 | | } [INFO] [stderr] 191 | | } [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/spline.rs:199:28 [INFO] [stderr] | [INFO] [stderr] 199 | pub fn interpolate(points: &Vec, plotter: &mut PointPlotter, res: f64) { [INFO] [stderr] | ^^^^^^^^^^^ help: change this to: `&[Point]` [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] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/spline.rs:208:12 [INFO] [stderr] | [INFO] [stderr] 208 | if p1.x != p2.x { [INFO] [stderr] | ^^^^^^^^^^^^ help: consider comparing them within some error: `(p1.x - p2.x).abs() < error` [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::float_cmp)] on by default [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/spline.rs:208:12 [INFO] [stderr] | [INFO] [stderr] 208 | if p1.x != p2.x { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/spline.rs:211:16 [INFO] [stderr] | [INFO] [stderr] 211 | if p0.x == p1.x && p2.x == p3.x { [INFO] [stderr] | ^^^^^^^^^^^^ help: consider comparing them within some error: `(p0.x - p1.x).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/spline.rs:211:16 [INFO] [stderr] | [INFO] [stderr] 211 | if p0.x == p1.x && p2.x == p3.x { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/spline.rs:211:32 [INFO] [stderr] | [INFO] [stderr] 211 | if p0.x == p1.x && p2.x == p3.x { [INFO] [stderr] | ^^^^^^^^^^^^ help: consider comparing them within some error: `(p2.x - p3.x).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/spline.rs:211:32 [INFO] [stderr] | [INFO] [stderr] 211 | if p0.x == p1.x && p2.x == p3.x { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/spline.rs:215:23 [INFO] [stderr] | [INFO] [stderr] 215 | } else if p0.x == p1.x { [INFO] [stderr] | ^^^^^^^^^^^^ help: consider comparing them within some error: `(p0.x - p1.x).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/spline.rs:215:23 [INFO] [stderr] | [INFO] [stderr] 215 | } else if p0.x == p1.x { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] error: strict comparison of f32 or f64 [INFO] [stderr] --> src/spline.rs:219:23 [INFO] [stderr] | [INFO] [stderr] 219 | } else if p2.x == p3.x { [INFO] [stderr] | ^^^^^^^^^^^^ help: consider comparing them within some error: `(p2.x - p3.x).abs() < error` [INFO] [stderr] | [INFO] [stderr] note: std::f32::EPSILON and std::f64::EPSILON are available. [INFO] [stderr] --> src/spline.rs:219:23 [INFO] [stderr] | [INFO] [stderr] 219 | } else if p2.x == p3.x { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#float_cmp [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/voice.rs:87:10 [INFO] [stderr] | [INFO] [stderr] 87 | (self.wave.borrow().output() as i32 - self.wave_zero) * self.envelope.output() as i32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.wave.borrow().output())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/voice.rs:87:65 [INFO] [stderr] | [INFO] [stderr] 87 | (self.wave.borrow().output() as i32 - self.wave_zero) * self.envelope.output() as i32 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(self.envelope.output())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/wave.rs:175:24 [INFO] [stderr] | [INFO] [stderr] 175 | let result = (((value as u16) << 8) & 0xff00) | (self.frequency & 0x00ff); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(value)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/wave.rs:180:51 [INFO] [stderr] | [INFO] [stderr] 180 | let result = (self.frequency & 0xff00) | ((value as u16) & 0x00ff); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(value)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/wave.rs:185:24 [INFO] [stderr] | [INFO] [stderr] 185 | let result = (((value as u16) << 8) & 0x0f00) | (self.pulse_width & 0x00ff); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(value)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/wave.rs:190:53 [INFO] [stderr] | [INFO] [stderr] 190 | let result = (self.pulse_width & 0x0f00) | ((value as u16) & 0x00ff); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u16::from(value)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/wave.rs:208:36 [INFO] [stderr] | [INFO] [stderr] 208 | self.acc = (self.acc + self.frequency as u32) & ACC_MASK; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.frequency)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/wave.rs:224:41 [INFO] [stderr] | [INFO] [stderr] 224 | let mut delta_acc = delta * self.frequency as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `u32::from(self.frequency)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/wave.rs:407:10 [INFO] [stderr] | [INFO] [stderr] 407 | ((self.wave_ps[self.output_s() as usize] as u16) << 4) & self.output_p() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.wave_ps[self.output_s() as usize])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/wave.rs:412:10 [INFO] [stderr] | [INFO] [stderr] 412 | ((self.wave_pst[self.output_s() as usize] as u16) << 4) & self.output_p() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.wave_pst[self.output_s() as usize])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/wave.rs:417:10 [INFO] [stderr] | [INFO] [stderr] 417 | ((self.wave_pt[(self.output_t() >> 1) as usize] as u16) << 4) & self.output_p() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.wave_pt[(self.output_t() >> 1) as usize])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/wave.rs:422:9 [INFO] [stderr] | [INFO] [stderr] 422 | (self.wave_st[self.output_s() as usize] as u16) << 4 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u16::from(self.wave_st[self.output_s() as usize])` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] error: aborting due to 23 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `resid-rs`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: build failed [INFO] running `"docker" "inspect" "06a4881d96220f13153ebb4b491fcba676b33b3050b6f9ac985a15710072dab5"` [INFO] running `"docker" "rm" "-f" "06a4881d96220f13153ebb4b491fcba676b33b3050b6f9ac985a15710072dab5"` [INFO] [stdout] 06a4881d96220f13153ebb4b491fcba676b33b3050b6f9ac985a15710072dab5