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