[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 a5689b034ad287112f709693384a37f1377eb9cc for pr-129249-3 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FEdcorp844%2FRadius-raid-wasm" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/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-3-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Edcorp844/Radius-raid-wasm on toolchain a5689b034ad287112f709693384a37f1377eb9cc [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "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" "+a5689b034ad287112f709693384a37f1377eb9cc" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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] 3ca04cd1858b9e255b06cb50891ca6bf8cd5c9a6aa7dcf498c5ddf2a3167692b [INFO] running `Command { std: "docker" "start" "3ca04cd1858b9e255b06cb50891ca6bf8cd5c9a6aa7dcf498c5ddf2a3167692b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3ca04cd1858b9e255b06cb50891ca6bf8cd5c9a6aa7dcf498c5ddf2a3167692b", 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" "3ca04cd1858b9e255b06cb50891ca6bf8cd5c9a6aa7dcf498c5ddf2a3167692b" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3ca04cd1858b9e255b06cb50891ca6bf8cd5c9a6aa7dcf498c5ddf2a3167692b", 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" "3ca04cd1858b9e255b06cb50891ca6bf8cd5c9a6aa7dcf498c5ddf2a3167692b" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.103 [INFO] [stderr] Compiling unicode-ident v1.0.22 [INFO] [stderr] Compiling quote v1.0.42 [INFO] [stderr] Compiling wasm-bindgen-shared v0.2.106 [INFO] [stderr] Compiling bumpalo v3.19.0 [INFO] [stderr] Compiling libc v0.2.177 [INFO] [stderr] Checking once_cell v1.21.3 [INFO] [stderr] Compiling zerocopy v0.8.30 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Checking memchr v2.7.6 [INFO] [stderr] Checking regex-syntax v0.8.8 [INFO] [stderr] Compiling serde_json v1.0.145 [INFO] [stderr] Compiling wasm-bindgen v0.2.106 [INFO] [stderr] Checking aho-corasick v1.1.4 [INFO] [stderr] Compiling syn v2.0.111 [INFO] [stderr] Checking rand_core v0.9.3 [INFO] [stderr] Checking regex-automata v0.4.13 [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] Checking regex v1.12.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 web-sys v0.3.83 [INFO] [stderr] Checking wasm-bindgen-futures v0.4.56 [INFO] [stderr] Checking serde-wasm-bindgen v0.6.5 [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: `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: `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: 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: `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: 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: 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: 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, [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, [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] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:572:13 [INFO] [stdout] | [INFO] [stdout] 572 | (self.x - self.radius).into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: `#[deny(self_type_conversion)]` on by default [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 572 - (self.x - self.radius).into(), [INFO] [stdout] 572 + (self.x - self.radius), [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 572 - (self.x - self.radius).into(), [INFO] [stdout] 572 + >::into((self.x - self.radius)), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:573:13 [INFO] [stdout] | [INFO] [stdout] 573 | (self.y - self.radius - 6.0).into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 573 - (self.y - self.radius - 6.0).into(), [INFO] [stdout] 573 + (self.y - self.radius - 6.0), [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 573 - (self.y - self.radius - 6.0).into(), [INFO] [stdout] 573 + >::into((self.y - self.radius - 6.0)), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:574:13 [INFO] [stdout] | [INFO] [stdout] 574 | (self.radius * 2.0).into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 574 - (self.radius * 2.0).into(), [INFO] [stdout] 574 + (self.radius * 2.0), [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 574 - (self.radius * 2.0).into(), [INFO] [stdout] 574 + >::into((self.radius * 2.0)), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:585:13 [INFO] [stdout] | [INFO] [stdout] 585 | (self.x - self.radius).into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 585 - (self.x - self.radius).into(), [INFO] [stdout] 585 + (self.x - self.radius), [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 585 - (self.x - self.radius).into(), [INFO] [stdout] 585 + >::into((self.x - self.radius)), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:586:13 [INFO] [stdout] | [INFO] [stdout] 586 | (self.y - self.radius - 6.0).into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 586 - (self.y - self.radius - 6.0).into(), [INFO] [stdout] 586 + (self.y - self.radius - 6.0), [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 586 - (self.y - self.radius - 6.0).into(), [INFO] [stdout] 586 + >::into((self.y - self.radius - 6.0)), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:587:13 [INFO] [stdout] | [INFO] [stdout] 587 | ((self.radius * 2.0) * ratio).into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 587 - ((self.radius * 2.0) * ratio).into(), [INFO] [stdout] 587 + ((self.radius * 2.0) * ratio), [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 587 - ((self.radius * 2.0) * ratio).into(), [INFO] [stdout] 587 + >::into(((self.radius * 2.0) * ratio)), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:604:13 [INFO] [stdout] | [INFO] [stdout] 604 | self.x.into(), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 604 - self.x.into(), [INFO] [stdout] 604 + self.x, [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 604 - self.x.into(), [INFO] [stdout] 604 + >::into(self.x), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:605:13 [INFO] [stdout] | [INFO] [stdout] 605 | self.y.into(), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 605 - self.y.into(), [INFO] [stdout] 605 + self.y, [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 605 - self.y.into(), [INFO] [stdout] 605 + >::into(self.y), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:606:13 [INFO] [stdout] | [INFO] [stdout] 606 | self.radius.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 606 - self.radius.into(), [INFO] [stdout] 606 + self.radius, [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 606 - self.radius.into(), [INFO] [stdout] 606 + >::into(self.radius), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:617:13 [INFO] [stdout] | [INFO] [stdout] 617 | self.x.into(), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 617 - self.x.into(), [INFO] [stdout] 617 + self.x, [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 617 - self.x.into(), [INFO] [stdout] 617 + >::into(self.x), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:618:13 [INFO] [stdout] | [INFO] [stdout] 618 | self.y.into(), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 618 - self.y.into(), [INFO] [stdout] 618 + self.y, [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 618 - self.y.into(), [INFO] [stdout] 618 + >::into(self.y), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:619:13 [INFO] [stdout] | [INFO] [stdout] 619 | r1.into(), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 619 - r1.into(), [INFO] [stdout] 619 + r1, [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 619 - r1.into(), [INFO] [stdout] 619 + >::into(r1), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:629:13 [INFO] [stdout] | [INFO] [stdout] 629 | self.x.into(), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 629 - self.x.into(), [INFO] [stdout] 629 + self.x, [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 629 - self.x.into(), [INFO] [stdout] 629 + >::into(self.x), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:630:13 [INFO] [stdout] | [INFO] [stdout] 630 | self.y.into(), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 630 - self.y.into(), [INFO] [stdout] 630 + self.y, [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 630 - self.y.into(), [INFO] [stdout] 630 + >::into(self.y), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:631:13 [INFO] [stdout] | [INFO] [stdout] 631 | (self.radius - 0.5).into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 631 - (self.radius - 0.5).into(), [INFO] [stdout] 631 + (self.radius - 0.5), [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 631 - (self.radius - 0.5).into(), [INFO] [stdout] 631 + >::into((self.radius - 0.5)), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:645:13 [INFO] [stdout] | [INFO] [stdout] 645 | self.x.into(), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 645 - self.x.into(), [INFO] [stdout] 645 + self.x, [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 645 - self.x.into(), [INFO] [stdout] 645 + >::into(self.x), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:646:13 [INFO] [stdout] | [INFO] [stdout] 646 | self.y.into(), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 646 - self.y.into(), [INFO] [stdout] 646 + self.y, [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 646 - self.y.into(), [INFO] [stdout] 646 + >::into(self.y), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:647:13 [INFO] [stdout] | [INFO] [stdout] 647 | (self.radius - 0.5).into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 647 - (self.radius - 0.5).into(), [INFO] [stdout] 647 + (self.radius - 0.5), [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 647 - (self.radius - 0.5).into(), [INFO] [stdout] 647 + >::into((self.radius - 0.5)), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:648:13 [INFO] [stdout] | [INFO] [stdout] 648 | (mod_angle as f64 + std::f64::consts::PI ).into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 648 - (mod_angle as f64 + std::f64::consts::PI ).into(), [INFO] [stdout] 648 + (mod_angle as f64 + std::f64::consts::PI ), [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 648 - (mod_angle as f64 + std::f64::consts::PI ).into(), [INFO] [stdout] 648 + >::into((mod_angle as f64 + std::f64::consts::PI )), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:655:13 [INFO] [stdout] | [INFO] [stdout] 655 | self.x.into(), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 655 - self.x.into(), [INFO] [stdout] 655 + self.x, [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 655 - self.x.into(), [INFO] [stdout] 655 + >::into(self.x), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:656:13 [INFO] [stdout] | [INFO] [stdout] 656 | self.y.into(), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 656 - self.y.into(), [INFO] [stdout] 656 + self.y, [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 656 - self.y.into(), [INFO] [stdout] 656 + >::into(self.y), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:657:13 [INFO] [stdout] | [INFO] [stdout] 657 | (self.radius - 0.5).into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 657 - (self.radius - 0.5).into(), [INFO] [stdout] 657 + (self.radius - 0.5), [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 657 - (self.radius - 0.5).into(), [INFO] [stdout] 657 + >::into((self.radius - 0.5)), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:658:13 [INFO] [stdout] | [INFO] [stdout] 658 | mod_angle.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 658 - mod_angle.into(), [INFO] [stdout] 658 + mod_angle, [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 658 - mod_angle.into(), [INFO] [stdout] 658 + >::into(mod_angle), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:672:17 [INFO] [stdout] | [INFO] [stdout] 672 | self.x.into(), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 672 - self.x.into(), [INFO] [stdout] 672 + self.x, [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 672 - self.x.into(), [INFO] [stdout] 672 + >::into(self.x), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:673:17 [INFO] [stdout] | [INFO] [stdout] 673 | self.y.into(), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 673 - self.y.into(), [INFO] [stdout] 673 + self.y, [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 673 - self.y.into(), [INFO] [stdout] 673 + >::into(self.y), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:674:17 [INFO] [stdout] | [INFO] [stdout] 674 | self.radius.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 674 - self.radius.into(), [INFO] [stdout] 674 + self.radius, [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 674 - self.radius.into(), [INFO] [stdout] 674 + >::into(self.radius), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:694:17 [INFO] [stdout] | [INFO] [stdout] 694 | self.x.into(), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 694 - self.x.into(), [INFO] [stdout] 694 + self.x, [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 694 - self.x.into(), [INFO] [stdout] 694 + >::into(self.x), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:695:17 [INFO] [stdout] | [INFO] [stdout] 695 | self.y.into(), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 695 - self.y.into(), [INFO] [stdout] 695 + self.y, [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 695 - self.y.into(), [INFO] [stdout] 695 + >::into(self.y), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:696:17 [INFO] [stdout] | [INFO] [stdout] 696 | self.radius.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 696 - self.radius.into(), [INFO] [stdout] 696 + self.radius, [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 696 - self.radius.into(), [INFO] [stdout] 696 + >::into(self.radius), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:713:17 [INFO] [stdout] | [INFO] [stdout] 713 | self.x.into(), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 713 - self.x.into(), [INFO] [stdout] 713 + self.x, [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 713 - self.x.into(), [INFO] [stdout] 713 + >::into(self.x), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:714:17 [INFO] [stdout] | [INFO] [stdout] 714 | self.y.into(), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 714 - self.y.into(), [INFO] [stdout] 714 + self.y, [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 714 - self.y.into(), [INFO] [stdout] 714 + >::into(self.y), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:715:17 [INFO] [stdout] | [INFO] [stdout] 715 | self.radius.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 715 - self.radius.into(), [INFO] [stdout] 715 + self.radius, [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 715 - self.radius.into(), [INFO] [stdout] 715 + >::into(self.radius), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/particle.rs:85:21 [INFO] [stdout] | [INFO] [stdout] 85 | ctx.move_to(self.x.into(), self.y.into()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 85 - ctx.move_to(self.x.into(), self.y.into()); [INFO] [stdout] 85 + ctx.move_to(self.x, self.y.into()); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 85 - ctx.move_to(self.x.into(), self.y.into()); [INFO] [stdout] 85 + ctx.move_to(>::into(self.x), self.y.into()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/particle.rs:85:36 [INFO] [stdout] | [INFO] [stdout] 85 | ctx.move_to(self.x.into(), self.y.into()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 85 - ctx.move_to(self.x.into(), self.y.into()); [INFO] [stdout] 85 + ctx.move_to(self.x.into(), self.y); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 85 - ctx.move_to(self.x.into(), self.y.into()); [INFO] [stdout] 85 + ctx.move_to(self.x.into(), >::into(self.y)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/particle.rs:86:21 [INFO] [stdout] | [INFO] [stdout] 86 | ctx.line_to(self.ex.into(), self.ey.into()); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 86 - ctx.line_to(self.ex.into(), self.ey.into()); [INFO] [stdout] 86 + ctx.line_to(self.ex, self.ey.into()); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 86 - ctx.line_to(self.ex.into(), self.ey.into()); [INFO] [stdout] 86 + ctx.line_to(>::into(self.ex), self.ey.into()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/particle.rs:86:37 [INFO] [stdout] | [INFO] [stdout] 86 | ctx.line_to(self.ex.into(), self.ey.into()); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 86 - ctx.line_to(self.ex.into(), self.ey.into()); [INFO] [stdout] 86 + ctx.line_to(self.ex.into(), self.ey); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 86 - ctx.line_to(self.ex.into(), self.ey.into()); [INFO] [stdout] 86 + ctx.line_to(self.ex.into(), >::into(self.ey)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/particle.rs:88:28 [INFO] [stdout] | [INFO] [stdout] 88 | ctx.set_line_width(self.line_width.into()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 88 - ctx.set_line_width(self.line_width.into()); [INFO] [stdout] 88 + ctx.set_line_width(self.line_width); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 88 - ctx.set_line_width(self.line_width.into()); [INFO] [stdout] 88 + ctx.set_line_width(>::into(self.line_width)); [INFO] [stdout] | [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] [stderr] error: could not compile `radius_raid` (lib test) due to 37 previous errors; 38 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [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, [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, [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] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:572:13 [INFO] [stdout] | [INFO] [stdout] 572 | (self.x - self.radius).into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: `#[deny(self_type_conversion)]` on by default [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 572 - (self.x - self.radius).into(), [INFO] [stdout] 572 + (self.x - self.radius), [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 572 - (self.x - self.radius).into(), [INFO] [stdout] 572 + >::into((self.x - self.radius)), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:573:13 [INFO] [stdout] | [INFO] [stdout] 573 | (self.y - self.radius - 6.0).into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 573 - (self.y - self.radius - 6.0).into(), [INFO] [stdout] 573 + (self.y - self.radius - 6.0), [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 573 - (self.y - self.radius - 6.0).into(), [INFO] [stdout] 573 + >::into((self.y - self.radius - 6.0)), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:574:13 [INFO] [stdout] | [INFO] [stdout] 574 | (self.radius * 2.0).into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 574 - (self.radius * 2.0).into(), [INFO] [stdout] 574 + (self.radius * 2.0), [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 574 - (self.radius * 2.0).into(), [INFO] [stdout] 574 + >::into((self.radius * 2.0)), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:585:13 [INFO] [stdout] | [INFO] [stdout] 585 | (self.x - self.radius).into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 585 - (self.x - self.radius).into(), [INFO] [stdout] 585 + (self.x - self.radius), [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 585 - (self.x - self.radius).into(), [INFO] [stdout] 585 + >::into((self.x - self.radius)), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:586:13 [INFO] [stdout] | [INFO] [stdout] 586 | (self.y - self.radius - 6.0).into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 586 - (self.y - self.radius - 6.0).into(), [INFO] [stdout] 586 + (self.y - self.radius - 6.0), [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 586 - (self.y - self.radius - 6.0).into(), [INFO] [stdout] 586 + >::into((self.y - self.radius - 6.0)), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:587:13 [INFO] [stdout] | [INFO] [stdout] 587 | ((self.radius * 2.0) * ratio).into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 587 - ((self.radius * 2.0) * ratio).into(), [INFO] [stdout] 587 + ((self.radius * 2.0) * ratio), [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 587 - ((self.radius * 2.0) * ratio).into(), [INFO] [stdout] 587 + >::into(((self.radius * 2.0) * ratio)), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:604:13 [INFO] [stdout] | [INFO] [stdout] 604 | self.x.into(), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 604 - self.x.into(), [INFO] [stdout] 604 + self.x, [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 604 - self.x.into(), [INFO] [stdout] 604 + >::into(self.x), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:605:13 [INFO] [stdout] | [INFO] [stdout] 605 | self.y.into(), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 605 - self.y.into(), [INFO] [stdout] 605 + self.y, [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 605 - self.y.into(), [INFO] [stdout] 605 + >::into(self.y), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:606:13 [INFO] [stdout] | [INFO] [stdout] 606 | self.radius.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 606 - self.radius.into(), [INFO] [stdout] 606 + self.radius, [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 606 - self.radius.into(), [INFO] [stdout] 606 + >::into(self.radius), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:617:13 [INFO] [stdout] | [INFO] [stdout] 617 | self.x.into(), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 617 - self.x.into(), [INFO] [stdout] 617 + self.x, [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 617 - self.x.into(), [INFO] [stdout] 617 + >::into(self.x), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:618:13 [INFO] [stdout] | [INFO] [stdout] 618 | self.y.into(), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 618 - self.y.into(), [INFO] [stdout] 618 + self.y, [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 618 - self.y.into(), [INFO] [stdout] 618 + >::into(self.y), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:619:13 [INFO] [stdout] | [INFO] [stdout] 619 | r1.into(), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 619 - r1.into(), [INFO] [stdout] 619 + r1, [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 619 - r1.into(), [INFO] [stdout] 619 + >::into(r1), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:629:13 [INFO] [stdout] | [INFO] [stdout] 629 | self.x.into(), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 629 - self.x.into(), [INFO] [stdout] 629 + self.x, [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 629 - self.x.into(), [INFO] [stdout] 629 + >::into(self.x), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:630:13 [INFO] [stdout] | [INFO] [stdout] 630 | self.y.into(), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 630 - self.y.into(), [INFO] [stdout] 630 + self.y, [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 630 - self.y.into(), [INFO] [stdout] 630 + >::into(self.y), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:631:13 [INFO] [stdout] | [INFO] [stdout] 631 | (self.radius - 0.5).into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 631 - (self.radius - 0.5).into(), [INFO] [stdout] 631 + (self.radius - 0.5), [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 631 - (self.radius - 0.5).into(), [INFO] [stdout] 631 + >::into((self.radius - 0.5)), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:645:13 [INFO] [stdout] | [INFO] [stdout] 645 | self.x.into(), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 645 - self.x.into(), [INFO] [stdout] 645 + self.x, [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 645 - self.x.into(), [INFO] [stdout] 645 + >::into(self.x), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:646:13 [INFO] [stdout] | [INFO] [stdout] 646 | self.y.into(), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 646 - self.y.into(), [INFO] [stdout] 646 + self.y, [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 646 - self.y.into(), [INFO] [stdout] 646 + >::into(self.y), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:647:13 [INFO] [stdout] | [INFO] [stdout] 647 | (self.radius - 0.5).into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 647 - (self.radius - 0.5).into(), [INFO] [stdout] 647 + (self.radius - 0.5), [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 647 - (self.radius - 0.5).into(), [INFO] [stdout] 647 + >::into((self.radius - 0.5)), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:648:13 [INFO] [stdout] | [INFO] [stdout] 648 | (mod_angle as f64 + std::f64::consts::PI ).into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 648 - (mod_angle as f64 + std::f64::consts::PI ).into(), [INFO] [stdout] 648 + (mod_angle as f64 + std::f64::consts::PI ), [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 648 - (mod_angle as f64 + std::f64::consts::PI ).into(), [INFO] [stdout] 648 + >::into((mod_angle as f64 + std::f64::consts::PI )), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:655:13 [INFO] [stdout] | [INFO] [stdout] 655 | self.x.into(), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 655 - self.x.into(), [INFO] [stdout] 655 + self.x, [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 655 - self.x.into(), [INFO] [stdout] 655 + >::into(self.x), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:656:13 [INFO] [stdout] | [INFO] [stdout] 656 | self.y.into(), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 656 - self.y.into(), [INFO] [stdout] 656 + self.y, [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 656 - self.y.into(), [INFO] [stdout] 656 + >::into(self.y), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:657:13 [INFO] [stdout] | [INFO] [stdout] 657 | (self.radius - 0.5).into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 657 - (self.radius - 0.5).into(), [INFO] [stdout] 657 + (self.radius - 0.5), [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 657 - (self.radius - 0.5).into(), [INFO] [stdout] 657 + >::into((self.radius - 0.5)), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:658:13 [INFO] [stdout] | [INFO] [stdout] 658 | mod_angle.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 658 - mod_angle.into(), [INFO] [stdout] 658 + mod_angle, [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 658 - mod_angle.into(), [INFO] [stdout] 658 + >::into(mod_angle), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:672:17 [INFO] [stdout] | [INFO] [stdout] 672 | self.x.into(), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 672 - self.x.into(), [INFO] [stdout] 672 + self.x, [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 672 - self.x.into(), [INFO] [stdout] 672 + >::into(self.x), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:673:17 [INFO] [stdout] | [INFO] [stdout] 673 | self.y.into(), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 673 - self.y.into(), [INFO] [stdout] 673 + self.y, [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 673 - self.y.into(), [INFO] [stdout] 673 + >::into(self.y), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:674:17 [INFO] [stdout] | [INFO] [stdout] 674 | self.radius.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 674 - self.radius.into(), [INFO] [stdout] 674 + self.radius, [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 674 - self.radius.into(), [INFO] [stdout] 674 + >::into(self.radius), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:694:17 [INFO] [stdout] | [INFO] [stdout] 694 | self.x.into(), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 694 - self.x.into(), [INFO] [stdout] 694 + self.x, [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 694 - self.x.into(), [INFO] [stdout] 694 + >::into(self.x), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:695:17 [INFO] [stdout] | [INFO] [stdout] 695 | self.y.into(), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 695 - self.y.into(), [INFO] [stdout] 695 + self.y, [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 695 - self.y.into(), [INFO] [stdout] 695 + >::into(self.y), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:696:17 [INFO] [stdout] | [INFO] [stdout] 696 | self.radius.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 696 - self.radius.into(), [INFO] [stdout] 696 + self.radius, [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 696 - self.radius.into(), [INFO] [stdout] 696 + >::into(self.radius), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:713:17 [INFO] [stdout] | [INFO] [stdout] 713 | self.x.into(), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 713 - self.x.into(), [INFO] [stdout] 713 + self.x, [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 713 - self.x.into(), [INFO] [stdout] 713 + >::into(self.x), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:714:17 [INFO] [stdout] | [INFO] [stdout] 714 | self.y.into(), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 714 - self.y.into(), [INFO] [stdout] 714 + self.y, [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 714 - self.y.into(), [INFO] [stdout] 714 + >::into(self.y), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/enemy.rs:715:17 [INFO] [stdout] | [INFO] [stdout] 715 | self.radius.into(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 715 - self.radius.into(), [INFO] [stdout] 715 + self.radius, [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 715 - self.radius.into(), [INFO] [stdout] 715 + >::into(self.radius), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/particle.rs:85:21 [INFO] [stdout] | [INFO] [stdout] 85 | ctx.move_to(self.x.into(), self.y.into()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 85 - ctx.move_to(self.x.into(), self.y.into()); [INFO] [stdout] 85 + ctx.move_to(self.x, self.y.into()); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 85 - ctx.move_to(self.x.into(), self.y.into()); [INFO] [stdout] 85 + ctx.move_to(>::into(self.x), self.y.into()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/particle.rs:85:36 [INFO] [stdout] | [INFO] [stdout] 85 | ctx.move_to(self.x.into(), self.y.into()); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 85 - ctx.move_to(self.x.into(), self.y.into()); [INFO] [stdout] 85 + ctx.move_to(self.x.into(), self.y); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 85 - ctx.move_to(self.x.into(), self.y.into()); [INFO] [stdout] 85 + ctx.move_to(self.x.into(), >::into(self.y)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/particle.rs:86:21 [INFO] [stdout] | [INFO] [stdout] 86 | ctx.line_to(self.ex.into(), self.ey.into()); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 86 - ctx.line_to(self.ex.into(), self.ey.into()); [INFO] [stdout] 86 + ctx.line_to(self.ex, self.ey.into()); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 86 - ctx.line_to(self.ex.into(), self.ey.into()); [INFO] [stdout] 86 + ctx.line_to(>::into(self.ex), self.ey.into()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/particle.rs:86:37 [INFO] [stdout] | [INFO] [stdout] 86 | ctx.line_to(self.ex.into(), self.ey.into()); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 86 - ctx.line_to(self.ex.into(), self.ey.into()); [INFO] [stdout] 86 + ctx.line_to(self.ex.into(), self.ey); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 86 - ctx.line_to(self.ex.into(), self.ey.into()); [INFO] [stdout] 86 + ctx.line_to(self.ex.into(), >::into(self.ey)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `f64` [INFO] [stdout] --> src/particle.rs:88:28 [INFO] [stdout] | [INFO] [stdout] 88 | ctx.set_line_width(self.line_width.into()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 88 - ctx.set_line_width(self.line_width.into()); [INFO] [stdout] 88 + ctx.set_line_width(self.line_width); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 88 - ctx.set_line_width(self.line_width.into()); [INFO] [stdout] 88 + ctx.set_line_width(>::into(self.line_width)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `radius_raid` (lib) due to 37 previous errors; 38 warnings emitted [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] running `Command { std: "docker" "inspect" "3ca04cd1858b9e255b06cb50891ca6bf8cd5c9a6aa7dcf498c5ddf2a3167692b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3ca04cd1858b9e255b06cb50891ca6bf8cd5c9a6aa7dcf498c5ddf2a3167692b", kill_on_drop: false }` [INFO] [stdout] 3ca04cd1858b9e255b06cb50891ca6bf8cd5c9a6aa7dcf498c5ddf2a3167692b