[INFO] cloning repository https://github.com/Edcorp844/Radius-raid-wasm
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Edcorp844/Radius-raid-wasm" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEdcorp844%2FRadius-raid-wasm", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEdcorp844%2FRadius-raid-wasm'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6a90233762a52d1f9a6a893bad3b41ac970362a2
[INFO] checking Edcorp844/Radius-raid-wasm against 5c543b0b8c73c7b72bc8284ced4fb22ead15734d for pr-160186
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEdcorp844%2FRadius-raid-wasm" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Edcorp844/Radius-raid-wasm
[INFO] finished tweaking git repo https://github.com/Edcorp844/Radius-raid-wasm
[INFO] tweaked toml for git repo https://github.com/Edcorp844/Radius-raid-wasm written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Edcorp844/Radius-raid-wasm on toolchain 5c543b0b8c73c7b72bc8284ced4fb22ead15734d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Edcorp844/Radius-raid-wasm already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.30
[INFO] [stderr]   Downloaded zerocopy v0.8.30
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] de6737f4dab90ecadc9e78eebd6053a2349bfd0377bf1b6e933f3ae2e268c855
[INFO] running `Command { std: "docker" "start" "de6737f4dab90ecadc9e78eebd6053a2349bfd0377bf1b6e933f3ae2e268c855", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "de6737f4dab90ecadc9e78eebd6053a2349bfd0377bf1b6e933f3ae2e268c855", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "de6737f4dab90ecadc9e78eebd6053a2349bfd0377bf1b6e933f3ae2e268c855" "/opt/rustwide/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "de6737f4dab90ecadc9e78eebd6053a2349bfd0377bf1b6e933f3ae2e268c855", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "de6737f4dab90ecadc9e78eebd6053a2349bfd0377bf1b6e933f3ae2e268c855" "/opt/rustwide/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.106
[INFO] [stderr]     Checking unicode-ident v1.0.22
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]    Compiling libc v0.2.177
[INFO] [stderr]    Compiling zerocopy v0.8.30
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]    Compiling wasm-bindgen v0.2.106
[INFO] [stderr]     Checking regex v1.12.2
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.106
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.106
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking js-sys v0.3.83
[INFO] [stderr]     Checking console_error_panic_hook v0.1.7
[INFO] [stderr]     Checking wasm-bindgen-futures v0.4.56
[INFO] [stderr]     Checking serde-wasm-bindgen v0.6.5
[INFO] [stderr]     Checking web-sys v0.3.83
[INFO] [stderr]     Checking radius_raid v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `web_sys::console::log_1`
[INFO] [stdout]  --> src/lib.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use web_sys::console::log_1;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `web_sys::console::log_1`
[INFO] [stdout]  --> src/lib.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use web_sys::console::log_1;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::audio::apply_envelope`
[INFO] [stdout]   --> src/lib.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::audio::apply_envelope;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::audio::noise_wave`
[INFO] [stdout]   --> src/lib.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::audio::noise_wave;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::audio::saw_wave`
[INFO] [stdout]   --> src/lib.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::audio::saw_wave;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::audio::sine_wave`
[INFO] [stdout]   --> src/lib.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::audio::sine_wave;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::audio::square_wave`
[INFO] [stdout]   --> src/lib.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::audio::square_wave;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AudioBufferSourceNode` and `AudioBuffer`
[INFO] [stdout]  --> src/audio.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 | use web_sys::{AudioBuffer, AudioBufferSourceNode, AudioContext};
[INFO] [stdout]   |               ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/sfxr_audio.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AudioBufferSourceNode`, `AudioBuffer`, and `AudioDestinationNode`
[INFO] [stdout]  --> src/sfxr_audio.rs:4:29
[INFO] [stdout]   |
[INFO] [stdout] 4 | use web_sys::{AudioContext, AudioBuffer, AudioBufferSourceNode, AudioDestinationNode};
[INFO] [stdout]   |                             ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::clone`
[INFO] [stdout]  --> src/util.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::clone;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AudioBufferSourceNode`
[INFO] [stdout]  --> src/game_sfx.rs:3:42
[INFO] [stdout]   |
[INFO] [stdout] 3 | use web_sys::{AudioContext, AudioBuffer, AudioBufferSourceNode};
[INFO] [stdout]   |                                          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::audio::apply_envelope`
[INFO] [stdout]   --> src/lib.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::audio::apply_envelope;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data_models::AudioDef`
[INFO] [stdout]  --> src/game_sfx.rs:5:33
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{audio::start_audio, data_models::AudioDef};
[INFO] [stdout]   |                                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::audio::noise_wave`
[INFO] [stdout]   --> src/lib.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::audio::noise_wave;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::audio::saw_wave`
[INFO] [stdout]   --> src/lib.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::audio::saw_wave;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::audio::sine_wave`
[INFO] [stdout]   --> src/lib.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::audio::sine_wave;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::audio::square_wave`
[INFO] [stdout]   --> src/lib.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::audio::square_wave;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AudioBufferSourceNode` and `AudioBuffer`
[INFO] [stdout]  --> src/audio.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 | use web_sys::{AudioBuffer, AudioBufferSourceNode, AudioContext};
[INFO] [stdout]   |               ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/sfxr_audio.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AudioBufferSourceNode`, `AudioBuffer`, and `AudioDestinationNode`
[INFO] [stdout]  --> src/sfxr_audio.rs:4:29
[INFO] [stdout]   |
[INFO] [stdout] 4 | use web_sys::{AudioContext, AudioBuffer, AudioBufferSourceNode, AudioDestinationNode};
[INFO] [stdout]   |                             ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::clone`
[INFO] [stdout]  --> src/util.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::clone;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AudioBufferSourceNode`
[INFO] [stdout]  --> src/game_sfx.rs:3:42
[INFO] [stdout]   |
[INFO] [stdout] 3 | use web_sys::{AudioContext, AudioBuffer, AudioBufferSourceNode};
[INFO] [stdout]   |                                          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `data_models::AudioDef`
[INFO] [stdout]  --> src/game_sfx.rs:5:33
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{audio::start_audio, data_models::AudioDef};
[INFO] [stdout]   |                                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]     --> src/lib.rs:1568:31
[INFO] [stdout]      |
[INFO] [stdout] 1568 |         let func: Option<*mut (dyn FnMut(&mut Game))> =
[INFO] [stdout]      |                               ^                    ^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1568 -         let func: Option<*mut (dyn FnMut(&mut Game))> =
[INFO] [stdout] 1568 +         let func: Option<*mut dyn FnMut(&mut Game)> =
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]     --> src/lib.rs:1568:31
[INFO] [stdout]      |
[INFO] [stdout] 1568 |         let func: Option<*mut (dyn FnMut(&mut Game))> =
[INFO] [stdout]      |                               ^                    ^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1568 -         let func: Option<*mut (dyn FnMut(&mut Game))> =
[INFO] [stdout] 1568 +         let func: Option<*mut dyn FnMut(&mut Game)> =
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `sample` is never read
[INFO] [stdout]    --> src/sfxr_audio.rs:334:34
[INFO] [stdout]     |
[INFO] [stdout] 334 |                 let mut sample = 0.0;
[INFO] [stdout]     |                                  ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 349 |                         sample = if fp < self.square_duty { 0.5 } else { -0.5 };
[INFO] [stdout]     |                         ------------------------------------------------------- `sample` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `sample` is never read
[INFO] [stdout]    --> src/sfxr_audio.rs:334:34
[INFO] [stdout]     |
[INFO] [stdout] 334 |                 let mut sample = 0.0;
[INFO] [stdout]     |                                  ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 349 |                         sample = if fp < self.square_duty { 0.5 } else { -0.5 };
[INFO] [stdout]     |                         ------------------------------------------------------- `sample` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/game_sfx.rs:120:13
[INFO] [stdout]     |
[INFO] [stdout] 120 |         let mut period = sample_rate / freq;
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/game_sfx.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let mut period_position = 0.0;
[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/game_sfx.rs:134:13
[INFO] [stdout]     |
[INFO] [stdout] 134 |         let mut freq_dramp = params.freq_dramp;
[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/game_sfx.rs:138:13
[INFO] [stdout]     |
[INFO] [stdout] 138 |         let mut lpf_ramp = params.lpf_ramp;
[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/game_sfx.rs:139:13
[INFO] [stdout]     |
[INFO] [stdout] 139 |         let mut lpf_res = params.lpf_res;
[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/game_sfx.rs:141:13
[INFO] [stdout]     |
[INFO] [stdout] 141 |         let mut hpf_ramp = params.hpf_ramp;
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `period`
[INFO] [stdout]    --> src/game_sfx.rs:120:13
[INFO] [stdout]     |
[INFO] [stdout] 120 |         let mut period = sample_rate / freq;
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_period`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `period_position`
[INFO] [stdout]    --> src/game_sfx.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let mut period_position = 0.0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_period_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pp`
[INFO] [stdout]    --> src/game_sfx.rs:243:21
[INFO] [stdout]     |
[INFO] [stdout] 243 |                 let pp = fltp;
[INFO] [stdout]     |                     ^^ help: if this is intentional, prefix it with an underscore: `_pp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `sample` is never read
[INFO] [stdout]    --> src/game_sfx.rs:200:30
[INFO] [stdout]     |
[INFO] [stdout] 200 |             let mut sample = 0.0;
[INFO] [stdout]     |                              ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 208 |                     sample = if phase_wrapped < duty { 0.5 } else { -0.5 };
[INFO] [stdout]     |                     ------------------------------------------------------ `sample` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/game_sfx.rs:120:13
[INFO] [stdout]     |
[INFO] [stdout] 120 |         let mut period = sample_rate / freq;
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/game_sfx.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let mut period_position = 0.0;
[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/game_sfx.rs:134:13
[INFO] [stdout]     |
[INFO] [stdout] 134 |         let mut freq_dramp = params.freq_dramp;
[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/game_sfx.rs:138:13
[INFO] [stdout]     |
[INFO] [stdout] 138 |         let mut lpf_ramp = params.lpf_ramp;
[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/game_sfx.rs:139:13
[INFO] [stdout]     |
[INFO] [stdout] 139 |         let mut lpf_res = params.lpf_res;
[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/game_sfx.rs:141:13
[INFO] [stdout]     |
[INFO] [stdout] 141 |         let mut hpf_ramp = params.hpf_ramp;
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `period`
[INFO] [stdout]    --> src/game_sfx.rs:120:13
[INFO] [stdout]     |
[INFO] [stdout] 120 |         let mut period = sample_rate / freq;
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_period`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `period_position`
[INFO] [stdout]    --> src/game_sfx.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let mut period_position = 0.0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_period_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pp`
[INFO] [stdout]    --> src/game_sfx.rs:243:21
[INFO] [stdout]     |
[INFO] [stdout] 243 |                 let pp = fltp;
[INFO] [stdout]     |                     ^^ help: if this is intentional, prefix it with an underscore: `_pp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `sample` is never read
[INFO] [stdout]    --> src/game_sfx.rs:200:30
[INFO] [stdout]     |
[INFO] [stdout] 200 |             let mut sample = 0.0;
[INFO] [stdout]     |                              ^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 208 |                     sample = if phase_wrapped < duty { 0.5 } else { -0.5 };
[INFO] [stdout]     |                     ------------------------------------------------------ `sample` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `waveform`
[INFO] [stdout]     --> src/lib.rs:1615:9
[INFO] [stdout]      |
[INFO] [stdout] 1615 |         waveform: &str,
[INFO] [stdout]      |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_waveform`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frequency`
[INFO] [stdout]     --> src/lib.rs:1616:9
[INFO] [stdout]      |
[INFO] [stdout] 1616 |         frequency: f64,
[INFO] [stdout]      |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_frequency`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `attack`
[INFO] [stdout]     --> src/lib.rs:1618:9
[INFO] [stdout]      |
[INFO] [stdout] 1618 |         attack: f64,
[INFO] [stdout]      |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_attack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `decay`
[INFO] [stdout]     --> src/lib.rs:1619:9
[INFO] [stdout]      |
[INFO] [stdout] 1619 |         decay: f64,
[INFO] [stdout]      |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_decay`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sustain`
[INFO] [stdout]     --> src/lib.rs:1620:9
[INFO] [stdout]      |
[INFO] [stdout] 1620 |         sustain: f64,
[INFO] [stdout]      |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sustain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `release`
[INFO] [stdout]     --> src/lib.rs:1621:9
[INFO] [stdout]      |
[INFO] [stdout] 1621 |         release: f64,
[INFO] [stdout]      |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_release`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]     --> src/lib.rs:1625:13
[INFO] [stdout]      |
[INFO] [stdout] 1625 |         let len = (duration * sr as f64) as usize;
[INFO] [stdout]      |             ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `waveform`
[INFO] [stdout]     --> src/lib.rs:1615:9
[INFO] [stdout]      |
[INFO] [stdout] 1615 |         waveform: &str,
[INFO] [stdout]      |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_waveform`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frequency`
[INFO] [stdout]     --> src/lib.rs:1616:9
[INFO] [stdout]      |
[INFO] [stdout] 1616 |         frequency: f64,
[INFO] [stdout]      |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_frequency`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `attack`
[INFO] [stdout]     --> src/lib.rs:1618:9
[INFO] [stdout]      |
[INFO] [stdout] 1618 |         attack: f64,
[INFO] [stdout]      |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_attack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `decay`
[INFO] [stdout]     --> src/lib.rs:1619:9
[INFO] [stdout]      |
[INFO] [stdout] 1619 |         decay: f64,
[INFO] [stdout]      |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_decay`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sustain`
[INFO] [stdout]     --> src/lib.rs:1620:9
[INFO] [stdout]      |
[INFO] [stdout] 1620 |         sustain: f64,
[INFO] [stdout]      |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sustain`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `release`
[INFO] [stdout]     --> src/lib.rs:1621:9
[INFO] [stdout]      |
[INFO] [stdout] 1621 |         release: f64,
[INFO] [stdout]      |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_release`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]     --> src/lib.rs:1625:13
[INFO] [stdout]      |
[INFO] [stdout] 1625 |         let len = (duration * sr as f64) as usize;
[INFO] [stdout]      |             ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer_style`
[INFO] [stdout]     --> src/lib.rs:1988:13
[INFO] [stdout]      |
[INFO] [stdout] 1988 |         let layer_style = layer.as_mut().unwrap().style();
[INFO] [stdout]      |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_layer_style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `margin_left`
[INFO] [stdout]     --> src/lib.rs:1989:13
[INFO] [stdout]      |
[INFO] [stdout] 1989 |         let margin_left =
[INFO] [stdout]      |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_margin_left`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `margin_top`
[INFO] [stdout]     --> src/lib.rs:1994:9
[INFO] [stdout]      |
[INFO] [stdout] 1994 |     let margin_top =
[INFO] [stdout]      |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_margin_top`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/lib.rs:99:5
[INFO] [stdout]     |
[INFO] [stdout]  66 | pub struct Game {
[INFO] [stdout]     |            ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout]  99 |     okeys: Option<data_models::KeyState>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     gameover_tick: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 109 |     gameover_tick_max: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 110 |     gameover_explosion: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 111 |
[INFO] [stdout] 112 |     instruction_tick: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 113 |     instruction_tick_max: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     text_pops : Vec<TextPop>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `spawn_powerups` and `update_background_parallax` are never used
[INFO] [stdout]     --> src/lib.rs:1562:8
[INFO] [stdout]      |
[INFO] [stdout]  159 | impl Game {
[INFO] [stdout]      | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1562 |     fn spawn_powerups(&mut self) {}
[INFO] [stdout]      |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1971 | fn update_background_parallax(&mut self) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `generator` is never read
[INFO] [stdout]    --> src/sfxr_audio.rs:417:5
[INFO] [stdout]     |
[INFO] [stdout] 415 | pub struct SfxrAudio {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] 416 |     audio_ctx: AudioContext,
[INFO] [stdout] 417 |     generator: SfxrGenerator,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `frnd` is never used
[INFO] [stdout]    --> src/sfxr_audio.rs:486:4
[INFO] [stdout]     |
[INFO] [stdout] 486 | fn frnd(range: f32) -> f32 {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer_style`
[INFO] [stdout]     --> src/lib.rs:1988:13
[INFO] [stdout]      |
[INFO] [stdout] 1988 |         let layer_style = layer.as_mut().unwrap().style();
[INFO] [stdout]      |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_layer_style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `margin_left`
[INFO] [stdout]     --> src/lib.rs:1989:13
[INFO] [stdout]      |
[INFO] [stdout] 1989 |         let margin_left =
[INFO] [stdout]      |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_margin_left`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `margin_top`
[INFO] [stdout]     --> src/lib.rs:1994:9
[INFO] [stdout]      |
[INFO] [stdout] 1994 |     let margin_top =
[INFO] [stdout]      |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_margin_top`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/lib.rs:99:5
[INFO] [stdout]     |
[INFO] [stdout]  66 | pub struct Game {
[INFO] [stdout]     |            ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout]  99 |     okeys: Option<data_models::KeyState>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     gameover_tick: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 109 |     gameover_tick_max: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 110 |     gameover_explosion: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 111 |
[INFO] [stdout] 112 |     instruction_tick: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 113 |     instruction_tick_max: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     text_pops : Vec<TextPop>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `spawn_powerups` and `update_background_parallax` are never used
[INFO] [stdout]     --> src/lib.rs:1562:8
[INFO] [stdout]      |
[INFO] [stdout]  159 | impl Game {
[INFO] [stdout]      | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1562 |     fn spawn_powerups(&mut self) {}
[INFO] [stdout]      |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1971 | fn update_background_parallax(&mut self) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `generator` is never read
[INFO] [stdout]    --> src/sfxr_audio.rs:417:5
[INFO] [stdout]     |
[INFO] [stdout] 415 | pub struct SfxrAudio {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] 416 |     audio_ctx: AudioContext,
[INFO] [stdout] 417 |     generator: SfxrGenerator,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `frnd` is never used
[INFO] [stdout]    --> src/sfxr_audio.rs:486:4
[INFO] [stdout]     |
[INFO] [stdout] 486 | fn frnd(range: f32) -> f32 {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `console_error_panic_hook`
[INFO] [stderr]  --> Cargo.toml:2:1
[INFO] [stderr]   |
[INFO] [stderr] 2 | console_error_panic_hook = "0.1.7"
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `console_error_panic_hook`
[INFO] [stderr] warning: unused dependency `serde-wasm-bindgen`
[INFO] [stderr]  --> Cargo.toml:6:1
[INFO] [stderr]   |
[INFO] [stderr] 6 | serde-wasm-bindgen = "0.6.5"
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: consider removing the dependency on `serde-wasm-bindgen`
[INFO] [stderr] warning: `radius_raid` (manifest) generated 2 warnings
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 23.08s
[INFO] running `Command { std: "docker" "inspect" "de6737f4dab90ecadc9e78eebd6053a2349bfd0377bf1b6e933f3ae2e268c855", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "de6737f4dab90ecadc9e78eebd6053a2349bfd0377bf1b6e933f3ae2e268c855", kill_on_drop: false }`
[INFO] [stdout] de6737f4dab90ecadc9e78eebd6053a2349bfd0377bf1b6e933f3ae2e268c855
