[INFO] updating cached repository https://github.com/InsidiousMind/spcp [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"` [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 157a7a1567f5e8744f22876874b4df2d3b3fec8f [INFO] checking InsidiousMind/spcp against try#e4dba30b9b475d8750370c4dfb49b6541990904d for pr-71393 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FInsidiousMind%2Fspcp" "/workspace/builds/worker-3/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-3/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/InsidiousMind/spcp on toolchain e4dba30b9b475d8750370c4dfb49b6541990904d [INFO] running `"/workspace/cargo-home/bin/cargo" "+e4dba30b9b475d8750370c4dfb49b6541990904d" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/InsidiousMind/spcp [INFO] finished tweaking git repo https://github.com/InsidiousMind/spcp [INFO] tweaked toml for git repo https://github.com/InsidiousMind/spcp written to /workspace/builds/worker-3/source/Cargo.toml [INFO] crate git repo https://github.com/InsidiousMind/spcp already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+e4dba30b9b475d8750370c4dfb49b6541990904d" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+e4dba30b9b475d8750370c4dfb49b6541990904d" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 8716e9cd2fb860671a422bea984494fc9c01dc62e01845cd2dc6a0412f059b2a [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `"docker" "start" "-a" "8716e9cd2fb860671a422bea984494fc9c01dc62e01845cd2dc6a0412f059b2a"` [INFO] [stderr] Checking spcp v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: lint `exceeding_bitshifts` has been renamed to `arithmetic_overflow` [INFO] [stderr] --> src/lib.rs:4:10 [INFO] [stderr] | [INFO] [stderr] 4 | #![allow(exceeding_bitshifts)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: use the new name: `arithmetic_overflow` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(renamed_and_removed_lints)]` on by default [INFO] [stderr] [INFO] [stderr] warning: lint `exceeding_bitshifts` has been renamed to `arithmetic_overflow` [INFO] [stderr] --> src/lib.rs:4:10 [INFO] [stderr] | [INFO] [stderr] 4 | #![allow(exceeding_bitshifts)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: use the new name: `arithmetic_overflow` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(renamed_and_removed_lints)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `state::State` [INFO] [stderr] --> src/macros.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use state::State; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `SPC_DSP::counter_mask` [INFO] [stderr] --> src/macros.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use SPC_DSP::counter_mask; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type `sample_t` should have an upper camel case name [INFO] [stderr] --> src/lib.rs:9:10 [INFO] [stderr] | [INFO] [stderr] 9 | pub type sample_t = i16; [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to upper camel case: `SampleT` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ptr` [INFO] [stderr] --> src/SPC_DSP.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::ptr; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `state::NULL_U8 as NULL_U8` [INFO] [stderr] --> src/SPC_DSP.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use state::NULL_U8 as NULL_U8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `macros` [INFO] [stderr] --> src/SPC_DSP.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use macros; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type `SPC_DSP` should have an upper camel case name [INFO] [stderr] --> src/SPC_DSP.rs:34:12 [INFO] [stderr] | [INFO] [stderr] 34 | pub struct SPC_DSP { [INFO] [stderr] | ^^^^^^^ help: convert the identifier to upper camel case: `SpcDsp` [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/SPC_DSP.rs:97:26 [INFO] [stderr] | [INFO] [stderr] 97 | self.m.set_phase((new_phase & 31)); //raises can't mutably borrow immutable field [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused label [INFO] [stderr] --> src/SPC_DSP.rs:115:13 [INFO] [stderr] | [INFO] [stderr] 115 | 'outer: loop { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_labels)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/SPC_DSP.rs:211:53 [INFO] [stderr] | [INFO] [stderr] 211 | ... output = unsafe{(*fwd.wrapping_offset(0) * *_in.wrapping_offset(0))} >> 11; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/SPC_DSP.rs:212:54 [INFO] [stderr] | [INFO] [stderr] 212 | ... output += unsafe{(*fwd.wrapping_offset(1) * *_in.wrapping_offset(1))} >> 11; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/SPC_DSP.rs:213:54 [INFO] [stderr] | [INFO] [stderr] 213 | ... output += unsafe{(*rev.wrapping_offset(1) * *_in.wrapping_offset(2))} >> 11; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/SPC_DSP.rs:215:54 [INFO] [stderr] | [INFO] [stderr] 215 | ... output += unsafe{(*rev.wrapping_offset(0) * *_in.wrapping_offset(3))} >> 11; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused import: `config::*` [INFO] [stderr] --> src/voice.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use config::*; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around const expression [INFO] [stderr] --> src/voice.rs:25:25 [INFO] [stderr] | [INFO] [stderr] 25 | buf: [0i64; ((Sizes::BRR_BUF_SIZE * 2) as usize)], [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused import: `macros` [INFO] [stderr] --> src/state.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use macros; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ops::Add` [INFO] [stderr] --> src/state.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::ops::Add; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ptr` [INFO] [stderr] --> src/state.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::ptr; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `config::*` [INFO] [stderr] --> src/state.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use config::*; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type `sample_t` should have an upper camel case name [INFO] [stderr] --> src/state.rs:18:10 [INFO] [stderr] | [INFO] [stderr] 18 | pub type sample_t = i16; [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to upper camel case: `SampleT` [INFO] [stderr] [INFO] [stderr] warning: variant `r_mvoll` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | r_mvoll = 0x0C, [INFO] [stderr] | ^^^^^^^ help: convert the identifier to upper camel case: `RMvoll` [INFO] [stderr] [INFO] [stderr] warning: variant `r_mvolr` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | r_mvolr = 0x1C, [INFO] [stderr] | ^^^^^^^ help: convert the identifier to upper camel case: `RMvolr` [INFO] [stderr] [INFO] [stderr] warning: variant `r_evoll` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | r_evoll = 0x2C, [INFO] [stderr] | ^^^^^^^ help: convert the identifier to upper camel case: `REvoll` [INFO] [stderr] [INFO] [stderr] warning: variant `r_evolr` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | r_evolr = 0x3C, [INFO] [stderr] | ^^^^^^^ help: convert the identifier to upper camel case: `REvolr` [INFO] [stderr] [INFO] [stderr] warning: variant `r_kon` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | r_kon = 0x4C, [INFO] [stderr] | ^^^^^ help: convert the identifier to upper camel case: `RKon` [INFO] [stderr] [INFO] [stderr] warning: variant `r_koff` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | r_koff = 0x5C, [INFO] [stderr] | ^^^^^^ help: convert the identifier to upper camel case: `RKoff` [INFO] [stderr] [INFO] [stderr] warning: variant `r_flg` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | r_flg = 0x6C, [INFO] [stderr] | ^^^^^ help: convert the identifier to upper camel case: `RFlg` [INFO] [stderr] [INFO] [stderr] warning: variant `r_endx` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | r_endx = 0x7C, [INFO] [stderr] | ^^^^^^ help: convert the identifier to upper camel case: `REndx` [INFO] [stderr] [INFO] [stderr] warning: variant `r_efb` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | r_efb = 0x0D, [INFO] [stderr] | ^^^^^ help: convert the identifier to upper camel case: `REfb` [INFO] [stderr] [INFO] [stderr] warning: variant `r_pmon` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | r_pmon = 0x2D, [INFO] [stderr] | ^^^^^^ help: convert the identifier to upper camel case: `RPmon` [INFO] [stderr] [INFO] [stderr] warning: variant `r_non` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | r_non = 0x3D, [INFO] [stderr] | ^^^^^ help: convert the identifier to upper camel case: `RNon` [INFO] [stderr] [INFO] [stderr] warning: variant `r_eon` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | r_eon = 0x4D, [INFO] [stderr] | ^^^^^ help: convert the identifier to upper camel case: `REon` [INFO] [stderr] [INFO] [stderr] warning: variant `r_dir` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | r_dir = 0x5D, [INFO] [stderr] | ^^^^^ help: convert the identifier to upper camel case: `RDir` [INFO] [stderr] [INFO] [stderr] warning: variant `r_esa` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | r_esa = 0x6D, [INFO] [stderr] | ^^^^^ help: convert the identifier to upper camel case: `REsa` [INFO] [stderr] [INFO] [stderr] warning: variant `r_edl` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | r_edl = 0x7D, [INFO] [stderr] | ^^^^^ help: convert the identifier to upper camel case: `REdl` [INFO] [stderr] [INFO] [stderr] warning: variant `r_fir` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | r_fir = 0x0F, // 8 coefficients at 0x0F, 0x1F ... 0x7F [INFO] [stderr] | ^^^^^ help: convert the identifier to upper camel case: `RFir` [INFO] [stderr] [INFO] [stderr] warning: variant `v_voll` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | v_voll = 0x00, [INFO] [stderr] | ^^^^^^ help: convert the identifier to upper camel case: `VVoll` [INFO] [stderr] [INFO] [stderr] warning: variant `v_volr` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | v_volr = 0x01, [INFO] [stderr] | ^^^^^^ help: convert the identifier to upper camel case: `VVolr` [INFO] [stderr] [INFO] [stderr] warning: variant `v_pitchl` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | v_pitchl = 0x02, [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to upper camel case: `VPitchl` [INFO] [stderr] [INFO] [stderr] warning: variant `v_pitchh` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | v_pitchh = 0x03, [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to upper camel case: `VPitchh` [INFO] [stderr] [INFO] [stderr] warning: variant `v_srcn` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | v_srcn = 0x04, [INFO] [stderr] | ^^^^^^ help: convert the identifier to upper camel case: `VSrcn` [INFO] [stderr] [INFO] [stderr] warning: variant `v_adsr0` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | v_adsr0 = 0x05, [INFO] [stderr] | ^^^^^^^ help: convert the identifier to upper camel case: `VAdsr0` [INFO] [stderr] [INFO] [stderr] warning: variant `v_adsr1` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | v_adsr1 = 0x06, [INFO] [stderr] | ^^^^^^^ help: convert the identifier to upper camel case: `VAdsr1` [INFO] [stderr] [INFO] [stderr] warning: variant `v_gain` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | v_gain = 0x07, [INFO] [stderr] | ^^^^^^ help: convert the identifier to upper camel case: `VGain` [INFO] [stderr] [INFO] [stderr] warning: variant `v_envx` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | v_envx = 0x08, [INFO] [stderr] | ^^^^^^ help: convert the identifier to upper camel case: `VEnvx` [INFO] [stderr] [INFO] [stderr] warning: variant `v_outx` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | v_outx = 0x09, [INFO] [stderr] | ^^^^^^ help: convert the identifier to upper camel case: `VOutx` [INFO] [stderr] [INFO] [stderr] warning: variant `env_release` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 39 | env_release, [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `EnvRelease` [INFO] [stderr] [INFO] [stderr] warning: variant `env_attack` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | env_attack, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `EnvAttack` [INFO] [stderr] [INFO] [stderr] warning: variant `env_decay` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:41:5 [INFO] [stderr] | [INFO] [stderr] 41 | env_decay, [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to upper camel case: `EnvDecay` [INFO] [stderr] [INFO] [stderr] warning: variant `env_sustain` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:42:5 [INFO] [stderr] | [INFO] [stderr] 42 | env_sustain, [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `EnvSustain` [INFO] [stderr] [INFO] [stderr] warning: unused import: `state::State` [INFO] [stderr] --> src/macros.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use state::State; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `SPC_DSP::counter_mask` [INFO] [stderr] --> src/macros.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use SPC_DSP::counter_mask; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type `sample_t` should have an upper camel case name [INFO] [stderr] --> src/lib.rs:9:10 [INFO] [stderr] | [INFO] [stderr] 9 | pub type sample_t = i16; [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to upper camel case: `SampleT` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ptr` [INFO] [stderr] --> src/SPC_DSP.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::ptr; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `state::NULL_U8 as NULL_U8` [INFO] [stderr] --> src/SPC_DSP.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use state::NULL_U8 as NULL_U8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `macros` [INFO] [stderr] --> src/SPC_DSP.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use macros; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type `SPC_DSP` should have an upper camel case name [INFO] [stderr] --> src/SPC_DSP.rs:34:12 [INFO] [stderr] | [INFO] [stderr] 34 | pub struct SPC_DSP { [INFO] [stderr] | ^^^^^^^ help: convert the identifier to upper camel case: `SpcDsp` [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/SPC_DSP.rs:97:26 [INFO] [stderr] | [INFO] [stderr] 97 | self.m.set_phase((new_phase & 31)); //raises can't mutably borrow immutable field [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused label [INFO] [stderr] --> src/SPC_DSP.rs:115:13 [INFO] [stderr] | [INFO] [stderr] 115 | 'outer: loop { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_labels)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/SPC_DSP.rs:211:53 [INFO] [stderr] | [INFO] [stderr] 211 | ... output = unsafe{(*fwd.wrapping_offset(0) * *_in.wrapping_offset(0))} >> 11; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/SPC_DSP.rs:212:54 [INFO] [stderr] | [INFO] [stderr] 212 | ... output += unsafe{(*fwd.wrapping_offset(1) * *_in.wrapping_offset(1))} >> 11; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/SPC_DSP.rs:213:54 [INFO] [stderr] | [INFO] [stderr] 213 | ... output += unsafe{(*rev.wrapping_offset(1) * *_in.wrapping_offset(2))} >> 11; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/SPC_DSP.rs:215:54 [INFO] [stderr] | [INFO] [stderr] 215 | ... output += unsafe{(*rev.wrapping_offset(0) * *_in.wrapping_offset(3))} >> 11; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused import: `config::*` [INFO] [stderr] --> src/voice.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use config::*; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around const expression [INFO] [stderr] --> src/voice.rs:25:25 [INFO] [stderr] | [INFO] [stderr] 25 | buf: [0i64; ((Sizes::BRR_BUF_SIZE * 2) as usize)], [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused import: `macros` [INFO] [stderr] --> src/state.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use macros; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ops::Add` [INFO] [stderr] --> src/state.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::ops::Add; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ptr` [INFO] [stderr] --> src/state.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::ptr; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `config::*` [INFO] [stderr] --> src/state.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use config::*; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type `sample_t` should have an upper camel case name [INFO] [stderr] --> src/state.rs:18:10 [INFO] [stderr] | [INFO] [stderr] 18 | pub type sample_t = i16; [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to upper camel case: `SampleT` [INFO] [stderr] [INFO] [stderr] warning: variant `r_mvoll` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | r_mvoll = 0x0C, [INFO] [stderr] | ^^^^^^^ help: convert the identifier to upper camel case: `RMvoll` [INFO] [stderr] [INFO] [stderr] warning: variant `r_mvolr` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | r_mvolr = 0x1C, [INFO] [stderr] | ^^^^^^^ help: convert the identifier to upper camel case: `RMvolr` [INFO] [stderr] [INFO] [stderr] warning: variant `r_evoll` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | r_evoll = 0x2C, [INFO] [stderr] | ^^^^^^^ help: convert the identifier to upper camel case: `REvoll` [INFO] [stderr] [INFO] [stderr] warning: variant `r_evolr` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | r_evolr = 0x3C, [INFO] [stderr] | ^^^^^^^ help: convert the identifier to upper camel case: `REvolr` [INFO] [stderr] [INFO] [stderr] warning: variant `r_kon` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | r_kon = 0x4C, [INFO] [stderr] | ^^^^^ help: convert the identifier to upper camel case: `RKon` [INFO] [stderr] [INFO] [stderr] warning: variant `r_koff` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | r_koff = 0x5C, [INFO] [stderr] | ^^^^^^ help: convert the identifier to upper camel case: `RKoff` [INFO] [stderr] [INFO] [stderr] warning: variant `r_flg` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | r_flg = 0x6C, [INFO] [stderr] | ^^^^^ help: convert the identifier to upper camel case: `RFlg` [INFO] [stderr] [INFO] [stderr] warning: variant `r_endx` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | r_endx = 0x7C, [INFO] [stderr] | ^^^^^^ help: convert the identifier to upper camel case: `REndx` [INFO] [stderr] [INFO] [stderr] warning: variant `r_efb` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | r_efb = 0x0D, [INFO] [stderr] | ^^^^^ help: convert the identifier to upper camel case: `REfb` [INFO] [stderr] [INFO] [stderr] warning: variant `r_pmon` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | r_pmon = 0x2D, [INFO] [stderr] | ^^^^^^ help: convert the identifier to upper camel case: `RPmon` [INFO] [stderr] [INFO] [stderr] warning: variant `r_non` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | r_non = 0x3D, [INFO] [stderr] | ^^^^^ help: convert the identifier to upper camel case: `RNon` [INFO] [stderr] [INFO] [stderr] warning: variant `r_eon` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | r_eon = 0x4D, [INFO] [stderr] | ^^^^^ help: convert the identifier to upper camel case: `REon` [INFO] [stderr] [INFO] [stderr] warning: variant `r_dir` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | r_dir = 0x5D, [INFO] [stderr] | ^^^^^ help: convert the identifier to upper camel case: `RDir` [INFO] [stderr] [INFO] [stderr] warning: variant `r_esa` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | r_esa = 0x6D, [INFO] [stderr] | ^^^^^ help: convert the identifier to upper camel case: `REsa` [INFO] [stderr] [INFO] [stderr] warning: variant `r_edl` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | r_edl = 0x7D, [INFO] [stderr] | ^^^^^ help: convert the identifier to upper camel case: `REdl` [INFO] [stderr] [INFO] [stderr] warning: variant `r_fir` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | r_fir = 0x0F, // 8 coefficients at 0x0F, 0x1F ... 0x7F [INFO] [stderr] | ^^^^^ help: convert the identifier to upper camel case: `RFir` [INFO] [stderr] [INFO] [stderr] warning: variant `v_voll` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | v_voll = 0x00, [INFO] [stderr] | ^^^^^^ help: convert the identifier to upper camel case: `VVoll` [INFO] [stderr] [INFO] [stderr] warning: variant `v_volr` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:26:5 [INFO] [stderr] | [INFO] [stderr] 26 | v_volr = 0x01, [INFO] [stderr] | ^^^^^^ help: convert the identifier to upper camel case: `VVolr` [INFO] [stderr] [INFO] [stderr] warning: variant `v_pitchl` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | v_pitchl = 0x02, [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to upper camel case: `VPitchl` [INFO] [stderr] [INFO] [stderr] warning: variant `v_pitchh` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | v_pitchh = 0x03, [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to upper camel case: `VPitchh` [INFO] [stderr] [INFO] [stderr] warning: variant `v_srcn` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | v_srcn = 0x04, [INFO] [stderr] | ^^^^^^ help: convert the identifier to upper camel case: `VSrcn` [INFO] [stderr] [INFO] [stderr] warning: variant `v_adsr0` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | v_adsr0 = 0x05, [INFO] [stderr] | ^^^^^^^ help: convert the identifier to upper camel case: `VAdsr0` [INFO] [stderr] [INFO] [stderr] warning: variant `v_adsr1` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | v_adsr1 = 0x06, [INFO] [stderr] | ^^^^^^^ help: convert the identifier to upper camel case: `VAdsr1` [INFO] [stderr] [INFO] [stderr] warning: variant `v_gain` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | v_gain = 0x07, [INFO] [stderr] | ^^^^^^ help: convert the identifier to upper camel case: `VGain` [INFO] [stderr] [INFO] [stderr] warning: variant `v_envx` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | v_envx = 0x08, [INFO] [stderr] | ^^^^^^ help: convert the identifier to upper camel case: `VEnvx` [INFO] [stderr] [INFO] [stderr] warning: variant `v_outx` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | v_outx = 0x09, [INFO] [stderr] | ^^^^^^ help: convert the identifier to upper camel case: `VOutx` [INFO] [stderr] [INFO] [stderr] warning: variant `env_release` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 39 | env_release, [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `EnvRelease` [INFO] [stderr] [INFO] [stderr] warning: variant `env_attack` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | env_attack, [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `EnvAttack` [INFO] [stderr] [INFO] [stderr] warning: variant `env_decay` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:41:5 [INFO] [stderr] | [INFO] [stderr] 41 | env_decay, [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to upper camel case: `EnvDecay` [INFO] [stderr] [INFO] [stderr] warning: variant `env_sustain` should have an upper camel case name [INFO] [stderr] --> src/registers.rs:42:5 [INFO] [stderr] | [INFO] [stderr] 42 | env_sustain, [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `EnvSustain` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/SPC_DSP.rs:81:13 [INFO] [stderr] | [INFO] [stderr] 81 | let mut i:i64; [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `break_outer` [INFO] [stderr] --> src/SPC_DSP.rs:94:13 [INFO] [stderr] | [INFO] [stderr] 94 | let break_outer: bool = true; [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_break_outer` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `mvoll` is never read [INFO] [stderr] --> src/SPC_DSP.rs:112:13 [INFO] [stderr] | [INFO] [stderr] 112 | mvoll = -mvoll; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: variable `main_out_l` is assigned to, but never used [INFO] [stderr] --> src/SPC_DSP.rs:135:21 [INFO] [stderr] | [INFO] [stderr] 135 | let mut main_out_l = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_main_out_l` instead [INFO] [stderr] [INFO] [stderr] warning: variable `main_out_r` is assigned to, but never used [INFO] [stderr] --> src/SPC_DSP.rs:136:21 [INFO] [stderr] | [INFO] [stderr] 136 | let mut main_out_r = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_main_out_r` instead [INFO] [stderr] [INFO] [stderr] warning: variable `echo_out_l` is assigned to, but never used [INFO] [stderr] --> src/SPC_DSP.rs:137:21 [INFO] [stderr] | [INFO] [stderr] 137 | let mut echo_out_l = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_echo_out_l` instead [INFO] [stderr] [INFO] [stderr] warning: variable `echo_out_r` is assigned to, but never used [INFO] [stderr] --> src/SPC_DSP.rs:138:21 [INFO] [stderr] | [INFO] [stderr] 138 | let mut echo_out_r = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_echo_out_r` instead [INFO] [stderr] [INFO] [stderr] warning: value assigned to `pitch` is never read [INFO] [stderr] --> src/SPC_DSP.rs:158:25 [INFO] [stderr] | [INFO] [stderr] 158 | pitch += ((pmon_input >> 5) * pitch) >> 10; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `pitch` is never read [INFO] [stderr] --> src/SPC_DSP.rs:181:25 [INFO] [stderr] | [INFO] [stderr] 181 | pitch = 0; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `v_regs` [INFO] [stderr] --> src/SPC_DSP.rs:340:21 [INFO] [stderr] | [INFO] [stderr] 340 | let v_regs = &mut self.m.regs[vreg_start..Sizes::REGISTER_COUNT]; [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_v_regs` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/SPC_DSP.rs:142:21 [INFO] [stderr] | [INFO] [stderr] 142 | let mut v_regs = &mut self.m.regs[vreg_start..Sizes::REGISTER_COUNT]; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/SPC_DSP.rs:192:33 [INFO] [stderr] | [INFO] [stderr] 192 | ... let mut offset: isize = (v.interp_pos >> (3 & 0x1FE)) as isize; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/SPC_DSP.rs:294:37 [INFO] [stderr] | [INFO] [stderr] 294 | ... let mut mode: i... [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] error[E0503]: cannot use `self.m.regs` because it was mutably borrowed [INFO] [stderr] --> src/SPC_DSP.rs:157:26 [INFO] [stderr] | [INFO] [stderr] 142 | let mut v_regs = &mut self.m.regs[vreg_start..Sizes::REGISTER_COUNT]; [INFO] [stderr] | ----------- borrow of `self.m.regs` occurs here [INFO] [stderr] ... [INFO] [stderr] 157 | if ((self.m.regs[reg!(pmon)] as i64) & vbit) != 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ use of borrowed `self.m.regs` [INFO] [stderr] ... [INFO] [stderr] 188 | v_regs[vreg!(envx)] = (env >> 4) as u8; [INFO] [stderr] | ------------------- borrow later used here [INFO] [stderr] [INFO] [stderr] error[E0503]: cannot use `self.m.regs[_]` because it was mutably borrowed [INFO] [stderr] --> src/SPC_DSP.rs:157:26 [INFO] [stderr] | [INFO] [stderr] 142 | let mut v_regs = &mut self.m.regs[vreg_start..Sizes::REGISTER_COUNT]; [INFO] [stderr] | ----------- borrow of `self.m.regs` occurs here [INFO] [stderr] ... [INFO] [stderr] 157 | if ((self.m.regs[reg!(pmon)] as i64) & vbit) != 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ use of borrowed `self.m.regs` [INFO] [stderr] ... [INFO] [stderr] 188 | v_regs[vreg!(envx)] = (env >> 4) as u8; [INFO] [stderr] | ------------------- borrow later used here [INFO] [stderr] [INFO] [stderr] error[E0503]: cannot use `self.m.regs` because it was mutably borrowed [INFO] [stderr] --> src/SPC_DSP.rs:210:38 [INFO] [stderr] | [INFO] [stderr] 142 | let mut v_regs = &mut self.m.regs[vreg_start..Sizes::REGISTER_COUNT]; [INFO] [stderr] | ----------- borrow of `self.m.regs` occurs here [INFO] [stderr] ... [INFO] [stderr] 210 | if ((self.m.regs[reg!(non)] as i64) & vbit) == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ use of borrowed `self.m.regs` [INFO] [stderr] ... [INFO] [stderr] 235 | v_regs[vreg!(outx)] = (output >> 8) as u8; [INFO] [stderr] | ------------------- borrow later used here [INFO] [stderr] [INFO] [stderr] error[E0503]: cannot use `self.m.regs[_]` because it was mutably borrowed [INFO] [stderr] --> src/SPC_DSP.rs:210:38 [INFO] [stderr] | [INFO] [stderr] 142 | let mut v_regs = &mut self.m.regs[vreg_start..Sizes::REGISTER_COUNT]; [INFO] [stderr] | ----------- borrow of `self.m.regs` occurs here [INFO] [stderr] ... [INFO] [stderr] 210 | if ((self.m.regs[reg!(non)] as i64) & vbit) == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ use of borrowed `self.m.regs` [INFO] [stderr] ... [INFO] [stderr] 235 | v_regs[vreg!(outx)] = (output >> 8) as u8; [INFO] [stderr] | ------------------- borrow later used here [INFO] [stderr] [INFO] [stderr] error[E0503]: cannot use `self.m.regs` because it was mutably borrowed [INFO] [stderr] --> src/SPC_DSP.rs:229:34 [INFO] [stderr] | [INFO] [stderr] 142 | let mut v_regs = &mut self.m.regs[vreg_start..Sizes::REGISTER_COUNT]; [INFO] [stderr] | ----------- borrow of `self.m.regs` occurs here [INFO] [stderr] ... [INFO] [stderr] 229 | if ((self.m.regs[reg!(eon)] as i64) & vbit) != 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ use of borrowed `self.m.regs` [INFO] [stderr] ... [INFO] [stderr] 235 | v_regs[vreg!(outx)] = (output >> 8) as u8; [INFO] [stderr] | ------------------- borrow later used here [INFO] [stderr] [INFO] [stderr] error[E0503]: cannot use `self.m.regs[_]` because it was mutably borrowed [INFO] [stderr] --> src/SPC_DSP.rs:229:34 [INFO] [stderr] | [INFO] [stderr] 142 | let mut v_regs = &mut self.m.regs[vreg_start..Sizes::REGISTER_COUNT]; [INFO] [stderr] | ----------- borrow of `self.m.regs` occurs here [INFO] [stderr] ... [INFO] [stderr] 229 | if ((self.m.regs[reg!(eon)] as i64) & vbit) != 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ use of borrowed `self.m.regs` [INFO] [stderr] ... [INFO] [stderr] 235 | v_regs[vreg!(outx)] = (output >> 8) as u8; [INFO] [stderr] | ------------------- borrow later used here [INFO] [stderr] [INFO] [stderr] error[E0503]: cannot use `self.m.regs` because it was mutably borrowed [INFO] [stderr] --> src/SPC_DSP.rs:239:25 [INFO] [stderr] | [INFO] [stderr] 142 | let mut v_regs = &mut self.m.regs[vreg_start..Sizes::REGISTER_COUNT]; [INFO] [stderr] | ----------- borrow of `self.m.regs` occurs here [INFO] [stderr] ... [INFO] [stderr] 239 | if ((self.m.regs[reg!(flg)]) & 0x80 != 0) || ((brr_header & 3) == 1) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ use of borrowed `self.m.regs` [INFO] [stderr] ... [INFO] [stderr] 269 | let adsr0: i64 = v_regs[vreg!(adsr0)] as i64; [INFO] [stderr] | -------------------- borrow later used here [INFO] [stderr] [INFO] [stderr] error[E0503]: cannot use `self.m.regs[_]` because it was mutably borrowed [INFO] [stderr] --> src/SPC_DSP.rs:239:25 [INFO] [stderr] | [INFO] [stderr] 142 | let mut v_regs = &mut self.m.regs[vreg_start..Sizes::REGISTER_COUNT]; [INFO] [stderr] | ----------- borrow of `self.m.regs` occurs here [INFO] [stderr] ... [INFO] [stderr] 239 | if ((self.m.regs[reg!(flg)]) & 0x80 != 0) || ((brr_header & 3) == 1) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ use of borrowed `self.m.regs` [INFO] [stderr] ... [INFO] [stderr] 269 | let adsr0: i64 = v_regs[vreg!(adsr0)] as i64; [INFO] [stderr] | -------------------- borrow later used here [INFO] [stderr] [INFO] [stderr] error[E0503]: cannot use `self.m.regs` because it was mutably borrowed [INFO] [stderr] --> src/SPC_DSP.rs:254:29 [INFO] [stderr] | [INFO] [stderr] 142 | let mut v_regs = &mut self.m.regs[vreg_start..Sizes::REGISTER_COUNT]; [INFO] [stderr] | ----------- borrow of `self.m.regs` occurs here [INFO] [stderr] ... [INFO] [stderr] 254 | self.m.regs[reg!(endx)] &= !vbit as u8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ use of borrowed `self.m.regs` [INFO] [stderr] ... [INFO] [stderr] 269 | let adsr0: i64 = v_regs[vreg!(adsr0)] as i64; [INFO] [stderr] | -------------------- borrow later used here [INFO] [stderr] [INFO] [stderr] error[E0503]: cannot use `self.m.regs[_]` because it was mutably borrowed [INFO] [stderr] --> src/SPC_DSP.rs:254:29 [INFO] [stderr] | [INFO] [stderr] 142 | let mut v_regs = &mut self.m.regs[vreg_start..Sizes::REGISTER_COUNT]; [INFO] [stderr] | ----------- borrow of `self.m.regs` occurs here [INFO] [stderr] ... [INFO] [stderr] 254 | self.m.regs[reg!(endx)] &= !vbit as u8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use of borrowed `self.m.regs` [INFO] [stderr] ... [INFO] [stderr] 269 | let adsr0: i64 = v_regs[vreg!(adsr0)] as i64; [INFO] [stderr] | -------------------- borrow later used here [INFO] [stderr] [INFO] [stderr] error[E0506]: cannot assign to `self.m.regs[_]` because it is borrowed [INFO] [stderr] --> src/SPC_DSP.rs:254:29 [INFO] [stderr] | [INFO] [stderr] 142 | let mut v_regs = &mut self.m.regs[vreg_start..Sizes::REGISTER_COUNT]; [INFO] [stderr] | ----------- borrow of `self.m.regs[_]` occurs here [INFO] [stderr] ... [INFO] [stderr] 254 | self.m.regs[reg!(endx)] &= !vbit as u8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ assignment to borrowed `self.m.regs[_]` occurs here [INFO] [stderr] ... [INFO] [stderr] 269 | let adsr0: i64 = v_regs[vreg!(adsr0)] as i64; [INFO] [stderr] | -------------------- borrow later used here [INFO] [stderr] [INFO] [stderr] error[E0499]: cannot borrow `self.m.regs` as mutable more than once at a time [INFO] [stderr] --> src/SPC_DSP.rs:340:35 [INFO] [stderr] | [INFO] [stderr] 142 | let mut v_regs = &mut self.m.regs[vreg_start..Sizes::REGISTER_COUNT]; [INFO] [stderr] | ----------- first mutable borrow occurs here [INFO] [stderr] ... [INFO] [stderr] 156 | let mut pitch: i64 = (v_regs[vreg!(pitchl)].to_le() & 0x3FFF) as i64; [INFO] [stderr] | --------------------- first borrow later used here [INFO] [stderr] ... [INFO] [stderr] 340 | let v_regs = &mut self.m.regs[vreg_start..Sizes::REGISTER_COUNT]; [INFO] [stderr] | ^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/state.rs:166:13 [INFO] [stderr] | [INFO] [stderr] 166 | let mut n = self.counters[i as usize]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] error: aborting due to 12 previous errors; 65 warnings emitted [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0499, E0503, E0506. [INFO] [stderr] For more information about an error, try `rustc --explain E0499`. [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/SPC_DSP.rs:81:13 [INFO] [stderr] | [INFO] [stderr] 81 | let mut i:i64; [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `break_outer` [INFO] [stderr] --> src/SPC_DSP.rs:94:13 [INFO] [stderr] | [INFO] [stderr] 94 | let break_outer: bool = true; [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_break_outer` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `mvoll` is never read [INFO] [stderr] --> src/SPC_DSP.rs:112:13 [INFO] [stderr] | [INFO] [stderr] 112 | mvoll = -mvoll; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: variable `main_out_l` is assigned to, but never used [INFO] [stderr] --> src/SPC_DSP.rs:135:21 [INFO] [stderr] | [INFO] [stderr] 135 | let mut main_out_l = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_main_out_l` instead [INFO] [stderr] [INFO] [stderr] warning: variable `main_out_r` is assigned to, but never used [INFO] [stderr] --> src/SPC_DSP.rs:136:21 [INFO] [stderr] | [INFO] [stderr] 136 | let mut main_out_r = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_main_out_r` instead [INFO] [stderr] [INFO] [stderr] warning: variable `echo_out_l` is assigned to, but never used [INFO] [stderr] --> src/SPC_DSP.rs:137:21 [INFO] [stderr] | [INFO] [stderr] 137 | let mut echo_out_l = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_echo_out_l` instead [INFO] [stderr] [INFO] [stderr] warning: variable `echo_out_r` is assigned to, but never used [INFO] [stderr] --> src/SPC_DSP.rs:138:21 [INFO] [stderr] | [INFO] [stderr] 138 | let mut echo_out_r = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_echo_out_r` instead [INFO] [stderr] [INFO] [stderr] warning: value assigned to `pitch` is never read [INFO] [stderr] --> src/SPC_DSP.rs:158:25 [INFO] [stderr] | [INFO] [stderr] 158 | pitch += ((pmon_input >> 5) * pitch) >> 10; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `pitch` is never read [INFO] [stderr] --> src/SPC_DSP.rs:181:25 [INFO] [stderr] | [INFO] [stderr] 181 | pitch = 0; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `v_regs` [INFO] [stderr] --> src/SPC_DSP.rs:340:21 [INFO] [stderr] | [INFO] [stderr] 340 | let v_regs = &mut self.m.regs[vreg_start..Sizes::REGISTER_COUNT]; [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_v_regs` [INFO] [stderr] [INFO] [stderr] error: could not compile `spcp`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/SPC_DSP.rs:142:21 [INFO] [stderr] | [INFO] [stderr] 142 | let mut v_regs = &mut self.m.regs[vreg_start..Sizes::REGISTER_COUNT]; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/SPC_DSP.rs:192:33 [INFO] [stderr] | [INFO] [stderr] 192 | ... let mut offset: isize = (v.interp_pos >> (3 & 0x1FE)) as isize; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/SPC_DSP.rs:294:37 [INFO] [stderr] | [INFO] [stderr] 294 | ... let mut mode: i... [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] error[E0503]: cannot use `self.m.regs` because it was mutably borrowed [INFO] [stderr] --> src/SPC_DSP.rs:157:26 [INFO] [stderr] | [INFO] [stderr] 142 | let mut v_regs = &mut self.m.regs[vreg_start..Sizes::REGISTER_COUNT]; [INFO] [stderr] | ----------- borrow of `self.m.regs` occurs here [INFO] [stderr] ... [INFO] [stderr] 157 | if ((self.m.regs[reg!(pmon)] as i64) & vbit) != 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ use of borrowed `self.m.regs` [INFO] [stderr] ... [INFO] [stderr] 188 | v_regs[vreg!(envx)] = (env >> 4) as u8; [INFO] [stderr] | ------------------- borrow later used here [INFO] [stderr] [INFO] [stderr] error[E0503]: cannot use `self.m.regs[_]` because it was mutably borrowed [INFO] [stderr] --> src/SPC_DSP.rs:157:26 [INFO] [stderr] | [INFO] [stderr] 142 | let mut v_regs = &mut self.m.regs[vreg_start..Sizes::REGISTER_COUNT]; [INFO] [stderr] | ----------- borrow of `self.m.regs` occurs here [INFO] [stderr] ... [INFO] [stderr] 157 | if ((self.m.regs[reg!(pmon)] as i64) & vbit) != 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ use of borrowed `self.m.regs` [INFO] [stderr] ... [INFO] [stderr] 188 | v_regs[vreg!(envx)] = (env >> 4) as u8; [INFO] [stderr] | ------------------- borrow later used here [INFO] [stderr] [INFO] [stderr] error[E0503]: cannot use `self.m.regs` because it was mutably borrowed [INFO] [stderr] --> src/SPC_DSP.rs:210:38 [INFO] [stderr] | [INFO] [stderr] 142 | let mut v_regs = &mut self.m.regs[vreg_start..Sizes::REGISTER_COUNT]; [INFO] [stderr] | ----------- borrow of `self.m.regs` occurs here [INFO] [stderr] ... [INFO] [stderr] 210 | if ((self.m.regs[reg!(non)] as i64) & vbit) == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ use of borrowed `self.m.regs` [INFO] [stderr] ... [INFO] [stderr] 235 | v_regs[vreg!(outx)] = (output >> 8) as u8; [INFO] [stderr] | ------------------- borrow later used here [INFO] [stderr] [INFO] [stderr] error[E0503]: cannot use `self.m.regs[_]` because it was mutably borrowed [INFO] [stderr] --> src/SPC_DSP.rs:210:38 [INFO] [stderr] | [INFO] [stderr] 142 | let mut v_regs = &mut self.m.regs[vreg_start..Sizes::REGISTER_COUNT]; [INFO] [stderr] | ----------- borrow of `self.m.regs` occurs here [INFO] [stderr] ... [INFO] [stderr] 210 | if ((self.m.regs[reg!(non)] as i64) & vbit) == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ use of borrowed `self.m.regs` [INFO] [stderr] ... [INFO] [stderr] 235 | v_regs[vreg!(outx)] = (output >> 8) as u8; [INFO] [stderr] | ------------------- borrow later used here [INFO] [stderr] [INFO] [stderr] error[E0503]: cannot use `self.m.regs` because it was mutably borrowed [INFO] [stderr] --> src/SPC_DSP.rs:229:34 [INFO] [stderr] | [INFO] [stderr] 142 | let mut v_regs = &mut self.m.regs[vreg_start..Sizes::REGISTER_COUNT]; [INFO] [stderr] | ----------- borrow of `self.m.regs` occurs here [INFO] [stderr] ... [INFO] [stderr] 229 | if ((self.m.regs[reg!(eon)] as i64) & vbit) != 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ use of borrowed `self.m.regs` [INFO] [stderr] ... [INFO] [stderr] 235 | v_regs[vreg!(outx)] = (output >> 8) as u8; [INFO] [stderr] | ------------------- borrow later used here [INFO] [stderr] [INFO] [stderr] error[E0503]: cannot use `self.m.regs[_]` because it was mutably borrowed [INFO] [stderr] --> src/SPC_DSP.rs:229:34 [INFO] [stderr] | [INFO] [stderr] 142 | let mut v_regs = &mut self.m.regs[vreg_start..Sizes::REGISTER_COUNT]; [INFO] [stderr] | ----------- borrow of `self.m.regs` occurs here [INFO] [stderr] ... [INFO] [stderr] 229 | if ((self.m.regs[reg!(eon)] as i64) & vbit) != 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ use of borrowed `self.m.regs` [INFO] [stderr] ... [INFO] [stderr] 235 | v_regs[vreg!(outx)] = (output >> 8) as u8; [INFO] [stderr] | ------------------- borrow later used here [INFO] [stderr] [INFO] [stderr] error[E0503]: cannot use `self.m.regs` because it was mutably borrowed [INFO] [stderr] --> src/SPC_DSP.rs:239:25 [INFO] [stderr] | [INFO] [stderr] 142 | let mut v_regs = &mut self.m.regs[vreg_start..Sizes::REGISTER_COUNT]; [INFO] [stderr] | ----------- borrow of `self.m.regs` occurs here [INFO] [stderr] ... [INFO] [stderr] 239 | if ((self.m.regs[reg!(flg)]) & 0x80 != 0) || ((brr_header & 3) == 1) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ use of borrowed `self.m.regs` [INFO] [stderr] ... [INFO] [stderr] 269 | let adsr0: i64 = v_regs[vreg!(adsr0)] as i64; [INFO] [stderr] | -------------------- borrow later used here [INFO] [stderr] [INFO] [stderr] error[E0503]: cannot use `self.m.regs[_]` because it was mutably borrowed [INFO] [stderr] --> src/SPC_DSP.rs:239:25 [INFO] [stderr] | [INFO] [stderr] 142 | let mut v_regs = &mut self.m.regs[vreg_start..Sizes::REGISTER_COUNT]; [INFO] [stderr] | ----------- borrow of `self.m.regs` occurs here [INFO] [stderr] ... [INFO] [stderr] 239 | if ((self.m.regs[reg!(flg)]) & 0x80 != 0) || ((brr_header & 3) == 1) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ use of borrowed `self.m.regs` [INFO] [stderr] ... [INFO] [stderr] 269 | let adsr0: i64 = v_regs[vreg!(adsr0)] as i64; [INFO] [stderr] | -------------------- borrow later used here [INFO] [stderr] [INFO] [stderr] error[E0503]: cannot use `self.m.regs` because it was mutably borrowed [INFO] [stderr] --> src/SPC_DSP.rs:254:29 [INFO] [stderr] | [INFO] [stderr] 142 | let mut v_regs = &mut self.m.regs[vreg_start..Sizes::REGISTER_COUNT]; [INFO] [stderr] | ----------- borrow of `self.m.regs` occurs here [INFO] [stderr] ... [INFO] [stderr] 254 | self.m.regs[reg!(endx)] &= !vbit as u8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ use of borrowed `self.m.regs` [INFO] [stderr] ... [INFO] [stderr] 269 | let adsr0: i64 = v_regs[vreg!(adsr0)] as i64; [INFO] [stderr] | -------------------- borrow later used here [INFO] [stderr] [INFO] [stderr] error[E0503]: cannot use `self.m.regs[_]` because it was mutably borrowed [INFO] [stderr] --> src/SPC_DSP.rs:254:29 [INFO] [stderr] | [INFO] [stderr] 142 | let mut v_regs = &mut self.m.regs[vreg_start..Sizes::REGISTER_COUNT]; [INFO] [stderr] | ----------- borrow of `self.m.regs` occurs here [INFO] [stderr] ... [INFO] [stderr] 254 | self.m.regs[reg!(endx)] &= !vbit as u8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use of borrowed `self.m.regs` [INFO] [stderr] ... [INFO] [stderr] 269 | let adsr0: i64 = v_regs[vreg!(adsr0)] as i64; [INFO] [stderr] | -------------------- borrow later used here [INFO] [stderr] [INFO] [stderr] error[E0506]: cannot assign to `self.m.regs[_]` because it is borrowed [INFO] [stderr] --> src/SPC_DSP.rs:254:29 [INFO] [stderr] | [INFO] [stderr] 142 | let mut v_regs = &mut self.m.regs[vreg_start..Sizes::REGISTER_COUNT]; [INFO] [stderr] | ----------- borrow of `self.m.regs[_]` occurs here [INFO] [stderr] ... [INFO] [stderr] 254 | self.m.regs[reg!(endx)] &= !vbit as u8; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ assignment to borrowed `self.m.regs[_]` occurs here [INFO] [stderr] ... [INFO] [stderr] 269 | let adsr0: i64 = v_regs[vreg!(adsr0)] as i64; [INFO] [stderr] | -------------------- borrow later used here [INFO] [stderr] [INFO] [stderr] error[E0499]: cannot borrow `self.m.regs` as mutable more than once at a time [INFO] [stderr] --> src/SPC_DSP.rs:340:35 [INFO] [stderr] | [INFO] [stderr] 142 | let mut v_regs = &mut self.m.regs[vreg_start..Sizes::REGISTER_COUNT]; [INFO] [stderr] | ----------- first mutable borrow occurs here [INFO] [stderr] ... [INFO] [stderr] 156 | let mut pitch: i64 = (v_regs[vreg!(pitchl)].to_le() & 0x3FFF) as i64; [INFO] [stderr] | --------------------- first borrow later used here [INFO] [stderr] ... [INFO] [stderr] 340 | let v_regs = &mut self.m.regs[vreg_start..Sizes::REGISTER_COUNT]; [INFO] [stderr] | ^^^^^^^^^^^ second mutable borrow occurs here [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/state.rs:166:13 [INFO] [stderr] | [INFO] [stderr] 166 | let mut n = self.counters[i as usize]; [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] error: aborting due to 12 previous errors; 65 warnings emitted [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0499, E0503, E0506. [INFO] [stderr] For more information about an error, try `rustc --explain E0499`. [INFO] [stderr] error: could not compile `spcp`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "8716e9cd2fb860671a422bea984494fc9c01dc62e01845cd2dc6a0412f059b2a"` [INFO] running `"docker" "rm" "-f" "8716e9cd2fb860671a422bea984494fc9c01dc62e01845cd2dc6a0412f059b2a"` [INFO] [stdout] 8716e9cd2fb860671a422bea984494fc9c01dc62e01845cd2dc6a0412f059b2a