[INFO] cloning repository https://github.com/ThePJB/raw [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ThePJB/raw" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FThePJB%2Fraw", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FThePJB%2Fraw'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 6db97a13f196260a67644cfc59200e6c91292a99 [INFO] checking ThePJB/raw/6db97a13f196260a67644cfc59200e6c91292a99 against master#f21fbac535ab2c3bc50db20547f4d48477357103 for pr-143193 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FThePJB%2Fraw" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/ThePJB/raw [INFO] finished tweaking git repo https://github.com/ThePJB/raw [INFO] tweaked toml for git repo https://github.com/ThePJB/raw written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/ThePJB/raw on toolchain f21fbac535ab2c3bc50db20547f4d48477357103 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f21fbac535ab2c3bc50db20547f4d48477357103" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/ThePJB/raw 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" "+f21fbac535ab2c3bc50db20547f4d48477357103" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded ringbuf v0.2.8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+f21fbac535ab2c3bc50db20547f4d48477357103" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d7befe46e3d29994c5957b7658043bd225f89a3a2671f128932ed5aee6e63257 [INFO] running `Command { std: "docker" "start" "-a" "d7befe46e3d29994c5957b7658043bd225f89a3a2671f128932ed5aee6e63257", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d7befe46e3d29994c5957b7658043bd225f89a3a2671f128932ed5aee6e63257", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d7befe46e3d29994c5957b7658043bd225f89a3a2671f128932ed5aee6e63257", kill_on_drop: false }` [INFO] [stdout] d7befe46e3d29994c5957b7658043bd225f89a3a2671f128932ed5aee6e63257 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+f21fbac535ab2c3bc50db20547f4d48477357103" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 937643a57fac705787f9754425e5694b7159868b894cc81c4b591201d9fbd8f8 [INFO] running `Command { std: "docker" "start" "-a" "937643a57fac705787f9754425e5694b7159868b894cc81c4b591201d9fbd8f8", kill_on_drop: false }` [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling pkg-config v0.3.30 [INFO] [stderr] Compiling libc v0.2.155 [INFO] [stderr] Compiling proc-macro2 v1.0.85 [INFO] [stderr] Compiling unicode-ident v1.0.12 [INFO] [stderr] Checking once_cell v1.19.0 [INFO] [stderr] Compiling xml-rs v0.8.20 [INFO] [stderr] Compiling autocfg v1.3.0 [INFO] [stderr] Checking log v0.4.21 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Checking bitflags v2.5.0 [INFO] [stderr] Checking downcast-rs v1.2.1 [INFO] [stderr] Checking scoped-tls v1.0.1 [INFO] [stderr] Compiling khronos_api v3.1.0 [INFO] [stderr] Compiling rustix v0.38.34 [INFO] [stderr] Checking linux-raw-sys v0.4.14 [INFO] [stderr] Checking libloading v0.8.3 [INFO] [stderr] Compiling cc v1.0.99 [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Compiling wayland-client v0.31.3 [INFO] [stderr] Checking xcursor v0.3.5 [INFO] [stderr] Compiling cfg_aliases v0.1.1 [INFO] [stderr] Checking dlib v0.5.2 [INFO] [stderr] Compiling quick-xml v0.31.0 [INFO] [stderr] Compiling thiserror v1.0.61 [INFO] [stderr] Checking pin-project-lite v0.2.14 [INFO] [stderr] Checking tracing-core v0.1.32 [INFO] [stderr] Checking cursor-icon v1.1.0 [INFO] [stderr] Checking bytemuck v1.16.0 [INFO] [stderr] Checking strict-num v0.1.1 [INFO] [stderr] Compiling smithay-client-toolkit v0.18.1 [INFO] [stderr] Compiling version_check v0.9.4 [INFO] [stderr] Checking ttf-parser v0.21.1 [INFO] [stderr] Checking arrayref v0.3.7 [INFO] [stderr] Checking xkeysym v0.2.1 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Compiling parking_lot_core v0.8.6 [INFO] [stderr] Checking tiny-skia-path v0.11.4 [INFO] [stderr] Checking instant v0.1.13 [INFO] [stderr] Compiling memoffset v0.6.5 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Checking simd-adler32 v0.3.7 [INFO] [stderr] Checking percent-encoding v2.3.1 [INFO] [stderr] Checking arrayvec v0.7.4 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Compiling wayland-sys v0.31.2 [INFO] [stderr] Compiling wayland-sys v0.29.5 [INFO] [stderr] Compiling x11-dl v2.21.0 [INFO] [stderr] Compiling alsa-sys v0.3.1 [INFO] [stderr] Compiling smithay-client-toolkit v0.15.4 [INFO] [stderr] Compiling gl_generator v0.14.0 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Checking ab_glyph_rasterizer v0.1.8 [INFO] [stderr] Compiling glutin v0.31.3 [INFO] [stderr] Compiling winit v0.29.15 [INFO] [stderr] Checking cty v0.2.2 [INFO] [stderr] Checking raw-window-handle v0.5.2 [INFO] [stderr] Checking as-raw-xcb-connection v1.0.1 [INFO] [stderr] Checking x11rb-protocol v0.13.1 [INFO] [stderr] Checking adler v1.0.2 [INFO] [stderr] Checking zerocopy v0.7.34 [INFO] [stderr] Checking tiny-skia v0.11.4 [INFO] [stderr] Compiling winit v0.26.1 [INFO] [stderr] Checking miniz_oxide v0.7.3 [INFO] [stderr] Checking raw-window-handle v0.4.3 [INFO] [stderr] Compiling glutin-winit v0.4.2 [INFO] [stderr] Checking xkbcommon-dl v0.4.2 [INFO] [stderr] Checking crc32fast v1.4.2 [INFO] [stderr] Checking raw-window-handle v0.6.2 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Compiling wayland-backend v0.3.4 [INFO] [stderr] Checking smol_str v0.2.2 [INFO] [stderr] Compiling cpal v0.15.3 [INFO] [stderr] Checking fdeflate v0.3.4 [INFO] [stderr] Checking libloading v0.7.4 [INFO] [stderr] Checking dasp_sample v0.11.0 [INFO] [stderr] Checking cache-padded v1.3.0 [INFO] [stderr] Checking byteorder v0.5.3 [INFO] [stderr] Compiling wayland-scanner v0.29.5 [INFO] [stderr] Compiling syn v2.0.66 [INFO] [stderr] Checking glow v0.13.1 [INFO] [stderr] Checking ringbuf v0.2.8 [INFO] [stderr] Checking riff-wave v0.1.3 [INFO] [stderr] Compiling glutin_egl_sys v0.6.0 [INFO] [stderr] Compiling glutin_glx_sys v0.5.0 [INFO] [stderr] Compiling wayland-scanner v0.31.2 [INFO] [stderr] Compiling glutin_glx_sys v0.1.8 [INFO] [stderr] Compiling glutin_egl_sys v0.1.6 [INFO] [stderr] Checking flate2 v1.0.30 [INFO] [stderr] Checking png v0.17.13 [INFO] [stderr] Checking owned_ttf_parser v0.21.0 [INFO] [stderr] Checking ab_glyph v0.2.26 [INFO] [stderr] Checking nix v0.24.3 [INFO] [stderr] Checking nix v0.22.3 [INFO] [stderr] Checking memmap2 v0.9.4 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking memmap2 v0.3.1 [INFO] [stderr] Checking shared_library v0.1.9 [INFO] [stderr] Checking mio v0.8.11 [INFO] [stderr] Checking parking_lot v0.11.2 [INFO] [stderr] Checking osmesa-sys v0.1.2 [INFO] [stderr] Compiling wayland-client v0.29.5 [INFO] [stderr] Compiling wayland-protocols v0.29.5 [INFO] [stderr] Checking alsa v0.9.0 [INFO] [stderr] Compiling thiserror-impl v1.0.61 [INFO] [stderr] Checking wayland-commons v0.29.5 [INFO] [stderr] Checking wayland-cursor v0.29.5 [INFO] [stderr] Checking wayland-egl v0.29.5 [INFO] [stderr] Checking calloop v0.9.3 [INFO] [stderr] Checking polling v3.7.2 [INFO] [stderr] Checking calloop v0.12.4 [INFO] [stderr] Checking wayland-csd-frame v0.3.0 [INFO] [stderr] Checking wayland-protocols v0.31.2 [INFO] [stderr] Checking calloop-wayland-source v0.2.0 [INFO] [stderr] Checking wayland-cursor v0.31.3 [INFO] [stderr] Checking wayland-protocols-wlr v0.2.0 [INFO] [stderr] Checking wayland-protocols-plasma v0.2.0 [INFO] [stderr] Checking x11rb v0.13.1 [INFO] [stderr] Checking sctk-adwaita v0.8.1 [INFO] [stderr] Checking glutin v0.28.0 [INFO] [stderr] Checking raw v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec2.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec3.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec4.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `riff_wave::*` [INFO] [stdout] --> src/util/sound_context.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use riff_wave::*; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sound_context::*` [INFO] [stdout] --> src/util/mod.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub use sound_context::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `glutin::Rect` [INFO] [stdout] --> src/util/render_context.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use glutin::Rect; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `f32::consts::PI` [INFO] [stdout] --> src/util/render_context.rs:5:33 [INFO] [stdout] | [INFO] [stdout] 5 | use std::{collections::HashMap, f32::consts::PI}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::util::*` [INFO] [stdout] --> src/util/render_context.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::util::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `render_context::*` [INFO] [stdout] --> src/util/mod.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | pub use render_context::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `context::*` [INFO] [stdout] --> src/util/mod.rs:20:21 [INFO] [stdout] | [INFO] [stdout] 20 | mod context;pub use context::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `distance_field_generation::*` [INFO] [stdout] --> src/util/mod.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | pub use distance_field_generation::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::f32::consts::PI` [INFO] [stdout] --> src/util/mod.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | pub use std::f32::consts::PI; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter::repeat` [INFO] [stdout] --> src/util/mod.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | pub use std::iter::repeat; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec2.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec3.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec4.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `riff_wave::*` [INFO] [stdout] --> src/util/sound_context.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use riff_wave::*; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sound_context::*` [INFO] [stdout] --> src/util/mod.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub use sound_context::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `glutin::Rect` [INFO] [stdout] --> src/util/render_context.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use glutin::Rect; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `f32::consts::PI` [INFO] [stdout] --> src/util/render_context.rs:5:33 [INFO] [stdout] | [INFO] [stdout] 5 | use std::{collections::HashMap, f32::consts::PI}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::util::*` [INFO] [stdout] --> src/util/render_context.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::util::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `render_context::*` [INFO] [stdout] --> src/util/mod.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | pub use render_context::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `context::*` [INFO] [stdout] --> src/util/mod.rs:20:21 [INFO] [stdout] | [INFO] [stdout] 20 | mod context;pub use context::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `distance_field_generation::*` [INFO] [stdout] --> src/util/mod.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | pub use distance_field_generation::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::f32::consts::TAU` [INFO] [stdout] --> src/util/mod.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | pub use std::f32::consts::TAU; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter::repeat` [INFO] [stdout] --> src/util/mod.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | pub use std::iter::repeat; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute [INFO] [stdout] --> src/util/vec_macros.rs:164:5 [INFO] [stdout] | [INFO] [stdout] 164 | #[macro_export] [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: remove this attribute [INFO] [stdout] | [INFO] [stdout] note: attribute also specified here [INFO] [stdout] --> src/util/vec_macros.rs:150:5 [INFO] [stdout] | [INFO] [stdout] 150 | #[macro_export] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unused_attributes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute [INFO] [stdout] --> src/util/vec_macros.rs:164:5 [INFO] [stdout] | [INFO] [stdout] 164 | #[macro_export] [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: remove this attribute [INFO] [stdout] | [INFO] [stdout] note: attribute also specified here [INFO] [stdout] --> src/util/vec_macros.rs:150:5 [INFO] [stdout] | [INFO] [stdout] 150 | #[macro_export] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unused_attributes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec2.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec3.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec4.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `riff_wave::*` [INFO] [stdout] --> src/util/sound_context.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use riff_wave::*; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sound_context::*` [INFO] [stdout] --> src/util/mod.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub use sound_context::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `glutin::Rect` [INFO] [stdout] --> src/util/render_context.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use glutin::Rect; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `f32::consts::PI` [INFO] [stdout] --> src/util/render_context.rs:5:33 [INFO] [stdout] | [INFO] [stdout] 5 | use std::{collections::HashMap, f32::consts::PI}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::util::*` [INFO] [stdout] --> src/util/render_context.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::util::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `render_context::*` [INFO] [stdout] --> src/util/mod.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | pub use render_context::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `context::*` [INFO] [stdout] --> src/util/mod.rs:20:21 [INFO] [stdout] | [INFO] [stdout] 20 | mod context;pub use context::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `distance_field_generation::*` [INFO] [stdout] --> src/util/mod.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | pub use distance_field_generation::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::f32::consts::PI` [INFO] [stdout] --> src/util/mod.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | pub use std::f32::consts::PI; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::f32::consts::TAU` [INFO] [stdout] --> src/util/mod.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | pub use std::f32::consts::TAU; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec2.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec3.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec4.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `riff_wave::*` [INFO] [stdout] --> src/util/sound_context.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use riff_wave::*; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sound_context::*` [INFO] [stdout] --> src/util/mod.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub use sound_context::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `glutin::Rect` [INFO] [stdout] --> src/util/render_context.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use glutin::Rect; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `f32::consts::PI` [INFO] [stdout] --> src/util/render_context.rs:5:33 [INFO] [stdout] | [INFO] [stdout] 5 | use std::{collections::HashMap, f32::consts::PI}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::util::*` [INFO] [stdout] --> src/util/render_context.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::util::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `render_context::*` [INFO] [stdout] --> src/util/mod.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | pub use render_context::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `context::*` [INFO] [stdout] --> src/util/mod.rs:20:21 [INFO] [stdout] | [INFO] [stdout] 20 | mod context;pub use context::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `distance_field_generation::*` [INFO] [stdout] --> src/util/mod.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | pub use distance_field_generation::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter::repeat` [INFO] [stdout] --> src/util/mod.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | pub use std::iter::repeat; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `iter::once` [INFO] [stdout] --> src/wg2.rs:3:48 [INFO] [stdout] | [INFO] [stdout] 3 | use std::{collections::VecDeque, iter::repeat, iter::once, iter::repeat_with}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute [INFO] [stdout] --> src/util/vec_macros.rs:164:5 [INFO] [stdout] | [INFO] [stdout] 164 | #[macro_export] [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: remove this attribute [INFO] [stdout] | [INFO] [stdout] note: attribute also specified here [INFO] [stdout] --> src/util/vec_macros.rs:150:5 [INFO] [stdout] | [INFO] [stdout] 150 | #[macro_export] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unused_attributes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute [INFO] [stdout] --> src/util/vec_macros.rs:164:5 [INFO] [stdout] | [INFO] [stdout] 164 | #[macro_export] [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: remove this attribute [INFO] [stdout] | [INFO] [stdout] note: attribute also specified here [INFO] [stdout] --> src/util/vec_macros.rs:150:5 [INFO] [stdout] | [INFO] [stdout] 150 | #[macro_export] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unused_attributes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec2.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec3.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec4.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `riff_wave::*` [INFO] [stdout] --> src/util/sound_context.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use riff_wave::*; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sound_context::*` [INFO] [stdout] --> src/util/mod.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub use sound_context::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `glutin::Rect` [INFO] [stdout] --> src/util/render_context.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use glutin::Rect; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `f32::consts::PI` [INFO] [stdout] --> src/util/render_context.rs:5:33 [INFO] [stdout] | [INFO] [stdout] 5 | use std::{collections::HashMap, f32::consts::PI}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::util::*` [INFO] [stdout] --> src/util/render_context.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::util::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `render_context::*` [INFO] [stdout] --> src/util/mod.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | pub use render_context::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `context::*` [INFO] [stdout] --> src/util/mod.rs:20:21 [INFO] [stdout] | [INFO] [stdout] 20 | mod context;pub use context::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `distance_field_generation::*` [INFO] [stdout] --> src/util/mod.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | pub use distance_field_generation::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter::repeat` [INFO] [stdout] --> src/util/mod.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | pub use std::iter::repeat; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `iter::once` [INFO] [stdout] --> src/wg2.rs:3:48 [INFO] [stdout] | [INFO] [stdout] 3 | use std::{collections::VecDeque, iter::repeat, iter::once, iter::repeat_with}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute [INFO] [stdout] --> src/util/vec_macros.rs:164:5 [INFO] [stdout] | [INFO] [stdout] 164 | #[macro_export] [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: remove this attribute [INFO] [stdout] | [INFO] [stdout] note: attribute also specified here [INFO] [stdout] --> src/util/vec_macros.rs:150:5 [INFO] [stdout] | [INFO] [stdout] 150 | #[macro_export] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unused_attributes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec2.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec3.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec4.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `reverb::*` [INFO] [stdout] --> src/inst2.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use reverb::*; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `riff_wave::*` [INFO] [stdout] --> src/util/sound_context.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use riff_wave::*; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `glutin::Rect` [INFO] [stdout] --> src/util/render_context.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use glutin::Rect; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `f32::consts::PI` [INFO] [stdout] --> src/util/render_context.rs:5:33 [INFO] [stdout] | [INFO] [stdout] 5 | use std::{collections::HashMap, f32::consts::PI}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::util::*` [INFO] [stdout] --> src/util/render_context.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::util::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `distance_field_generation::*` [INFO] [stdout] --> src/util/mod.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | pub use distance_field_generation::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `signal::*` [INFO] [stdout] --> src/util/mod.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | pub use signal::*; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::f32::consts::PI` [INFO] [stdout] --> src/util/mod.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | pub use std::f32::consts::PI; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::f32::consts::TAU` [INFO] [stdout] --> src/util/mod.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | pub use std::f32::consts::TAU; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec2.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec3.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec2.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec4.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `riff_wave::*` [INFO] [stdout] --> src/util/sound_context.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use riff_wave::*; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sound_context::*` [INFO] [stdout] --> src/util/mod.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub use sound_context::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec2.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec3.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec4.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `riff_wave::*` [INFO] [stdout] --> src/util/sound_context.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use riff_wave::*; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `glutin::Rect` [INFO] [stdout] --> src/util/render_context.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use glutin::Rect; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `f32::consts::PI` [INFO] [stdout] --> src/util/render_context.rs:5:33 [INFO] [stdout] | [INFO] [stdout] 5 | use std::{collections::HashMap, f32::consts::PI}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::util::*` [INFO] [stdout] --> src/util/render_context.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::util::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `distance_field_generation::*` [INFO] [stdout] --> src/util/mod.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | pub use distance_field_generation::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::f32::consts::PI` [INFO] [stdout] --> src/util/mod.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | pub use std::f32::consts::PI; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::f32::consts::TAU` [INFO] [stdout] --> src/util/mod.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | pub use std::f32::consts::TAU; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `glutin::Rect` [INFO] [stdout] --> src/util/render_context.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use glutin::Rect; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `f32::consts::PI` [INFO] [stdout] --> src/util/render_context.rs:5:33 [INFO] [stdout] | [INFO] [stdout] 5 | use std::{collections::HashMap, f32::consts::PI}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::util::*` [INFO] [stdout] --> src/util/render_context.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::util::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `render_context::*` [INFO] [stdout] --> src/util/mod.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | pub use render_context::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `context::*` [INFO] [stdout] --> src/util/mod.rs:20:21 [INFO] [stdout] | [INFO] [stdout] 20 | mod context;pub use context::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `distance_field_generation::*` [INFO] [stdout] --> src/util/mod.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | pub use distance_field_generation::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::f32::consts::PI` [INFO] [stdout] --> src/util/mod.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | pub use std::f32::consts::PI; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter::repeat` [INFO] [stdout] --> src/util/mod.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | pub use std::iter::repeat; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec3.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec4.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `riff_wave::*` [INFO] [stdout] --> src/util/sound_context.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use riff_wave::*; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sound_context::*` [INFO] [stdout] --> src/util/mod.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub use sound_context::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `glutin::Rect` [INFO] [stdout] --> src/util/render_context.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use glutin::Rect; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `f32::consts::PI` [INFO] [stdout] --> src/util/render_context.rs:5:33 [INFO] [stdout] | [INFO] [stdout] 5 | use std::{collections::HashMap, f32::consts::PI}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::util::*` [INFO] [stdout] --> src/util/render_context.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::util::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `render_context::*` [INFO] [stdout] --> src/util/mod.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | pub use render_context::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `context::*` [INFO] [stdout] --> src/util/mod.rs:20:21 [INFO] [stdout] | [INFO] [stdout] 20 | mod context;pub use context::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `distance_field_generation::*` [INFO] [stdout] --> src/util/mod.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | pub use distance_field_generation::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::f32::consts::TAU` [INFO] [stdout] --> src/util/mod.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | pub use std::f32::consts::TAU; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter::repeat` [INFO] [stdout] --> src/util/mod.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | pub use std::iter::repeat; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec2.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec3.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec4.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `riff_wave::*` [INFO] [stdout] --> src/util/sound_context.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use riff_wave::*; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sound_context::*` [INFO] [stdout] --> src/util/mod.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub use sound_context::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `glutin::Rect` [INFO] [stdout] --> src/util/render_context.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use glutin::Rect; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `f32::consts::PI` [INFO] [stdout] --> src/util/render_context.rs:5:33 [INFO] [stdout] | [INFO] [stdout] 5 | use std::{collections::HashMap, f32::consts::PI}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::util::*` [INFO] [stdout] --> src/util/render_context.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::util::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `render_context::*` [INFO] [stdout] --> src/util/mod.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | pub use render_context::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `context::*` [INFO] [stdout] --> src/util/mod.rs:20:21 [INFO] [stdout] | [INFO] [stdout] 20 | mod context;pub use context::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `distance_field_generation::*` [INFO] [stdout] --> src/util/mod.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | pub use distance_field_generation::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::f32::consts::PI` [INFO] [stdout] --> src/util/mod.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | pub use std::f32::consts::PI; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter::repeat` [INFO] [stdout] --> src/util/mod.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | pub use std::iter::repeat; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sample_rate` [INFO] [stdout] --> src/util/signal.rs:96:10 [INFO] [stdout] | [INFO] [stdout] 96 | let (sample_rate, samples2) = samples2.unwrap(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample_rate` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_channels` [INFO] [stdout] --> src/util/sound_context.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | let num_channels = wave_reader.pcm_format.num_channels; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_channels` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `info` [INFO] [stdout] --> src/util/sound_context.rs:73:59 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn fill_samples_buffer(&mut self, buf: &mut[f32], info: &cpal::OutputCallbackInfo) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute [INFO] [stdout] --> src/util/vec_macros.rs:164:5 [INFO] [stdout] | [INFO] [stdout] 164 | #[macro_export] [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: remove this attribute [INFO] [stdout] | [INFO] [stdout] note: attribute also specified here [INFO] [stdout] --> src/util/vec_macros.rs:150:5 [INFO] [stdout] | [INFO] [stdout] 150 | #[macro_export] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unused_attributes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec2.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec3.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sample_rate` [INFO] [stdout] --> src/util/sound_context.rs:140:13 [INFO] [stdout] | [INFO] [stdout] 140 | let sample_rate = config.sample_rate().0; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample_rate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute [INFO] [stdout] --> src/util/vec_macros.rs:164:5 [INFO] [stdout] | [INFO] [stdout] 164 | #[macro_export] [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: remove this attribute [INFO] [stdout] | [INFO] [stdout] note: attribute also specified here [INFO] [stdout] --> src/util/vec_macros.rs:150:5 [INFO] [stdout] | [INFO] [stdout] 150 | #[macro_export] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unused_attributes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec4.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `riff_wave::*` [INFO] [stdout] --> src/util/sound_context.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use riff_wave::*; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sound_context::*` [INFO] [stdout] --> src/util/mod.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub use sound_context::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `glutin::Rect` [INFO] [stdout] --> src/util/render_context.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use glutin::Rect; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `f32::consts::PI` [INFO] [stdout] --> src/util/render_context.rs:5:33 [INFO] [stdout] | [INFO] [stdout] 5 | use std::{collections::HashMap, f32::consts::PI}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::util::*` [INFO] [stdout] --> src/util/render_context.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::util::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute [INFO] [stdout] --> src/util/vec_macros.rs:164:5 [INFO] [stdout] | [INFO] [stdout] 164 | #[macro_export] [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: remove this attribute [INFO] [stdout] | [INFO] [stdout] note: attribute also specified here [INFO] [stdout] --> src/util/vec_macros.rs:150:5 [INFO] [stdout] | [INFO] [stdout] 150 | #[macro_export] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unused_attributes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute [INFO] [stdout] --> src/util/vec_macros.rs:164:5 [INFO] [stdout] | [INFO] [stdout] 164 | #[macro_export] [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: remove this attribute [INFO] [stdout] | [INFO] [stdout] note: attribute also specified here [INFO] [stdout] --> src/util/vec_macros.rs:150:5 [INFO] [stdout] | [INFO] [stdout] 150 | #[macro_export] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unused_attributes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `render_context::*` [INFO] [stdout] --> src/util/mod.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | pub use render_context::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `context::*` [INFO] [stdout] --> src/util/mod.rs:20:21 [INFO] [stdout] | [INFO] [stdout] 20 | mod context;pub use context::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `distance_field_generation::*` [INFO] [stdout] --> src/util/mod.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | pub use distance_field_generation::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::f32::consts::TAU` [INFO] [stdout] --> src/util/mod.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | pub use std::f32::consts::TAU; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter::repeat` [INFO] [stdout] --> src/util/mod.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | pub use std::iter::repeat; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec2.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec2.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec3.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec4.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `riff_wave::*` [INFO] [stdout] --> src/util/sound_context.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use riff_wave::*; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `glutin::Rect` [INFO] [stdout] --> src/util/render_context.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use glutin::Rect; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `f32::consts::PI` [INFO] [stdout] --> src/util/render_context.rs:5:33 [INFO] [stdout] | [INFO] [stdout] 5 | use std::{collections::HashMap, f32::consts::PI}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::util::*` [INFO] [stdout] --> src/util/render_context.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::util::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `distance_field_generation::*` [INFO] [stdout] --> src/util/mod.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | pub use distance_field_generation::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::f32::consts::PI` [INFO] [stdout] --> src/util/mod.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | pub use std::f32::consts::PI; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::f32::consts::TAU` [INFO] [stdout] --> src/util/mod.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | pub use std::f32::consts::TAU; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec2.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec3.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec4.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec3.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec4.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `riff_wave::*` [INFO] [stdout] --> src/util/sound_context.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use riff_wave::*; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sound_context::*` [INFO] [stdout] --> src/util/mod.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub use sound_context::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `glutin::Rect` [INFO] [stdout] --> src/util/render_context.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use glutin::Rect; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `f32::consts::PI` [INFO] [stdout] --> src/util/render_context.rs:5:33 [INFO] [stdout] | [INFO] [stdout] 5 | use std::{collections::HashMap, f32::consts::PI}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::util::*` [INFO] [stdout] --> src/util/render_context.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::util::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `riff_wave::*` [INFO] [stdout] --> src/util/sound_context.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use riff_wave::*; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute [INFO] [stdout] --> src/util/vec_macros.rs:164:5 [INFO] [stdout] | [INFO] [stdout] 164 | #[macro_export] [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: remove this attribute [INFO] [stdout] | [INFO] [stdout] note: attribute also specified here [INFO] [stdout] --> src/util/vec_macros.rs:150:5 [INFO] [stdout] | [INFO] [stdout] 150 | #[macro_export] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unused_attributes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sound_context::*` [INFO] [stdout] --> src/util/mod.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub use sound_context::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `glutin::Rect` [INFO] [stdout] --> src/util/render_context.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use glutin::Rect; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `reverb::*` [INFO] [stdout] --> src/inst2.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use reverb::*; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `f32::consts::PI` [INFO] [stdout] --> src/util/render_context.rs:5:33 [INFO] [stdout] | [INFO] [stdout] 5 | use std::{collections::HashMap, f32::consts::PI}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::util::*` [INFO] [stdout] --> src/util/render_context.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::util::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `render_context::*` [INFO] [stdout] --> src/util/mod.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | pub use render_context::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `context::*` [INFO] [stdout] --> src/util/mod.rs:20:21 [INFO] [stdout] | [INFO] [stdout] 20 | mod context;pub use context::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `distance_field_generation::*` [INFO] [stdout] --> src/util/mod.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | pub use distance_field_generation::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec2.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::f32::consts::TAU` [INFO] [stdout] --> src/util/mod.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | pub use std::f32::consts::TAU; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter::repeat` [INFO] [stdout] --> src/util/mod.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | pub use std::iter::repeat; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec3.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec4.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `riff_wave::*` [INFO] [stdout] --> src/util/sound_context.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use riff_wave::*; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `glutin::Rect` [INFO] [stdout] --> src/util/render_context.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use glutin::Rect; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `f32::consts::PI` [INFO] [stdout] --> src/util/render_context.rs:5:33 [INFO] [stdout] | [INFO] [stdout] 5 | use std::{collections::HashMap, f32::consts::PI}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::util::*` [INFO] [stdout] --> src/util/render_context.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::util::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `distance_field_generation::*` [INFO] [stdout] --> src/util/mod.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | pub use distance_field_generation::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `signal::*` [INFO] [stdout] --> src/util/mod.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | pub use signal::*; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::f32::consts::PI` [INFO] [stdout] --> src/util/mod.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | pub use std::f32::consts::PI; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::f32::consts::TAU` [INFO] [stdout] --> src/util/mod.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | pub use std::f32::consts::TAU; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/util/render_context.rs:281:13 [INFO] [stdout] | [INFO] [stdout] 275 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 281 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `render_context::*` [INFO] [stdout] --> src/util/mod.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | pub use render_context::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `context::*` [INFO] [stdout] --> src/util/mod.rs:20:21 [INFO] [stdout] | [INFO] [stdout] 20 | mod context;pub use context::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `distance_field_generation::*` [INFO] [stdout] --> src/util/mod.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | pub use distance_field_generation::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::f32::consts::PI` [INFO] [stdout] --> src/util/mod.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | pub use std::f32::consts::PI; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::f32::consts::TAU` [INFO] [stdout] --> src/util/mod.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 37 | pub use std::f32::consts::TAU; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec2.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec3.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Eq` [INFO] [stdout] --> src/util/vec4.rs:2:27 [INFO] [stdout] | [INFO] [stdout] 2 | use std::cmp::{PartialEq, Eq}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute [INFO] [stdout] --> src/util/vec_macros.rs:164:5 [INFO] [stdout] | [INFO] [stdout] 164 | #[macro_export] [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: remove this attribute [INFO] [stdout] | [INFO] [stdout] note: attribute also specified here [INFO] [stdout] --> src/util/vec_macros.rs:150:5 [INFO] [stdout] | [INFO] [stdout] 150 | #[macro_export] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unused_attributes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `riff_wave::*` [INFO] [stdout] --> src/util/sound_context.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use riff_wave::*; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sound_context::*` [INFO] [stdout] --> src/util/mod.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub use sound_context::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `glutin::Rect` [INFO] [stdout] --> src/util/render_context.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use glutin::Rect; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `f32::consts::PI` [INFO] [stdout] --> src/util/render_context.rs:5:33 [INFO] [stdout] | [INFO] [stdout] 5 | use std::{collections::HashMap, f32::consts::PI}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::util::*` [INFO] [stdout] --> src/util/render_context.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::util::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `render_context::*` [INFO] [stdout] --> src/util/mod.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | pub use render_context::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `context::*` [INFO] [stdout] --> src/util/mod.rs:20:21 [INFO] [stdout] | [INFO] [stdout] 20 | mod context;pub use context::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `distance_field_generation::*` [INFO] [stdout] --> src/util/mod.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | pub use distance_field_generation::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::f32::consts::PI` [INFO] [stdout] --> src/util/mod.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | pub use std::f32::consts::PI; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter::repeat` [INFO] [stdout] --> src/util/mod.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | pub use std::iter::repeat; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/wg3.rs:50:28 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn tick(&mut self, mut z: Vec2) -> Vec2 { [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/wg3.rs:61:38 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn tick_nonlinear(&mut self, mut z: Vec2) -> Vec2 { [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute [INFO] [stdout] --> src/util/vec_macros.rs:164:5 [INFO] [stdout] | [INFO] [stdout] 164 | #[macro_export] [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: remove this attribute [INFO] [stdout] | [INFO] [stdout] note: attribute also specified here [INFO] [stdout] --> src/util/vec_macros.rs:150:5 [INFO] [stdout] | [INFO] [stdout] 150 | #[macro_export] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unused_attributes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `wt` is never read [INFO] [stdout] --> src/wg3.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Reverb { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 13 | wt: Vec2, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PHI` is never used [INFO] [stdout] --> src/util/mod.rs:36:11 [INFO] [stdout] | [INFO] [stdout] 36 | pub const PHI: f32 = 1.618033988749894848204; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Lerp` is never used [INFO] [stdout] --> src/util/lerp.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait Lerp { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `vec4` is never used [INFO] [stdout] --> src/util/vec4.rs:13:14 [INFO] [stdout] | [INFO] [stdout] 13 | pub const fn vec4(x: f32, y: f32, z: f32, w: f32) -> Vec4 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `AsVec2` is never used [INFO] [stdout] --> src/util/ivec2.rs:14:11 [INFO] [stdout] | [INFO] [stdout] 14 | pub trait AsVec2 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `ExpectWith` is never used [INFO] [stdout] --> src/util/option_utils.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait ExpectWith { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `UnwrapMut` is never used [INFO] [stdout] --> src/util/option_utils.rs:36:11 [INFO] [stdout] | [INFO] [stdout] 36 | pub trait UnwrapMut { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `UnwrapRef` is never used [INFO] [stdout] --> src/util/option_utils.rs:59:11 [INFO] [stdout] | [INFO] [stdout] 59 | pub trait UnwrapRef<'a, T> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenRef` is never constructed [INFO] [stdout] --> src/util/gen_ref.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct GenRef { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `deref`, `deref_mut`, `free`, and `change_arenas` are never used [INFO] [stdout] --> src/util/gen_ref.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl GenRef { [INFO] [stdout] | ------------------------ methods in this implementation [INFO] [stdout] 35 | pub fn deref<'a>(&self, arena: &'a GenArena) -> Option<&'a T> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn deref_mut<'a>(&self, arena: &'a mut GenArena) -> Option<&'a mut T> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn free<'a>(&self, arena: &'a mut GenArena) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn change_arenas(&mut self, from: &GenArena, to: &mut GenArena) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenBucket` is never constructed [INFO] [stdout] --> src/util/gen_ref.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 59 | pub struct GenBucket { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/util/gen_ref.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 65 | impl GenBucket { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] 66 | fn new(item: T) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenArena` is never constructed [INFO] [stdout] --> src/util/gen_ref.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 75 | pub struct GenArena { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/util/gen_ref.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 79 | impl GenArena { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 80 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn borrow<'a>(&'a self, gen_ref: &GenRef) -> Option<&'a T> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn borrow_mut<'a>(&'a mut self, gen_ref: &GenRef) -> Option<&'a mut T> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn borrow_2<'a>( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | pub fn borrow_2_mut<'a>( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn borrow_many<'a>(&'a self, gen_refs: &'a [GenRef]) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | pub fn borrow_many_mut<'a>(&'a mut self, gen_refs: &'a [GenRef]) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | pub fn free(&mut self, gen_ref: &GenRef) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | pub fn alloc(&mut self, item: T) -> GenRef { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ImageBuffer` is never constructed [INFO] [stdout] --> src/util/image.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct ImageBuffer { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/util/image.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl ImageBuffer { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 17 | pub fn new(wh: IVec2) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn from_bytes(png_bytes: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn get(&self, x: usize, y: usize) -> Vec4 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn set(&mut self, x: usize, y: usize, colour: Vec4) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn fill(&mut self, colour: Vec4) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn set_square(&mut self, x: usize, y: usize, r: usize, colour: Vec4) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn circle(&mut self, x: usize, y: usize, r: usize, rr: usize, colour: Vec4) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn save(&self, path: &Path) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `my_read_dir` is never used [INFO] [stdout] --> src/util/file_utils.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn my_read_dir(path: &Path) -> std::io::Result> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MyDirEntry` is never constructed [INFO] [stdout] --> src/util/file_utils.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 62 | pub struct MyDirEntry { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `random_seed` is never used [INFO] [stdout] --> src/util/rng.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn random_seed() -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `KHash` is never used [INFO] [stdout] --> src/util/rng.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub trait KHash { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lanczos_interp` is never used [INFO] [stdout] --> src/util/signal.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn lanczos_interp(s: &[f32], r: f32, a: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lanczos_kernel` is never used [INFO] [stdout] --> src/util/signal.rs:29:4 [INFO] [stdout] | [INFO] [stdout] 29 | fn lanczos_kernel(x: f32, a: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `load` is never used [INFO] [stdout] --> src/util/signal.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 41 | pub trait Wav { [INFO] [stdout] | --- associated function in this trait [INFO] [stdout] 42 | fn load(path: &str) -> (u32, Self); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_wav` is never used [INFO] [stdout] --> src/util/sound_context.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn load_wav(path: &Path) -> Option<(u32, Vec)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PlayCommand` is never constructed [INFO] [stdout] --> src/util/sound_context.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct PlayCommand { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PlaybackContext` is never constructed [INFO] [stdout] --> src/util/sound_context.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 50 | pub struct PlaybackContext { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AudioThread` is never constructed [INFO] [stdout] --> src/util/sound_context.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | struct AudioThread { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `fill_samples_buffer`, `tick_mix`, and `mix` are never used [INFO] [stdout] --> src/util/sound_context.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 62 | impl AudioThread { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 63 | pub fn new(sounds: Vec>, cons: Consumer, cons_samp: Consumer) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn fill_samples_buffer(&mut self, buf: &mut[f32], info: &cpal::OutputCallbackInfo) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn tick_mix(&mut self) -> f32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn mix(&mut self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SoundContext` is never constructed [INFO] [stdout] --> src/util/sound_context.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 124 | pub struct SoundContext { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `play`, and `send_samples` are never used [INFO] [stdout] --> src/util/sound_context.rs:131:12 [INFO] [stdout] | [INFO] [stdout] 130 | impl SoundContext { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 131 | pub fn new(device: Option, sounds: Vec>) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | pub fn play(&mut self, com: PlayCommand) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | pub fn send_samples(&mut self, samples: impl Iterator) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_folder` is never used [INFO] [stdout] --> src/util/sound_context.rs:178:8 [INFO] [stdout] | [INFO] [stdout] 178 | pub fn load_folder(path: &Path) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RenderCommand` is never constructed [INFO] [stdout] --> src/util/render_context.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct RenderCommand { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `draw_albedo` is never used [INFO] [stdout] --> src/util/render_context.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl RenderCommand { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] 27 | pub fn draw_albedo(&self, buf: &mut VertexBufCPU, render_context: &RenderContext) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_text` is never used [INFO] [stdout] --> src/util/render_context.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn render_text(buf: &mut Vec, s: String, mut base: RenderCommand) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SpriteHandle` is never constructed [INFO] [stdout] --> src/util/render_context.rs:129:12 [INFO] [stdout] | [INFO] [stdout] 129 | pub struct SpriteHandle { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ATLAS_WH` is never used [INFO] [stdout] --> src/util/render_context.rs:134:11 [INFO] [stdout] | [INFO] [stdout] 134 | pub const ATLAS_WH: IVec2 = ivec2(1024, 1024); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FRAG_ALBEDO` is never used [INFO] [stdout] --> src/util/render_context.rs:135:11 [INFO] [stdout] | [INFO] [stdout] 135 | pub const FRAG_ALBEDO: &str = r#"#version 330 core [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VERT_ALBEDO` is never used [INFO] [stdout] --> src/util/render_context.rs:148:11 [INFO] [stdout] | [INFO] [stdout] 148 | pub const VERT_ALBEDO: &str = r#"#version 330 core [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RenderContext` is never constructed [INFO] [stdout] --> src/util/render_context.rs:170:12 [INFO] [stdout] | [INFO] [stdout] 170 | pub struct RenderContext { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `frame`, and `resize` are never used [INFO] [stdout] --> src/util/render_context.rs:182:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl RenderContext { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 182 | pub fn new(gl: GLContext) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 274 | pub fn frame(&mut self, render_list: &Vec) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 303 | pub fn resize(&mut self, wh: IVec2) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Vertex` is never constructed [INFO] [stdout] --> src/util/render_context.rs:313:12 [INFO] [stdout] | [INFO] [stdout] 313 | pub struct Vertex { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VertexBufCPU` is never constructed [INFO] [stdout] --> src/util/render_context.rs:322:12 [INFO] [stdout] | [INFO] [stdout] 322 | pub struct VertexBufCPU { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `extend` is never used [INFO] [stdout] --> src/util/render_context.rs:328:12 [INFO] [stdout] | [INFO] [stdout] 327 | impl VertexBufCPU { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 328 | pub fn extend(&mut self, verts: impl Iterator, inds: impl Iterator) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INTERNAL_WH` is never used [INFO] [stdout] --> src/util/context.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | pub const INTERNAL_WH: IVec2 = ivec2(640, 360); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Input` is never constructed [INFO] [stdout] --> src/util/context.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct Input { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `reset_for_frame` is never used [INFO] [stdout] --> src/util/context.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl Input { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 32 | pub fn reset_for_frame(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Context` is never constructed [INFO] [stdout] --> src/util/context.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 40 | pub struct Context { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `App` is never used [INFO] [stdout] --> src/util/context.rs:47:11 [INFO] [stdout] | [INFO] [stdout] 47 | pub trait App { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_gl`, and `run` are never used [INFO] [stdout] --> src/util/context.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 51 | impl Context { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 52 | pub fn new(name: &'static str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn get_gl(&self) -> glow::Context { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn run(mut self, mut t: T) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute [INFO] [stdout] --> src/util/vec_macros.rs:164:5 [INFO] [stdout] | [INFO] [stdout] 164 | #[macro_export] [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: remove this attribute [INFO] [stdout] | [INFO] [stdout] note: attribute also specified here [INFO] [stdout] --> src/util/vec_macros.rs:150:5 [INFO] [stdout] | [INFO] [stdout] 150 | #[macro_export] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unused_attributes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute [INFO] [stdout] --> src/util/vec_macros.rs:164:5 [INFO] [stdout] | [INFO] [stdout] 164 | #[macro_export] [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: remove this attribute [INFO] [stdout] | [INFO] [stdout] note: attribute also specified here [INFO] [stdout] --> src/util/vec_macros.rs:150:5 [INFO] [stdout] | [INFO] [stdout] 150 | #[macro_export] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unused_attributes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute [INFO] [stdout] --> src/util/vec_macros.rs:164:5 [INFO] [stdout] | [INFO] [stdout] 164 | #[macro_export] [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: remove this attribute [INFO] [stdout] | [INFO] [stdout] note: attribute also specified here [INFO] [stdout] --> src/util/vec_macros.rs:150:5 [INFO] [stdout] | [INFO] [stdout] 150 | #[macro_export] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unused_attributes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused attribute [INFO] [stdout] --> src/util/vec_macros.rs:164:5 [INFO] [stdout] | [INFO] [stdout] 164 | #[macro_export] [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: remove this attribute [INFO] [stdout] | [INFO] [stdout] note: attribute also specified here [INFO] [stdout] --> src/util/vec_macros.rs:150:5 [INFO] [stdout] | [INFO] [stdout] 150 | #[macro_export] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unused_attributes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_channels` [INFO] [stdout] --> src/util/sound_context.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | let num_channels = wave_reader.pcm_format.num_channels; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_channels` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/util/file_utils.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | dir_traverse(Path::new("data"), &mut |p| println!("{:?}", p)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 21 | let _ = dir_traverse(Path::new("data"), &mut |p| println!("{:?}", p)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `info` [INFO] [stdout] --> src/util/sound_context.rs:73:59 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn fill_samples_buffer(&mut self, buf: &mut[f32], info: &cpal::OutputCallbackInfo) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/util/sound_context.rs:173:13 [INFO] [stdout] | [INFO] [stdout] 173 | self.prod_samp.push(sample); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 173 | let _ = self.prod_samp.push(sample); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sample_rate` [INFO] [stdout] --> src/util/sound_context.rs:140:13 [INFO] [stdout] | [INFO] [stdout] 140 | let sample_rate = config.sample_rate().0; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample_rate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/util/render_context.rs:281:13 [INFO] [stdout] | [INFO] [stdout] 275 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 281 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/fm.rs:80:13 [INFO] [stdout] | [INFO] [stdout] 80 | let mut x = 1.0; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Lerp` is never used [INFO] [stdout] --> src/util/lerp.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait Lerp { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `vec4` is never used [INFO] [stdout] --> src/util/vec4.rs:13:14 [INFO] [stdout] | [INFO] [stdout] 13 | pub const fn vec4(x: f32, y: f32, z: f32, w: f32) -> Vec4 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ivec2` is never used [INFO] [stdout] --> src/util/ivec2.rs:10:14 [INFO] [stdout] | [INFO] [stdout] 10 | pub const fn ivec2(x: i32, y: i32) -> IVec2 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `AsVec2` is never used [INFO] [stdout] --> src/util/ivec2.rs:14:11 [INFO] [stdout] | [INFO] [stdout] 14 | pub trait AsVec2 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `ExpectWith` is never used [INFO] [stdout] --> src/util/option_utils.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait ExpectWith { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `UnwrapMut` is never used [INFO] [stdout] --> src/util/option_utils.rs:36:11 [INFO] [stdout] | [INFO] [stdout] 36 | pub trait UnwrapMut { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `UnwrapRef` is never used [INFO] [stdout] --> src/util/option_utils.rs:59:11 [INFO] [stdout] | [INFO] [stdout] 59 | pub trait UnwrapRef<'a, T> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenRef` is never constructed [INFO] [stdout] --> src/util/gen_ref.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct GenRef { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `deref`, `deref_mut`, `free`, and `change_arenas` are never used [INFO] [stdout] --> src/util/gen_ref.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl GenRef { [INFO] [stdout] | ------------------------ methods in this implementation [INFO] [stdout] 35 | pub fn deref<'a>(&self, arena: &'a GenArena) -> Option<&'a T> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn deref_mut<'a>(&self, arena: &'a mut GenArena) -> Option<&'a mut T> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn free<'a>(&self, arena: &'a mut GenArena) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn change_arenas(&mut self, from: &GenArena, to: &mut GenArena) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenBucket` is never constructed [INFO] [stdout] --> src/util/gen_ref.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 59 | pub struct GenBucket { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/util/gen_ref.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 65 | impl GenBucket { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] 66 | fn new(item: T) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenArena` is never constructed [INFO] [stdout] --> src/util/gen_ref.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 75 | pub struct GenArena { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/util/gen_ref.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 79 | impl GenArena { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 80 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn borrow<'a>(&'a self, gen_ref: &GenRef) -> Option<&'a T> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn borrow_mut<'a>(&'a mut self, gen_ref: &GenRef) -> Option<&'a mut T> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn borrow_2<'a>( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | pub fn borrow_2_mut<'a>( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn borrow_many<'a>(&'a self, gen_refs: &'a [GenRef]) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | pub fn borrow_many_mut<'a>(&'a mut self, gen_refs: &'a [GenRef]) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | pub fn free(&mut self, gen_ref: &GenRef) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | pub fn alloc(&mut self, item: T) -> GenRef { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ImageBuffer` is never constructed [INFO] [stdout] --> src/util/image.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct ImageBuffer { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/util/image.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl ImageBuffer { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 17 | pub fn new(wh: IVec2) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn from_bytes(png_bytes: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn get(&self, x: usize, y: usize) -> Vec4 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn set(&mut self, x: usize, y: usize, colour: Vec4) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn fill(&mut self, colour: Vec4) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn set_square(&mut self, x: usize, y: usize, r: usize, colour: Vec4) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn circle(&mut self, x: usize, y: usize, r: usize, rr: usize, colour: Vec4) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn save(&self, path: &Path) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dir_traverse` is never used [INFO] [stdout] --> src/util/file_utils.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn dir_traverse(path: &Path, f: &mut impl FnMut(&Path)) -> Result<(), std::io::Error> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `my_read_dir` is never used [INFO] [stdout] --> src/util/file_utils.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn my_read_dir(path: &Path) -> std::io::Result> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MyDirEntry` is never constructed [INFO] [stdout] --> src/util/file_utils.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 62 | pub struct MyDirEntry { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `AsBytes` is never used [INFO] [stdout] --> src/util/texture.rs:2:11 [INFO] [stdout] | [INFO] [stdout] 2 | pub trait AsBytes { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Texture` is never constructed [INFO] [stdout] --> src/util/texture.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct Texture { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `fill`, `sample`, `sample_checked`, and `save` are never used [INFO] [stdout] --> src/util/texture.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl Texture { [INFO] [stdout] | ----------------------------------- associated items in this implementation [INFO] [stdout] 29 | pub fn new(wh: IVec2, initial: T) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn fill(&mut self, value: T) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn sample(&self, coord: IVec2) -> T { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn sample_checked(&self, coord: IVec2) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn save(&self, path: &std::path::Path, f: impl Fn(T)->[u8;4]) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Draw` is never used [INFO] [stdout] --> src/util/texture.rs:84:11 [INFO] [stdout] | [INFO] [stdout] 84 | pub trait Draw { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dist_fn` is never used [INFO] [stdout] --> src/util/distance_field_generation.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn dist_fn(p1: IVec2, p2: IVec2) -> f32 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `spread` is never used [INFO] [stdout] --> src/util/distance_field_generation.rs:10:4 [INFO] [stdout] | [INFO] [stdout] 10 | fn spread(distance: &mut Texture, nearest: &mut Texture, p1: IVec2, p2: IVec2) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sdf1` is never used [INFO] [stdout] --> src/util/distance_field_generation.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn sdf1(in_stencil: Texture) -> Texture { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `normalize` is never used [INFO] [stdout] --> src/util/distance_field_generation.rs:74:12 [INFO] [stdout] | [INFO] [stdout] 73 | impl Texture { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 74 | pub fn normalize(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `random_seed` is never used [INFO] [stdout] --> src/util/rng.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn random_seed() -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `KHash` is never used [INFO] [stdout] --> src/util/rng.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub trait KHash { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lanczos_interp` is never used [INFO] [stdout] --> src/util/signal.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn lanczos_interp(s: &[f32], r: f32, a: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lanczos_kernel` is never used [INFO] [stdout] --> src/util/signal.rs:29:4 [INFO] [stdout] | [INFO] [stdout] 29 | fn lanczos_kernel(x: f32, a: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `load` is never used [INFO] [stdout] --> src/util/signal.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 41 | pub trait Wav { [INFO] [stdout] | --- associated function in this trait [INFO] [stdout] 42 | fn load(path: &str) -> (u32, Self); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_wav` is never used [INFO] [stdout] --> src/util/signal.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn load_wav(path: &str) -> Option<(u32, Vec)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_wav` is never used [INFO] [stdout] --> src/util/sound_context.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn load_wav(path: &Path) -> Option<(u32, Vec)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PlayCommand` is never constructed [INFO] [stdout] --> src/util/sound_context.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct PlayCommand { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PlaybackContext` is never constructed [INFO] [stdout] --> src/util/sound_context.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 50 | pub struct PlaybackContext { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AudioThread` is never constructed [INFO] [stdout] --> src/util/sound_context.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | struct AudioThread { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `fill_samples_buffer`, `tick_mix`, and `mix` are never used [INFO] [stdout] --> src/util/sound_context.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 62 | impl AudioThread { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 63 | pub fn new(sounds: Vec>, cons: Consumer, cons_samp: Consumer) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn fill_samples_buffer(&mut self, buf: &mut[f32], info: &cpal::OutputCallbackInfo) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn tick_mix(&mut self) -> f32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn mix(&mut self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SoundContext` is never constructed [INFO] [stdout] --> src/util/sound_context.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 124 | pub struct SoundContext { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `play`, and `send_samples` are never used [INFO] [stdout] --> src/util/sound_context.rs:131:12 [INFO] [stdout] | [INFO] [stdout] 130 | impl SoundContext { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 131 | pub fn new(device: Option, sounds: Vec>) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | pub fn play(&mut self, com: PlayCommand) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | pub fn send_samples(&mut self, samples: impl Iterator) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_folder` is never used [INFO] [stdout] --> src/util/sound_context.rs:178:8 [INFO] [stdout] | [INFO] [stdout] 178 | pub fn load_folder(path: &Path) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RenderCommand` is never constructed [INFO] [stdout] --> src/util/render_context.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct RenderCommand { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `draw_albedo` is never used [INFO] [stdout] --> src/util/render_context.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl RenderCommand { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] 27 | pub fn draw_albedo(&self, buf: &mut VertexBufCPU, render_context: &RenderContext) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_text` is never used [INFO] [stdout] --> src/util/render_context.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn render_text(buf: &mut Vec, s: String, mut base: RenderCommand) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SpriteHandle` is never constructed [INFO] [stdout] --> src/util/render_context.rs:129:12 [INFO] [stdout] | [INFO] [stdout] 129 | pub struct SpriteHandle { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ATLAS_WH` is never used [INFO] [stdout] --> src/util/render_context.rs:134:11 [INFO] [stdout] | [INFO] [stdout] 134 | pub const ATLAS_WH: IVec2 = ivec2(1024, 1024); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FRAG_ALBEDO` is never used [INFO] [stdout] --> src/util/render_context.rs:135:11 [INFO] [stdout] | [INFO] [stdout] 135 | pub const FRAG_ALBEDO: &str = r#"#version 330 core [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VERT_ALBEDO` is never used [INFO] [stdout] --> src/util/render_context.rs:148:11 [INFO] [stdout] | [INFO] [stdout] 148 | pub const VERT_ALBEDO: &str = r#"#version 330 core [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RenderContext` is never constructed [INFO] [stdout] --> src/util/render_context.rs:170:12 [INFO] [stdout] | [INFO] [stdout] 170 | pub struct RenderContext { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `frame`, and `resize` are never used [INFO] [stdout] --> src/util/render_context.rs:182:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl RenderContext { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 182 | pub fn new(gl: GLContext) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 274 | pub fn frame(&mut self, render_list: &Vec) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 303 | pub fn resize(&mut self, wh: IVec2) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Vertex` is never constructed [INFO] [stdout] --> src/util/render_context.rs:313:12 [INFO] [stdout] | [INFO] [stdout] 313 | pub struct Vertex { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VertexBufCPU` is never constructed [INFO] [stdout] --> src/util/render_context.rs:322:12 [INFO] [stdout] | [INFO] [stdout] 322 | pub struct VertexBufCPU { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `extend` is never used [INFO] [stdout] --> src/util/render_context.rs:328:12 [INFO] [stdout] | [INFO] [stdout] 327 | impl VertexBufCPU { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 328 | pub fn extend(&mut self, verts: impl Iterator, inds: impl Iterator) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INTERNAL_WH` is never used [INFO] [stdout] --> src/util/context.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | pub const INTERNAL_WH: IVec2 = ivec2(640, 360); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Input` is never constructed [INFO] [stdout] --> src/util/context.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct Input { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `reset_for_frame` is never used [INFO] [stdout] --> src/util/context.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl Input { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 32 | pub fn reset_for_frame(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Context` is never constructed [INFO] [stdout] --> src/util/context.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 40 | pub struct Context { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `App` is never used [INFO] [stdout] --> src/util/context.rs:47:11 [INFO] [stdout] | [INFO] [stdout] 47 | pub trait App { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_gl`, and `run` are never used [INFO] [stdout] --> src/util/context.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 51 | impl Context { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 52 | pub fn new(name: &'static str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn get_gl(&self) -> glow::Context { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn run(mut self, mut t: T) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/util/sound_context.rs:173:13 [INFO] [stdout] | [INFO] [stdout] 173 | self.prod_samp.push(sample); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 173 | let _ = self.prod_samp.push(sample); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sample_rate` [INFO] [stdout] --> src/util/signal.rs:96:10 [INFO] [stdout] | [INFO] [stdout] 96 | let (sample_rate, samples2) = samples2.unwrap(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample_rate` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_channels` [INFO] [stdout] --> src/util/sound_context.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | let num_channels = wave_reader.pcm_format.num_channels; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_channels` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `info` [INFO] [stdout] --> src/util/sound_context.rs:73:59 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn fill_samples_buffer(&mut self, buf: &mut[f32], info: &cpal::OutputCallbackInfo) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sample_rate` [INFO] [stdout] --> src/util/sound_context.rs:140:13 [INFO] [stdout] | [INFO] [stdout] 140 | let sample_rate = config.sample_rate().0; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample_rate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sample_rate` [INFO] [stdout] --> src/util/signal.rs:96:10 [INFO] [stdout] | [INFO] [stdout] 96 | let (sample_rate, samples2) = samples2.unwrap(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample_rate` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sample_rate` [INFO] [stdout] --> src/util/signal.rs:96:10 [INFO] [stdout] | [INFO] [stdout] 96 | let (sample_rate, samples2) = samples2.unwrap(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample_rate` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_channels` [INFO] [stdout] --> src/util/sound_context.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | let num_channels = wave_reader.pcm_format.num_channels; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_channels` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `info` [INFO] [stdout] --> src/util/sound_context.rs:73:59 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn fill_samples_buffer(&mut self, buf: &mut[f32], info: &cpal::OutputCallbackInfo) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_channels` [INFO] [stdout] --> src/util/sound_context.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | let num_channels = wave_reader.pcm_format.num_channels; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_channels` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `info` [INFO] [stdout] --> src/util/sound_context.rs:73:59 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn fill_samples_buffer(&mut self, buf: &mut[f32], info: &cpal::OutputCallbackInfo) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sample_rate` [INFO] [stdout] --> src/util/sound_context.rs:140:13 [INFO] [stdout] | [INFO] [stdout] 140 | let sample_rate = config.sample_rate().0; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample_rate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/util/render_context.rs:281:13 [INFO] [stdout] | [INFO] [stdout] 275 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 281 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sample_rate` [INFO] [stdout] --> src/util/sound_context.rs:140:13 [INFO] [stdout] | [INFO] [stdout] 140 | let sample_rate = config.sample_rate().0; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample_rate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_channels` [INFO] [stdout] --> src/util/sound_context.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | let num_channels = wave_reader.pcm_format.num_channels; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_channels` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/util/render_context.rs:281:13 [INFO] [stdout] | [INFO] [stdout] 275 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 281 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sc` [INFO] [stdout] --> src/inst2.rs:113:9 [INFO] [stdout] | [INFO] [stdout] 113 | let sc = SoundContext::new(None, vec![]); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_sc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `info` [INFO] [stdout] --> src/util/sound_context.rs:73:59 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn fill_samples_buffer(&mut self, buf: &mut[f32], info: &cpal::OutputCallbackInfo) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `rng` is never read [INFO] [stdout] --> src/inst2.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct Instrument { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 16 | rng: u32, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `squash` is never used [INFO] [stdout] --> src/reverb.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn squash(z: Vec2) -> Vec2 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Reverb` is never constructed [INFO] [stdout] --> src/reverb.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Reverb { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `tick` are never used [INFO] [stdout] --> src/reverb.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl Reverb { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 12 | pub fn new(w: Vec2) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn tick(&mut self, z: Vec2, harm: f32) -> Vec2 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/util/render_context.rs:281:13 [INFO] [stdout] | [INFO] [stdout] 275 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 281 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ReverbChain` is never constructed [INFO] [stdout] --> src/reverb.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct ReverbChain { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `tick` are never used [INFO] [stdout] --> src/reverb.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 38 | impl ReverbChain { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 39 | pub fn new(w: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn tick(&mut self, mut z: Vec2, harm: f32) -> Vec2 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PHI` is never used [INFO] [stdout] --> src/util/mod.rs:36:11 [INFO] [stdout] | [INFO] [stdout] 36 | pub const PHI: f32 = 1.618033988749894848204; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Lerp` is never used [INFO] [stdout] --> src/util/lerp.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait Lerp { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `ExpectWith` is never used [INFO] [stdout] --> src/util/option_utils.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait ExpectWith { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `UnwrapMut` is never used [INFO] [stdout] --> src/util/option_utils.rs:36:11 [INFO] [stdout] | [INFO] [stdout] 36 | pub trait UnwrapMut { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `UnwrapRef` is never used [INFO] [stdout] --> src/util/option_utils.rs:59:11 [INFO] [stdout] | [INFO] [stdout] 59 | pub trait UnwrapRef<'a, T> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenRef` is never constructed [INFO] [stdout] --> src/util/gen_ref.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct GenRef { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `deref`, `deref_mut`, `free`, and `change_arenas` are never used [INFO] [stdout] --> src/util/gen_ref.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl GenRef { [INFO] [stdout] | ------------------------ methods in this implementation [INFO] [stdout] 35 | pub fn deref<'a>(&self, arena: &'a GenArena) -> Option<&'a T> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn deref_mut<'a>(&self, arena: &'a mut GenArena) -> Option<&'a mut T> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn free<'a>(&self, arena: &'a mut GenArena) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn change_arenas(&mut self, from: &GenArena, to: &mut GenArena) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenBucket` is never constructed [INFO] [stdout] --> src/util/gen_ref.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 59 | pub struct GenBucket { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/util/gen_ref.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 65 | impl GenBucket { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] 66 | fn new(item: T) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sample_rate` [INFO] [stdout] --> src/util/sound_context.rs:140:13 [INFO] [stdout] | [INFO] [stdout] 140 | let sample_rate = config.sample_rate().0; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample_rate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenArena` is never constructed [INFO] [stdout] --> src/util/gen_ref.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 75 | pub struct GenArena { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/util/gen_ref.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 79 | impl GenArena { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 80 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn borrow<'a>(&'a self, gen_ref: &GenRef) -> Option<&'a T> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn borrow_mut<'a>(&'a mut self, gen_ref: &GenRef) -> Option<&'a mut T> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn borrow_2<'a>( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | pub fn borrow_2_mut<'a>( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn borrow_many<'a>(&'a self, gen_refs: &'a [GenRef]) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | pub fn borrow_many_mut<'a>(&'a mut self, gen_refs: &'a [GenRef]) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | pub fn free(&mut self, gen_ref: &GenRef) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | pub fn alloc(&mut self, item: T) -> GenRef { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_bytes`, `get`, `set_square`, `circle`, and `save` are never used [INFO] [stdout] --> src/util/image.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl ImageBuffer { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn from_bytes(png_bytes: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn get(&self, x: usize, y: usize) -> Vec4 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn set_square(&mut self, x: usize, y: usize, r: usize, colour: Vec4) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn circle(&mut self, x: usize, y: usize, r: usize, rr: usize, colour: Vec4) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn save(&self, path: &Path) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `my_read_dir` is never used [INFO] [stdout] --> src/util/file_utils.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn my_read_dir(path: &Path) -> std::io::Result> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MyDirEntry` is never constructed [INFO] [stdout] --> src/util/file_utils.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 62 | pub struct MyDirEntry { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `KHash` is never used [INFO] [stdout] --> src/util/rng.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub trait KHash { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lanczos_interp` is never used [INFO] [stdout] --> src/util/signal.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn lanczos_interp(s: &[f32], r: f32, a: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lanczos_kernel` is never used [INFO] [stdout] --> src/util/signal.rs:29:4 [INFO] [stdout] | [INFO] [stdout] 29 | fn lanczos_kernel(x: f32, a: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Wav` is never used [INFO] [stdout] --> src/util/signal.rs:41:11 [INFO] [stdout] | [INFO] [stdout] 41 | pub trait Wav { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_wav` is never used [INFO] [stdout] --> src/util/sound_context.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn load_wav(path: &Path) -> Option<(u32, Vec)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `music` is never read [INFO] [stdout] --> src/util/sound_context.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct PlayCommand { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 36 | pub music: bool, // currently ignored [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PlayCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `n` is never read [INFO] [stdout] --> src/util/sound_context.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 55 | struct AudioThread { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 60 | n: i64, [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `prod` and `stream` are never read [INFO] [stdout] --> src/util/sound_context.rs:125:5 [INFO] [stdout] | [INFO] [stdout] 124 | pub struct SoundContext { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 125 | prod: Producer, [INFO] [stdout] | ^^^^ [INFO] [stdout] 126 | prod_samp: Producer, [INFO] [stdout] 127 | stream: cpal::Stream, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `play` is never used [INFO] [stdout] --> src/util/sound_context.rs:167:12 [INFO] [stdout] | [INFO] [stdout] 130 | impl SoundContext { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 167 | pub fn play(&mut self, com: PlayCommand) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_folder` is never used [INFO] [stdout] --> src/util/sound_context.rs:178:8 [INFO] [stdout] | [INFO] [stdout] 178 | pub fn load_folder(path: &Path) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RenderCommand` is never constructed [INFO] [stdout] --> src/util/render_context.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct RenderCommand { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_channels` [INFO] [stdout] --> src/util/sound_context.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | let num_channels = wave_reader.pcm_format.num_channels; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_channels` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `draw_albedo` is never used [INFO] [stdout] --> src/util/render_context.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl RenderCommand { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] 27 | pub fn draw_albedo(&self, buf: &mut VertexBufCPU, render_context: &RenderContext) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_text` is never used [INFO] [stdout] --> src/util/render_context.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn render_text(buf: &mut Vec, s: String, mut base: RenderCommand) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `info` [INFO] [stdout] --> src/util/sound_context.rs:73:59 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn fill_samples_buffer(&mut self, buf: &mut[f32], info: &cpal::OutputCallbackInfo) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `xy` and `wh` are never read [INFO] [stdout] --> src/util/render_context.rs:130:9 [INFO] [stdout] | [INFO] [stdout] 129 | pub struct SpriteHandle { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 130 | pub xy: IVec2, [INFO] [stdout] | ^^ [INFO] [stdout] 131 | pub wh: IVec2, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `SpriteHandle` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/util/render_context.rs:171:9 [INFO] [stdout] | [INFO] [stdout] 170 | pub struct RenderContext { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 171 | pub gl: GLContext, [INFO] [stdout] | ^^ [INFO] [stdout] 172 | pub program_albedo: NativeProgram, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 173 | pub vao: VertexArray, [INFO] [stdout] | ^^^ [INFO] [stdout] 174 | pub vbo: Buffer, [INFO] [stdout] | ^^^ [INFO] [stdout] 175 | pub ebo: Buffer, [INFO] [stdout] | ^^^ [INFO] [stdout] 176 | pub texture: GPUTexture, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 177 | pub resource_handles: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `frame` and `resize` are never used [INFO] [stdout] --> src/util/render_context.rs:274:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl RenderContext { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 274 | pub fn frame(&mut self, render_list: &Vec) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 303 | pub fn resize(&mut self, wh: IVec2) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Vertex` is never constructed [INFO] [stdout] --> src/util/render_context.rs:313:12 [INFO] [stdout] | [INFO] [stdout] 313 | pub struct Vertex { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VertexBufCPU` is never constructed [INFO] [stdout] --> src/util/render_context.rs:322:12 [INFO] [stdout] | [INFO] [stdout] 322 | pub struct VertexBufCPU { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `extend` is never used [INFO] [stdout] --> src/util/render_context.rs:328:12 [INFO] [stdout] | [INFO] [stdout] 327 | impl VertexBufCPU { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 328 | pub fn extend(&mut self, verts: impl Iterator, inds: impl Iterator) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `scroll` is never read [INFO] [stdout] --> src/util/context.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct Input { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] ... [INFO] [stdout] 26 | pub scroll: i32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Input` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sample_rate` [INFO] [stdout] --> src/util/sound_context.rs:140:13 [INFO] [stdout] | [INFO] [stdout] 140 | let sample_rate = config.sample_rate().0; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample_rate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/fm.rs:80:13 [INFO] [stdout] | [INFO] [stdout] 80 | let mut x = 1.0; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Lerp` is never used [INFO] [stdout] --> src/util/lerp.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait Lerp { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `vec4` is never used [INFO] [stdout] --> src/util/vec4.rs:13:14 [INFO] [stdout] | [INFO] [stdout] 13 | pub const fn vec4(x: f32, y: f32, z: f32, w: f32) -> Vec4 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `AsVec2` is never used [INFO] [stdout] --> src/util/ivec2.rs:14:11 [INFO] [stdout] | [INFO] [stdout] 14 | pub trait AsVec2 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `ExpectWith` is never used [INFO] [stdout] --> src/util/option_utils.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait ExpectWith { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `UnwrapMut` is never used [INFO] [stdout] --> src/util/option_utils.rs:36:11 [INFO] [stdout] | [INFO] [stdout] 36 | pub trait UnwrapMut { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `UnwrapRef` is never used [INFO] [stdout] --> src/util/option_utils.rs:59:11 [INFO] [stdout] | [INFO] [stdout] 59 | pub trait UnwrapRef<'a, T> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenRef` is never constructed [INFO] [stdout] --> src/util/gen_ref.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct GenRef { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `deref`, `deref_mut`, `free`, and `change_arenas` are never used [INFO] [stdout] --> src/util/gen_ref.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl GenRef { [INFO] [stdout] | ------------------------ methods in this implementation [INFO] [stdout] 35 | pub fn deref<'a>(&self, arena: &'a GenArena) -> Option<&'a T> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn deref_mut<'a>(&self, arena: &'a mut GenArena) -> Option<&'a mut T> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn free<'a>(&self, arena: &'a mut GenArena) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn change_arenas(&mut self, from: &GenArena, to: &mut GenArena) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenBucket` is never constructed [INFO] [stdout] --> src/util/gen_ref.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 59 | pub struct GenBucket { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/util/gen_ref.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 65 | impl GenBucket { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] 66 | fn new(item: T) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenArena` is never constructed [INFO] [stdout] --> src/util/gen_ref.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 75 | pub struct GenArena { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/util/gen_ref.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 79 | impl GenArena { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 80 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn borrow<'a>(&'a self, gen_ref: &GenRef) -> Option<&'a T> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn borrow_mut<'a>(&'a mut self, gen_ref: &GenRef) -> Option<&'a mut T> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn borrow_2<'a>( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | pub fn borrow_2_mut<'a>( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn borrow_many<'a>(&'a self, gen_refs: &'a [GenRef]) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | pub fn borrow_many_mut<'a>(&'a mut self, gen_refs: &'a [GenRef]) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | pub fn free(&mut self, gen_ref: &GenRef) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | pub fn alloc(&mut self, item: T) -> GenRef { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ImageBuffer` is never constructed [INFO] [stdout] --> src/util/image.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct ImageBuffer { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/util/image.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl ImageBuffer { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 17 | pub fn new(wh: IVec2) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn from_bytes(png_bytes: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn get(&self, x: usize, y: usize) -> Vec4 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn set(&mut self, x: usize, y: usize, colour: Vec4) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn fill(&mut self, colour: Vec4) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn set_square(&mut self, x: usize, y: usize, r: usize, colour: Vec4) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn circle(&mut self, x: usize, y: usize, r: usize, rr: usize, colour: Vec4) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn save(&self, path: &Path) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `my_read_dir` is never used [INFO] [stdout] --> src/util/file_utils.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn my_read_dir(path: &Path) -> std::io::Result> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MyDirEntry` is never constructed [INFO] [stdout] --> src/util/file_utils.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 62 | pub struct MyDirEntry { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `random_seed` is never used [INFO] [stdout] --> src/util/rng.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn random_seed() -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `KHash` is never used [INFO] [stdout] --> src/util/rng.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub trait KHash { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lanczos_interp` is never used [INFO] [stdout] --> src/util/signal.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn lanczos_interp(s: &[f32], r: f32, a: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lanczos_kernel` is never used [INFO] [stdout] --> src/util/signal.rs:29:4 [INFO] [stdout] | [INFO] [stdout] 29 | fn lanczos_kernel(x: f32, a: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `load` is never used [INFO] [stdout] --> src/util/signal.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 41 | pub trait Wav { [INFO] [stdout] | --- associated function in this trait [INFO] [stdout] 42 | fn load(path: &str) -> (u32, Self); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_wav` is never used [INFO] [stdout] --> src/util/sound_context.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn load_wav(path: &Path) -> Option<(u32, Vec)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PlayCommand` is never constructed [INFO] [stdout] --> src/util/sound_context.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct PlayCommand { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PlaybackContext` is never constructed [INFO] [stdout] --> src/util/sound_context.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 50 | pub struct PlaybackContext { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AudioThread` is never constructed [INFO] [stdout] --> src/util/sound_context.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | struct AudioThread { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `fill_samples_buffer`, `tick_mix`, and `mix` are never used [INFO] [stdout] --> src/util/sound_context.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 62 | impl AudioThread { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 63 | pub fn new(sounds: Vec>, cons: Consumer, cons_samp: Consumer) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn fill_samples_buffer(&mut self, buf: &mut[f32], info: &cpal::OutputCallbackInfo) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn tick_mix(&mut self) -> f32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn mix(&mut self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SoundContext` is never constructed [INFO] [stdout] --> src/util/sound_context.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 124 | pub struct SoundContext { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `play`, and `send_samples` are never used [INFO] [stdout] --> src/util/sound_context.rs:131:12 [INFO] [stdout] | [INFO] [stdout] 130 | impl SoundContext { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 131 | pub fn new(device: Option, sounds: Vec>) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | pub fn play(&mut self, com: PlayCommand) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | pub fn send_samples(&mut self, samples: impl Iterator) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_folder` is never used [INFO] [stdout] --> src/util/sound_context.rs:178:8 [INFO] [stdout] | [INFO] [stdout] 178 | pub fn load_folder(path: &Path) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RenderCommand` is never constructed [INFO] [stdout] --> src/util/render_context.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct RenderCommand { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `draw_albedo` is never used [INFO] [stdout] --> src/util/render_context.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl RenderCommand { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] 27 | pub fn draw_albedo(&self, buf: &mut VertexBufCPU, render_context: &RenderContext) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_text` is never used [INFO] [stdout] --> src/util/render_context.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn render_text(buf: &mut Vec, s: String, mut base: RenderCommand) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SpriteHandle` is never constructed [INFO] [stdout] --> src/util/render_context.rs:129:12 [INFO] [stdout] | [INFO] [stdout] 129 | pub struct SpriteHandle { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ATLAS_WH` is never used [INFO] [stdout] --> src/util/render_context.rs:134:11 [INFO] [stdout] | [INFO] [stdout] 134 | pub const ATLAS_WH: IVec2 = ivec2(1024, 1024); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FRAG_ALBEDO` is never used [INFO] [stdout] --> src/util/render_context.rs:135:11 [INFO] [stdout] | [INFO] [stdout] 135 | pub const FRAG_ALBEDO: &str = r#"#version 330 core [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VERT_ALBEDO` is never used [INFO] [stdout] --> src/util/render_context.rs:148:11 [INFO] [stdout] | [INFO] [stdout] 148 | pub const VERT_ALBEDO: &str = r#"#version 330 core [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RenderContext` is never constructed [INFO] [stdout] --> src/util/render_context.rs:170:12 [INFO] [stdout] | [INFO] [stdout] 170 | pub struct RenderContext { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `frame`, and `resize` are never used [INFO] [stdout] --> src/util/render_context.rs:182:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl RenderContext { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 182 | pub fn new(gl: GLContext) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 274 | pub fn frame(&mut self, render_list: &Vec) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 303 | pub fn resize(&mut self, wh: IVec2) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Vertex` is never constructed [INFO] [stdout] --> src/util/render_context.rs:313:12 [INFO] [stdout] | [INFO] [stdout] 313 | pub struct Vertex { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VertexBufCPU` is never constructed [INFO] [stdout] --> src/util/render_context.rs:322:12 [INFO] [stdout] | [INFO] [stdout] 322 | pub struct VertexBufCPU { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `extend` is never used [INFO] [stdout] --> src/util/render_context.rs:328:12 [INFO] [stdout] | [INFO] [stdout] 327 | impl VertexBufCPU { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 328 | pub fn extend(&mut self, verts: impl Iterator, inds: impl Iterator) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INTERNAL_WH` is never used [INFO] [stdout] --> src/util/context.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | pub const INTERNAL_WH: IVec2 = ivec2(640, 360); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Input` is never constructed [INFO] [stdout] --> src/util/context.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct Input { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `reset_for_frame` is never used [INFO] [stdout] --> src/util/context.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl Input { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 32 | pub fn reset_for_frame(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Context` is never constructed [INFO] [stdout] --> src/util/context.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 40 | pub struct Context { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `App` is never used [INFO] [stdout] --> src/util/context.rs:47:11 [INFO] [stdout] | [INFO] [stdout] 47 | pub trait App { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_gl`, and `run` are never used [INFO] [stdout] --> src/util/context.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 51 | impl Context { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 52 | pub fn new(name: &'static str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn get_gl(&self) -> glow::Context { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn run(mut self, mut t: T) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/util/file_utils.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | dir_traverse(Path::new("data"), &mut |p| println!("{:?}", p)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 21 | let _ = dir_traverse(Path::new("data"), &mut |p| println!("{:?}", p)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/util/sound_context.rs:173:13 [INFO] [stdout] | [INFO] [stdout] 173 | self.prod_samp.push(sample); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 173 | let _ = self.prod_samp.push(sample); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sample_rate` [INFO] [stdout] --> src/util/signal.rs:96:10 [INFO] [stdout] | [INFO] [stdout] 96 | let (sample_rate, samples2) = samples2.unwrap(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample_rate` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_channels` [INFO] [stdout] --> src/util/sound_context.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | let num_channels = wave_reader.pcm_format.num_channels; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_channels` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `info` [INFO] [stdout] --> src/util/sound_context.rs:73:59 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn fill_samples_buffer(&mut self, buf: &mut[f32], info: &cpal::OutputCallbackInfo) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/util/file_utils.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | dir_traverse(Path::new("data"), &mut |p| println!("{:?}", p)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 21 | let _ = dir_traverse(Path::new("data"), &mut |p| println!("{:?}", p)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/util/sound_context.rs:173:13 [INFO] [stdout] | [INFO] [stdout] 173 | self.prod_samp.push(sample); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 173 | let _ = self.prod_samp.push(sample); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/signal_chain.rs:73:13 [INFO] [stdout] | [INFO] [stdout] 73 | let mut z = z.cadd_pol(prev); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sample_rate` [INFO] [stdout] --> src/util/sound_context.rs:140:13 [INFO] [stdout] | [INFO] [stdout] 140 | let sample_rate = config.sample_rate().0; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample_rate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/util/render_context.rs:281:13 [INFO] [stdout] | [INFO] [stdout] 275 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 281 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_channels` [INFO] [stdout] --> src/util/sound_context.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | let num_channels = wave_reader.pcm_format.num_channels; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_channels` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `info` [INFO] [stdout] --> src/util/sound_context.rs:73:59 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn fill_samples_buffer(&mut self, buf: &mut[f32], info: &cpal::OutputCallbackInfo) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PHI` is never used [INFO] [stdout] --> src/util/mod.rs:36:11 [INFO] [stdout] | [INFO] [stdout] 36 | pub const PHI: f32 = 1.618033988749894848204; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `xc` [INFO] [stdout] --> src/main.rs:145:58 [INFO] [stdout] | [INFO] [stdout] 145 | pub fn series_exp_xc(file_name: &str, coeffs: Vec, xc: f32) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_xc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Lerp` is never used [INFO] [stdout] --> src/util/lerp.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait Lerp { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `vec4` is never used [INFO] [stdout] --> src/util/vec4.rs:13:14 [INFO] [stdout] | [INFO] [stdout] 13 | pub const fn vec4(x: f32, y: f32, z: f32, w: f32) -> Vec4 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sample_rate` [INFO] [stdout] --> src/util/sound_context.rs:140:13 [INFO] [stdout] | [INFO] [stdout] 140 | let sample_rate = config.sample_rate().0; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample_rate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `AsVec2` is never used [INFO] [stdout] --> src/util/ivec2.rs:14:11 [INFO] [stdout] | [INFO] [stdout] 14 | pub trait AsVec2 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `ExpectWith` is never used [INFO] [stdout] --> src/util/option_utils.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait ExpectWith { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `UnwrapMut` is never used [INFO] [stdout] --> src/util/option_utils.rs:36:11 [INFO] [stdout] | [INFO] [stdout] 36 | pub trait UnwrapMut { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `UnwrapRef` is never used [INFO] [stdout] --> src/util/option_utils.rs:59:11 [INFO] [stdout] | [INFO] [stdout] 59 | pub trait UnwrapRef<'a, T> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenRef` is never constructed [INFO] [stdout] --> src/util/gen_ref.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct GenRef { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `deref`, `deref_mut`, `free`, and `change_arenas` are never used [INFO] [stdout] --> src/util/gen_ref.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl GenRef { [INFO] [stdout] | ------------------------ methods in this implementation [INFO] [stdout] 35 | pub fn deref<'a>(&self, arena: &'a GenArena) -> Option<&'a T> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn deref_mut<'a>(&self, arena: &'a mut GenArena) -> Option<&'a mut T> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn free<'a>(&self, arena: &'a mut GenArena) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn change_arenas(&mut self, from: &GenArena, to: &mut GenArena) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenBucket` is never constructed [INFO] [stdout] --> src/util/gen_ref.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 59 | pub struct GenBucket { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/util/gen_ref.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 65 | impl GenBucket { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] 66 | fn new(item: T) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenArena` is never constructed [INFO] [stdout] --> src/util/gen_ref.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 75 | pub struct GenArena { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/util/gen_ref.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 79 | impl GenArena { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 80 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn borrow<'a>(&'a self, gen_ref: &GenRef) -> Option<&'a T> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn borrow_mut<'a>(&'a mut self, gen_ref: &GenRef) -> Option<&'a mut T> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn borrow_2<'a>( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | pub fn borrow_2_mut<'a>( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn borrow_many<'a>(&'a self, gen_refs: &'a [GenRef]) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | pub fn borrow_many_mut<'a>(&'a mut self, gen_refs: &'a [GenRef]) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | pub fn free(&mut self, gen_ref: &GenRef) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | pub fn alloc(&mut self, item: T) -> GenRef { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ImageBuffer` is never constructed [INFO] [stdout] --> src/util/image.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct ImageBuffer { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Lerp` is never used [INFO] [stdout] --> src/util/lerp.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait Lerp { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `vec4` is never used [INFO] [stdout] --> src/util/vec4.rs:13:14 [INFO] [stdout] | [INFO] [stdout] 13 | pub const fn vec4(x: f32, y: f32, z: f32, w: f32) -> Vec4 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `AsVec2` is never used [INFO] [stdout] --> src/util/ivec2.rs:14:11 [INFO] [stdout] | [INFO] [stdout] 14 | pub trait AsVec2 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `ExpectWith` is never used [INFO] [stdout] --> src/util/option_utils.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait ExpectWith { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `UnwrapMut` is never used [INFO] [stdout] --> src/util/option_utils.rs:36:11 [INFO] [stdout] | [INFO] [stdout] 36 | pub trait UnwrapMut { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `UnwrapRef` is never used [INFO] [stdout] --> src/util/option_utils.rs:59:11 [INFO] [stdout] | [INFO] [stdout] 59 | pub trait UnwrapRef<'a, T> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenRef` is never constructed [INFO] [stdout] --> src/util/gen_ref.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct GenRef { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `deref`, `deref_mut`, `free`, and `change_arenas` are never used [INFO] [stdout] --> src/util/gen_ref.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl GenRef { [INFO] [stdout] | ------------------------ methods in this implementation [INFO] [stdout] 35 | pub fn deref<'a>(&self, arena: &'a GenArena) -> Option<&'a T> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn deref_mut<'a>(&self, arena: &'a mut GenArena) -> Option<&'a mut T> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn free<'a>(&self, arena: &'a mut GenArena) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn change_arenas(&mut self, from: &GenArena, to: &mut GenArena) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenBucket` is never constructed [INFO] [stdout] --> src/util/gen_ref.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 59 | pub struct GenBucket { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/util/gen_ref.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 65 | impl GenBucket { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] 66 | fn new(item: T) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenArena` is never constructed [INFO] [stdout] --> src/util/gen_ref.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 75 | pub struct GenArena { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/util/gen_ref.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 79 | impl GenArena { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 80 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn borrow<'a>(&'a self, gen_ref: &GenRef) -> Option<&'a T> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn borrow_mut<'a>(&'a mut self, gen_ref: &GenRef) -> Option<&'a mut T> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn borrow_2<'a>( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | pub fn borrow_2_mut<'a>( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn borrow_many<'a>(&'a self, gen_refs: &'a [GenRef]) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | pub fn borrow_many_mut<'a>(&'a mut self, gen_refs: &'a [GenRef]) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | pub fn free(&mut self, gen_ref: &GenRef) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | pub fn alloc(&mut self, item: T) -> GenRef { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ImageBuffer` is never constructed [INFO] [stdout] --> src/util/image.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct ImageBuffer { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/util/image.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl ImageBuffer { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 17 | pub fn new(wh: IVec2) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn from_bytes(png_bytes: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn get(&self, x: usize, y: usize) -> Vec4 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn set(&mut self, x: usize, y: usize, colour: Vec4) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn fill(&mut self, colour: Vec4) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn set_square(&mut self, x: usize, y: usize, r: usize, colour: Vec4) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn circle(&mut self, x: usize, y: usize, r: usize, rr: usize, colour: Vec4) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn save(&self, path: &Path) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `my_read_dir` is never used [INFO] [stdout] --> src/util/file_utils.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn my_read_dir(path: &Path) -> std::io::Result> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MyDirEntry` is never constructed [INFO] [stdout] --> src/util/file_utils.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 62 | pub struct MyDirEntry { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `random_seed` is never used [INFO] [stdout] --> src/util/rng.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn random_seed() -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `KHash` is never used [INFO] [stdout] --> src/util/rng.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub trait KHash { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lanczos_interp` is never used [INFO] [stdout] --> src/util/signal.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn lanczos_interp(s: &[f32], r: f32, a: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lanczos_kernel` is never used [INFO] [stdout] --> src/util/signal.rs:29:4 [INFO] [stdout] | [INFO] [stdout] 29 | fn lanczos_kernel(x: f32, a: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `load` is never used [INFO] [stdout] --> src/util/signal.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 41 | pub trait Wav { [INFO] [stdout] | --- associated function in this trait [INFO] [stdout] 42 | fn load(path: &str) -> (u32, Self); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_wav` is never used [INFO] [stdout] --> src/util/sound_context.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn load_wav(path: &Path) -> Option<(u32, Vec)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_channels` [INFO] [stdout] --> src/util/sound_context.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | let num_channels = wave_reader.pcm_format.num_channels; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_channels` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PlayCommand` is never constructed [INFO] [stdout] --> src/util/sound_context.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct PlayCommand { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PlaybackContext` is never constructed [INFO] [stdout] --> src/util/sound_context.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 50 | pub struct PlaybackContext { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AudioThread` is never constructed [INFO] [stdout] --> src/util/sound_context.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | struct AudioThread { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `fill_samples_buffer`, `tick_mix`, and `mix` are never used [INFO] [stdout] --> src/util/sound_context.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 62 | impl AudioThread { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 63 | pub fn new(sounds: Vec>, cons: Consumer, cons_samp: Consumer) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn fill_samples_buffer(&mut self, buf: &mut[f32], info: &cpal::OutputCallbackInfo) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn tick_mix(&mut self) -> f32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn mix(&mut self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SoundContext` is never constructed [INFO] [stdout] --> src/util/sound_context.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 124 | pub struct SoundContext { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/util/image.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl ImageBuffer { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 17 | pub fn new(wh: IVec2) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn from_bytes(png_bytes: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn get(&self, x: usize, y: usize) -> Vec4 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn set(&mut self, x: usize, y: usize, colour: Vec4) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn fill(&mut self, colour: Vec4) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn set_square(&mut self, x: usize, y: usize, r: usize, colour: Vec4) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn circle(&mut self, x: usize, y: usize, r: usize, rr: usize, colour: Vec4) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn save(&self, path: &Path) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `play`, and `send_samples` are never used [INFO] [stdout] --> src/util/sound_context.rs:131:12 [INFO] [stdout] | [INFO] [stdout] 130 | impl SoundContext { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 131 | pub fn new(device: Option, sounds: Vec>) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | pub fn play(&mut self, com: PlayCommand) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | pub fn send_samples(&mut self, samples: impl Iterator) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_folder` is never used [INFO] [stdout] --> src/util/sound_context.rs:178:8 [INFO] [stdout] | [INFO] [stdout] 178 | pub fn load_folder(path: &Path) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `my_read_dir` is never used [INFO] [stdout] --> src/util/file_utils.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn my_read_dir(path: &Path) -> std::io::Result> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MyDirEntry` is never constructed [INFO] [stdout] --> src/util/file_utils.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 62 | pub struct MyDirEntry { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `random_seed` is never used [INFO] [stdout] --> src/util/rng.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn random_seed() -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `KHash` is never used [INFO] [stdout] --> src/util/rng.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub trait KHash { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lanczos_interp` is never used [INFO] [stdout] --> src/util/signal.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn lanczos_interp(s: &[f32], r: f32, a: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lanczos_kernel` is never used [INFO] [stdout] --> src/util/signal.rs:29:4 [INFO] [stdout] | [INFO] [stdout] 29 | fn lanczos_kernel(x: f32, a: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `load` is never used [INFO] [stdout] --> src/util/signal.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 41 | pub trait Wav { [INFO] [stdout] | --- associated function in this trait [INFO] [stdout] 42 | fn load(path: &str) -> (u32, Self); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_wav` is never used [INFO] [stdout] --> src/util/sound_context.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn load_wav(path: &Path) -> Option<(u32, Vec)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PlayCommand` is never constructed [INFO] [stdout] --> src/util/sound_context.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct PlayCommand { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PlaybackContext` is never constructed [INFO] [stdout] --> src/util/sound_context.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 50 | pub struct PlaybackContext { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AudioThread` is never constructed [INFO] [stdout] --> src/util/sound_context.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | struct AudioThread { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `fill_samples_buffer`, `tick_mix`, and `mix` are never used [INFO] [stdout] --> src/util/sound_context.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 62 | impl AudioThread { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 63 | pub fn new(sounds: Vec>, cons: Consumer, cons_samp: Consumer) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn fill_samples_buffer(&mut self, buf: &mut[f32], info: &cpal::OutputCallbackInfo) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn tick_mix(&mut self) -> f32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn mix(&mut self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SoundContext` is never constructed [INFO] [stdout] --> src/util/sound_context.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 124 | pub struct SoundContext { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `play`, and `send_samples` are never used [INFO] [stdout] --> src/util/sound_context.rs:131:12 [INFO] [stdout] | [INFO] [stdout] 130 | impl SoundContext { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 131 | pub fn new(device: Option, sounds: Vec>) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | pub fn play(&mut self, com: PlayCommand) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | pub fn send_samples(&mut self, samples: impl Iterator) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_folder` is never used [INFO] [stdout] --> src/util/sound_context.rs:178:8 [INFO] [stdout] | [INFO] [stdout] 178 | pub fn load_folder(path: &Path) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RenderCommand` is never constructed [INFO] [stdout] --> src/util/render_context.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct RenderCommand { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `draw_albedo` is never used [INFO] [stdout] --> src/util/render_context.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl RenderCommand { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] 27 | pub fn draw_albedo(&self, buf: &mut VertexBufCPU, render_context: &RenderContext) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_text` is never used [INFO] [stdout] --> src/util/render_context.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn render_text(buf: &mut Vec, s: String, mut base: RenderCommand) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SpriteHandle` is never constructed [INFO] [stdout] --> src/util/render_context.rs:129:12 [INFO] [stdout] | [INFO] [stdout] 129 | pub struct SpriteHandle { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ATLAS_WH` is never used [INFO] [stdout] --> src/util/render_context.rs:134:11 [INFO] [stdout] | [INFO] [stdout] 134 | pub const ATLAS_WH: IVec2 = ivec2(1024, 1024); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FRAG_ALBEDO` is never used [INFO] [stdout] --> src/util/render_context.rs:135:11 [INFO] [stdout] | [INFO] [stdout] 135 | pub const FRAG_ALBEDO: &str = r#"#version 330 core [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VERT_ALBEDO` is never used [INFO] [stdout] --> src/util/render_context.rs:148:11 [INFO] [stdout] | [INFO] [stdout] 148 | pub const VERT_ALBEDO: &str = r#"#version 330 core [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RenderContext` is never constructed [INFO] [stdout] --> src/util/render_context.rs:170:12 [INFO] [stdout] | [INFO] [stdout] 170 | pub struct RenderContext { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `frame`, and `resize` are never used [INFO] [stdout] --> src/util/render_context.rs:182:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl RenderContext { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 182 | pub fn new(gl: GLContext) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 274 | pub fn frame(&mut self, render_list: &Vec) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 303 | pub fn resize(&mut self, wh: IVec2) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Vertex` is never constructed [INFO] [stdout] --> src/util/render_context.rs:313:12 [INFO] [stdout] | [INFO] [stdout] 313 | pub struct Vertex { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VertexBufCPU` is never constructed [INFO] [stdout] --> src/util/render_context.rs:322:12 [INFO] [stdout] | [INFO] [stdout] 322 | pub struct VertexBufCPU { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `extend` is never used [INFO] [stdout] --> src/util/render_context.rs:328:12 [INFO] [stdout] | [INFO] [stdout] 327 | impl VertexBufCPU { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 328 | pub fn extend(&mut self, verts: impl Iterator, inds: impl Iterator) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INTERNAL_WH` is never used [INFO] [stdout] --> src/util/context.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | pub const INTERNAL_WH: IVec2 = ivec2(640, 360); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Input` is never constructed [INFO] [stdout] --> src/util/context.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct Input { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `reset_for_frame` is never used [INFO] [stdout] --> src/util/context.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl Input { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 32 | pub fn reset_for_frame(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Context` is never constructed [INFO] [stdout] --> src/util/context.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 40 | pub struct Context { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `App` is never used [INFO] [stdout] --> src/util/context.rs:47:11 [INFO] [stdout] | [INFO] [stdout] 47 | pub trait App { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_gl`, and `run` are never used [INFO] [stdout] --> src/util/context.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 51 | impl Context { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 52 | pub fn new(name: &'static str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn get_gl(&self) -> glow::Context { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn run(mut self, mut t: T) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Parallel` is never constructed [INFO] [stdout] --> src/signal_chain.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct Parallel { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/signal_chain.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 39 | impl Parallel { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 40 | pub fn new(elems: Vec>) -> Box { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Feedback` is never constructed [INFO] [stdout] --> src/signal_chain.rs:44:12 [INFO] [stdout] | [INFO] [stdout] 44 | pub struct Feedback { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/signal_chain.rs:56:12 [INFO] [stdout] | [INFO] [stdout] 55 | impl Feedback { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 56 | pub fn new(elem: Box, w: Vec2) -> Box { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RenderCommand` is never constructed [INFO] [stdout] --> src/util/render_context.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct RenderCommand { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `draw_albedo` is never used [INFO] [stdout] --> src/util/render_context.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl RenderCommand { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] 27 | pub fn draw_albedo(&self, buf: &mut VertexBufCPU, render_context: &RenderContext) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_text` is never used [INFO] [stdout] --> src/util/render_context.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn render_text(buf: &mut Vec, s: String, mut base: RenderCommand) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SpriteHandle` is never constructed [INFO] [stdout] --> src/util/render_context.rs:129:12 [INFO] [stdout] | [INFO] [stdout] 129 | pub struct SpriteHandle { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ATLAS_WH` is never used [INFO] [stdout] --> src/util/render_context.rs:134:11 [INFO] [stdout] | [INFO] [stdout] 134 | pub const ATLAS_WH: IVec2 = ivec2(1024, 1024); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FRAG_ALBEDO` is never used [INFO] [stdout] --> src/util/render_context.rs:135:11 [INFO] [stdout] | [INFO] [stdout] 135 | pub const FRAG_ALBEDO: &str = r#"#version 330 core [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VERT_ALBEDO` is never used [INFO] [stdout] --> src/util/render_context.rs:148:11 [INFO] [stdout] | [INFO] [stdout] 148 | pub const VERT_ALBEDO: &str = r#"#version 330 core [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RenderContext` is never constructed [INFO] [stdout] --> src/util/render_context.rs:170:12 [INFO] [stdout] | [INFO] [stdout] 170 | pub struct RenderContext { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `frame`, and `resize` are never used [INFO] [stdout] --> src/util/render_context.rs:182:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl RenderContext { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 182 | pub fn new(gl: GLContext) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 274 | pub fn frame(&mut self, render_list: &Vec) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 303 | pub fn resize(&mut self, wh: IVec2) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Vertex` is never constructed [INFO] [stdout] --> src/util/render_context.rs:313:12 [INFO] [stdout] | [INFO] [stdout] 313 | pub struct Vertex { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VertexBufCPU` is never constructed [INFO] [stdout] --> src/util/render_context.rs:322:12 [INFO] [stdout] | [INFO] [stdout] 322 | pub struct VertexBufCPU { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `extend` is never used [INFO] [stdout] --> src/util/render_context.rs:328:12 [INFO] [stdout] | [INFO] [stdout] 327 | impl VertexBufCPU { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 328 | pub fn extend(&mut self, verts: impl Iterator, inds: impl Iterator) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INTERNAL_WH` is never used [INFO] [stdout] --> src/util/context.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | pub const INTERNAL_WH: IVec2 = ivec2(640, 360); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Input` is never constructed [INFO] [stdout] --> src/util/context.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct Input { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `reset_for_frame` is never used [INFO] [stdout] --> src/util/context.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl Input { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 32 | pub fn reset_for_frame(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Context` is never constructed [INFO] [stdout] --> src/util/context.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 40 | pub struct Context { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `App` is never used [INFO] [stdout] --> src/util/context.rs:47:11 [INFO] [stdout] | [INFO] [stdout] 47 | pub trait App { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_gl`, and `run` are never used [INFO] [stdout] --> src/util/context.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 51 | impl Context { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 52 | pub fn new(name: &'static str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn get_gl(&self) -> glow::Context { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn run(mut self, mut t: T) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/util/render_context.rs:281:13 [INFO] [stdout] | [INFO] [stdout] 275 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 281 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `info` [INFO] [stdout] --> src/util/sound_context.rs:73:59 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn fill_samples_buffer(&mut self, buf: &mut[f32], info: &cpal::OutputCallbackInfo) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/util/render_context.rs:281:13 [INFO] [stdout] | [INFO] [stdout] 275 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 281 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sample_rate` [INFO] [stdout] --> src/util/sound_context.rs:140:13 [INFO] [stdout] | [INFO] [stdout] 140 | let sample_rate = config.sample_rate().0; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample_rate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/util/file_utils.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | dir_traverse(Path::new("data"), &mut |p| println!("{:?}", p)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 21 | let _ = dir_traverse(Path::new("data"), &mut |p| println!("{:?}", p)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/util/sound_context.rs:173:13 [INFO] [stdout] | [INFO] [stdout] 173 | self.prod_samp.push(sample); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 173 | let _ = self.prod_samp.push(sample); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/util/file_utils.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | dir_traverse(Path::new("data"), &mut |p| println!("{:?}", p)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 21 | let _ = dir_traverse(Path::new("data"), &mut |p| println!("{:?}", p)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/util/sound_context.rs:173:13 [INFO] [stdout] | [INFO] [stdout] 173 | self.prod_samp.push(sample); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 173 | let _ = self.prod_samp.push(sample); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/util/render_context.rs:281:13 [INFO] [stdout] | [INFO] [stdout] 275 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 281 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sample_rate` [INFO] [stdout] --> src/util/signal.rs:96:10 [INFO] [stdout] | [INFO] [stdout] 96 | let (sample_rate, samples2) = samples2.unwrap(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample_rate` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_channels` [INFO] [stdout] --> src/util/sound_context.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | let num_channels = wave_reader.pcm_format.num_channels; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_channels` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> src/wg2.rs:14:30 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn new(damping: f32, c: f32, f: f32) -> Self { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_channels` [INFO] [stdout] --> src/util/sound_context.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | let num_channels = wave_reader.pcm_format.num_channels; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_channels` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `info` [INFO] [stdout] --> src/util/sound_context.rs:73:59 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn fill_samples_buffer(&mut self, buf: &mut[f32], info: &cpal::OutputCallbackInfo) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `info` [INFO] [stdout] --> src/util/sound_context.rs:73:59 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn fill_samples_buffer(&mut self, buf: &mut[f32], info: &cpal::OutputCallbackInfo) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sample_rate` [INFO] [stdout] --> src/util/sound_context.rs:140:13 [INFO] [stdout] | [INFO] [stdout] 140 | let sample_rate = config.sample_rate().0; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample_rate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `xc` [INFO] [stdout] --> src/main.rs:145:58 [INFO] [stdout] | [INFO] [stdout] 145 | pub fn series_exp_xc(file_name: &str, coeffs: Vec, xc: f32) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_xc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/util/render_context.rs:281:13 [INFO] [stdout] | [INFO] [stdout] 275 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 281 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_channels` [INFO] [stdout] --> src/util/sound_context.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | let num_channels = wave_reader.pcm_format.num_channels; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_channels` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sample_rate` [INFO] [stdout] --> src/util/sound_context.rs:140:13 [INFO] [stdout] | [INFO] [stdout] 140 | let sample_rate = config.sample_rate().0; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample_rate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `info` [INFO] [stdout] --> src/util/sound_context.rs:73:59 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn fill_samples_buffer(&mut self, buf: &mut[f32], info: &cpal::OutputCallbackInfo) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sample_rate` [INFO] [stdout] --> src/util/sound_context.rs:140:13 [INFO] [stdout] | [INFO] [stdout] 140 | let sample_rate = config.sample_rate().0; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample_rate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PHI` is never used [INFO] [stdout] --> src/util/mod.rs:36:11 [INFO] [stdout] | [INFO] [stdout] 36 | pub const PHI: f32 = 1.618033988749894848204; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Lerp` is never used [INFO] [stdout] --> src/util/lerp.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait Lerp { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `vec4` is never used [INFO] [stdout] --> src/util/vec4.rs:13:14 [INFO] [stdout] | [INFO] [stdout] 13 | pub const fn vec4(x: f32, y: f32, z: f32, w: f32) -> Vec4 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ivec2` is never used [INFO] [stdout] --> src/util/ivec2.rs:10:14 [INFO] [stdout] | [INFO] [stdout] 10 | pub const fn ivec2(x: i32, y: i32) -> IVec2 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `AsVec2` is never used [INFO] [stdout] --> src/util/ivec2.rs:14:11 [INFO] [stdout] | [INFO] [stdout] 14 | pub trait AsVec2 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `ExpectWith` is never used [INFO] [stdout] --> src/util/option_utils.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait ExpectWith { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `UnwrapMut` is never used [INFO] [stdout] --> src/util/option_utils.rs:36:11 [INFO] [stdout] | [INFO] [stdout] 36 | pub trait UnwrapMut { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `UnwrapRef` is never used [INFO] [stdout] --> src/util/option_utils.rs:59:11 [INFO] [stdout] | [INFO] [stdout] 59 | pub trait UnwrapRef<'a, T> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenRef` is never constructed [INFO] [stdout] --> src/util/gen_ref.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct GenRef { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `deref`, `deref_mut`, `free`, and `change_arenas` are never used [INFO] [stdout] --> src/util/gen_ref.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl GenRef { [INFO] [stdout] | ------------------------ methods in this implementation [INFO] [stdout] 35 | pub fn deref<'a>(&self, arena: &'a GenArena) -> Option<&'a T> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn deref_mut<'a>(&self, arena: &'a mut GenArena) -> Option<&'a mut T> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn free<'a>(&self, arena: &'a mut GenArena) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn change_arenas(&mut self, from: &GenArena, to: &mut GenArena) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenBucket` is never constructed [INFO] [stdout] --> src/util/gen_ref.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 59 | pub struct GenBucket { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/util/gen_ref.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 65 | impl GenBucket { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] 66 | fn new(item: T) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenArena` is never constructed [INFO] [stdout] --> src/util/gen_ref.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 75 | pub struct GenArena { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/util/gen_ref.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 79 | impl GenArena { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 80 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn borrow<'a>(&'a self, gen_ref: &GenRef) -> Option<&'a T> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn borrow_mut<'a>(&'a mut self, gen_ref: &GenRef) -> Option<&'a mut T> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn borrow_2<'a>( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | pub fn borrow_2_mut<'a>( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn borrow_many<'a>(&'a self, gen_refs: &'a [GenRef]) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | pub fn borrow_many_mut<'a>(&'a mut self, gen_refs: &'a [GenRef]) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | pub fn free(&mut self, gen_ref: &GenRef) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | pub fn alloc(&mut self, item: T) -> GenRef { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ImageBuffer` is never constructed [INFO] [stdout] --> src/util/image.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct ImageBuffer { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/util/image.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl ImageBuffer { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 17 | pub fn new(wh: IVec2) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn from_bytes(png_bytes: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn get(&self, x: usize, y: usize) -> Vec4 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn set(&mut self, x: usize, y: usize, colour: Vec4) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn fill(&mut self, colour: Vec4) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn set_square(&mut self, x: usize, y: usize, r: usize, colour: Vec4) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn circle(&mut self, x: usize, y: usize, r: usize, rr: usize, colour: Vec4) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn save(&self, path: &Path) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dir_traverse` is never used [INFO] [stdout] --> src/util/file_utils.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn dir_traverse(path: &Path, f: &mut impl FnMut(&Path)) -> Result<(), std::io::Error> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `my_read_dir` is never used [INFO] [stdout] --> src/util/file_utils.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn my_read_dir(path: &Path) -> std::io::Result> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MyDirEntry` is never constructed [INFO] [stdout] --> src/util/file_utils.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 62 | pub struct MyDirEntry { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `AsBytes` is never used [INFO] [stdout] --> src/util/texture.rs:2:11 [INFO] [stdout] | [INFO] [stdout] 2 | pub trait AsBytes { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Texture` is never constructed [INFO] [stdout] --> src/util/texture.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct Texture { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sc` [INFO] [stdout] --> src/inst.rs:139:9 [INFO] [stdout] | [INFO] [stdout] 139 | let sc = SoundContext::new(None, vec![]); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_sc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `fill`, `sample`, `sample_checked`, and `save` are never used [INFO] [stdout] --> src/util/texture.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl Texture { [INFO] [stdout] | ----------------------------------- associated items in this implementation [INFO] [stdout] 29 | pub fn new(wh: IVec2, initial: T) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn fill(&mut self, value: T) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn sample(&self, coord: IVec2) -> T { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn sample_checked(&self, coord: IVec2) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn save(&self, path: &std::path::Path, f: impl Fn(T)->[u8;4]) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Lerp` is never used [INFO] [stdout] --> src/util/lerp.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait Lerp { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Draw` is never used [INFO] [stdout] --> src/util/texture.rs:84:11 [INFO] [stdout] | [INFO] [stdout] 84 | pub trait Draw { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dist_fn` is never used [INFO] [stdout] --> src/util/distance_field_generation.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn dist_fn(p1: IVec2, p2: IVec2) -> f32 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `spread` is never used [INFO] [stdout] --> src/util/distance_field_generation.rs:10:4 [INFO] [stdout] | [INFO] [stdout] 10 | fn spread(distance: &mut Texture, nearest: &mut Texture, p1: IVec2, p2: IVec2) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sdf1` is never used [INFO] [stdout] --> src/util/distance_field_generation.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn sdf1(in_stencil: Texture) -> Texture { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `normalize` is never used [INFO] [stdout] --> src/util/distance_field_generation.rs:74:12 [INFO] [stdout] | [INFO] [stdout] 73 | impl Texture { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 74 | pub fn normalize(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `chance` is never used [INFO] [stdout] --> src/util/rng.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 7 | pub trait KHash { [INFO] [stdout] | ----- method in this trait [INFO] [stdout] ... [INFO] [stdout] 14 | fn chance(&mut self, percent: f32) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lanczos_interp` is never used [INFO] [stdout] --> src/util/signal.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn lanczos_interp(s: &[f32], r: f32, a: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lanczos_kernel` is never used [INFO] [stdout] --> src/util/signal.rs:29:4 [INFO] [stdout] | [INFO] [stdout] 29 | fn lanczos_kernel(x: f32, a: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `load` is never used [INFO] [stdout] --> src/util/signal.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 41 | pub trait Wav { [INFO] [stdout] | --- associated function in this trait [INFO] [stdout] 42 | fn load(path: &str) -> (u32, Self); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_wav` is never used [INFO] [stdout] --> src/util/signal.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn load_wav(path: &str) -> Option<(u32, Vec)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_wav` is never used [INFO] [stdout] --> src/util/sound_context.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn load_wav(path: &Path) -> Option<(u32, Vec)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PlayCommand` is never constructed [INFO] [stdout] --> src/util/sound_context.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct PlayCommand { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PlaybackContext` is never constructed [INFO] [stdout] --> src/util/sound_context.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 50 | pub struct PlaybackContext { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AudioThread` is never constructed [INFO] [stdout] --> src/util/sound_context.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | struct AudioThread { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `fill_samples_buffer`, `tick_mix`, and `mix` are never used [INFO] [stdout] --> src/util/sound_context.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 62 | impl AudioThread { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 63 | pub fn new(sounds: Vec>, cons: Consumer, cons_samp: Consumer) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn fill_samples_buffer(&mut self, buf: &mut[f32], info: &cpal::OutputCallbackInfo) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn tick_mix(&mut self) -> f32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn mix(&mut self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SoundContext` is never constructed [INFO] [stdout] --> src/util/sound_context.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 124 | pub struct SoundContext { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `play`, and `send_samples` are never used [INFO] [stdout] --> src/util/sound_context.rs:131:12 [INFO] [stdout] | [INFO] [stdout] 130 | impl SoundContext { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 131 | pub fn new(device: Option, sounds: Vec>) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | pub fn play(&mut self, com: PlayCommand) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | pub fn send_samples(&mut self, samples: impl Iterator) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_folder` is never used [INFO] [stdout] --> src/util/sound_context.rs:178:8 [INFO] [stdout] | [INFO] [stdout] 178 | pub fn load_folder(path: &Path) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RenderCommand` is never constructed [INFO] [stdout] --> src/util/render_context.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct RenderCommand { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `draw_albedo` is never used [INFO] [stdout] --> src/util/render_context.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl RenderCommand { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] 27 | pub fn draw_albedo(&self, buf: &mut VertexBufCPU, render_context: &RenderContext) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_text` is never used [INFO] [stdout] --> src/util/render_context.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn render_text(buf: &mut Vec, s: String, mut base: RenderCommand) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SpriteHandle` is never constructed [INFO] [stdout] --> src/util/render_context.rs:129:12 [INFO] [stdout] | [INFO] [stdout] 129 | pub struct SpriteHandle { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ATLAS_WH` is never used [INFO] [stdout] --> src/util/render_context.rs:134:11 [INFO] [stdout] | [INFO] [stdout] 134 | pub const ATLAS_WH: IVec2 = ivec2(1024, 1024); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FRAG_ALBEDO` is never used [INFO] [stdout] --> src/util/render_context.rs:135:11 [INFO] [stdout] | [INFO] [stdout] 135 | pub const FRAG_ALBEDO: &str = r#"#version 330 core [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VERT_ALBEDO` is never used [INFO] [stdout] --> src/util/render_context.rs:148:11 [INFO] [stdout] | [INFO] [stdout] 148 | pub const VERT_ALBEDO: &str = r#"#version 330 core [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RenderContext` is never constructed [INFO] [stdout] --> src/util/render_context.rs:170:12 [INFO] [stdout] | [INFO] [stdout] 170 | pub struct RenderContext { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `frame`, and `resize` are never used [INFO] [stdout] --> src/util/render_context.rs:182:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl RenderContext { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 182 | pub fn new(gl: GLContext) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 274 | pub fn frame(&mut self, render_list: &Vec) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 303 | pub fn resize(&mut self, wh: IVec2) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Vertex` is never constructed [INFO] [stdout] --> src/util/render_context.rs:313:12 [INFO] [stdout] | [INFO] [stdout] 313 | pub struct Vertex { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VertexBufCPU` is never constructed [INFO] [stdout] --> src/util/render_context.rs:322:12 [INFO] [stdout] | [INFO] [stdout] 322 | pub struct VertexBufCPU { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `extend` is never used [INFO] [stdout] --> src/util/render_context.rs:328:12 [INFO] [stdout] | [INFO] [stdout] 327 | impl VertexBufCPU { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 328 | pub fn extend(&mut self, verts: impl Iterator, inds: impl Iterator) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INTERNAL_WH` is never used [INFO] [stdout] --> src/util/context.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | pub const INTERNAL_WH: IVec2 = ivec2(640, 360); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Input` is never constructed [INFO] [stdout] --> src/util/context.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct Input { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `reset_for_frame` is never used [INFO] [stdout] --> src/util/context.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl Input { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 32 | pub fn reset_for_frame(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Context` is never constructed [INFO] [stdout] --> src/util/context.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 40 | pub struct Context { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `App` is never used [INFO] [stdout] --> src/util/context.rs:47:11 [INFO] [stdout] | [INFO] [stdout] 47 | pub trait App { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_gl`, and `run` are never used [INFO] [stdout] --> src/util/context.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 51 | impl Context { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 52 | pub fn new(name: &'static str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn get_gl(&self) -> glow::Context { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn run(mut self, mut t: T) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `vec4` is never used [INFO] [stdout] --> src/util/vec4.rs:13:14 [INFO] [stdout] | [INFO] [stdout] 13 | pub const fn vec4(x: f32, y: f32, z: f32, w: f32) -> Vec4 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ivec2` is never used [INFO] [stdout] --> src/util/ivec2.rs:10:14 [INFO] [stdout] | [INFO] [stdout] 10 | pub const fn ivec2(x: i32, y: i32) -> IVec2 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `AsVec2` is never used [INFO] [stdout] --> src/util/ivec2.rs:14:11 [INFO] [stdout] | [INFO] [stdout] 14 | pub trait AsVec2 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `ExpectWith` is never used [INFO] [stdout] --> src/util/option_utils.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait ExpectWith { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `UnwrapMut` is never used [INFO] [stdout] --> src/util/option_utils.rs:36:11 [INFO] [stdout] | [INFO] [stdout] 36 | pub trait UnwrapMut { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `UnwrapRef` is never used [INFO] [stdout] --> src/util/option_utils.rs:59:11 [INFO] [stdout] | [INFO] [stdout] 59 | pub trait UnwrapRef<'a, T> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenRef` is never constructed [INFO] [stdout] --> src/util/gen_ref.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct GenRef { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `deref`, `deref_mut`, `free`, and `change_arenas` are never used [INFO] [stdout] --> src/util/gen_ref.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl GenRef { [INFO] [stdout] | ------------------------ methods in this implementation [INFO] [stdout] 35 | pub fn deref<'a>(&self, arena: &'a GenArena) -> Option<&'a T> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn deref_mut<'a>(&self, arena: &'a mut GenArena) -> Option<&'a mut T> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn free<'a>(&self, arena: &'a mut GenArena) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn change_arenas(&mut self, from: &GenArena, to: &mut GenArena) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenBucket` is never constructed [INFO] [stdout] --> src/util/gen_ref.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 59 | pub struct GenBucket { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/util/gen_ref.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 65 | impl GenBucket { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] 66 | fn new(item: T) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenArena` is never constructed [INFO] [stdout] --> src/util/gen_ref.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 75 | pub struct GenArena { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/util/gen_ref.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 79 | impl GenArena { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 80 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn borrow<'a>(&'a self, gen_ref: &GenRef) -> Option<&'a T> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn borrow_mut<'a>(&'a mut self, gen_ref: &GenRef) -> Option<&'a mut T> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn borrow_2<'a>( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | pub fn borrow_2_mut<'a>( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn borrow_many<'a>(&'a self, gen_refs: &'a [GenRef]) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | pub fn borrow_many_mut<'a>(&'a mut self, gen_refs: &'a [GenRef]) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | pub fn free(&mut self, gen_ref: &GenRef) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | pub fn alloc(&mut self, item: T) -> GenRef { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ImageBuffer` is never constructed [INFO] [stdout] --> src/util/image.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct ImageBuffer { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/util/image.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl ImageBuffer { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 17 | pub fn new(wh: IVec2) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn from_bytes(png_bytes: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn get(&self, x: usize, y: usize) -> Vec4 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn set(&mut self, x: usize, y: usize, colour: Vec4) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn fill(&mut self, colour: Vec4) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn set_square(&mut self, x: usize, y: usize, r: usize, colour: Vec4) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn circle(&mut self, x: usize, y: usize, r: usize, rr: usize, colour: Vec4) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn save(&self, path: &Path) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dir_traverse` is never used [INFO] [stdout] --> src/util/file_utils.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn dir_traverse(path: &Path, f: &mut impl FnMut(&Path)) -> Result<(), std::io::Error> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `my_read_dir` is never used [INFO] [stdout] --> src/util/file_utils.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn my_read_dir(path: &Path) -> std::io::Result> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MyDirEntry` is never constructed [INFO] [stdout] --> src/util/file_utils.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 62 | pub struct MyDirEntry { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `AsBytes` is never used [INFO] [stdout] --> src/util/texture.rs:2:11 [INFO] [stdout] | [INFO] [stdout] 2 | pub trait AsBytes { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Texture` is never constructed [INFO] [stdout] --> src/util/texture.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct Texture { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `fill`, `sample`, `sample_checked`, and `save` are never used [INFO] [stdout] --> src/util/texture.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl Texture { [INFO] [stdout] | ----------------------------------- associated items in this implementation [INFO] [stdout] 29 | pub fn new(wh: IVec2, initial: T) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn fill(&mut self, value: T) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn sample(&self, coord: IVec2) -> T { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn sample_checked(&self, coord: IVec2) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn save(&self, path: &std::path::Path, f: impl Fn(T)->[u8;4]) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Draw` is never used [INFO] [stdout] --> src/util/texture.rs:84:11 [INFO] [stdout] | [INFO] [stdout] 84 | pub trait Draw { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dist_fn` is never used [INFO] [stdout] --> src/util/distance_field_generation.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn dist_fn(p1: IVec2, p2: IVec2) -> f32 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `spread` is never used [INFO] [stdout] --> src/util/distance_field_generation.rs:10:4 [INFO] [stdout] | [INFO] [stdout] 10 | fn spread(distance: &mut Texture, nearest: &mut Texture, p1: IVec2, p2: IVec2) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sdf1` is never used [INFO] [stdout] --> src/util/distance_field_generation.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn sdf1(in_stencil: Texture) -> Texture { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `normalize` is never used [INFO] [stdout] --> src/util/distance_field_generation.rs:74:12 [INFO] [stdout] | [INFO] [stdout] 73 | impl Texture { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 74 | pub fn normalize(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `random_seed` is never used [INFO] [stdout] --> src/util/rng.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn random_seed() -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `KHash` is never used [INFO] [stdout] --> src/util/rng.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub trait KHash { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lanczos_interp` is never used [INFO] [stdout] --> src/util/signal.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn lanczos_interp(s: &[f32], r: f32, a: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lanczos_kernel` is never used [INFO] [stdout] --> src/util/signal.rs:29:4 [INFO] [stdout] | [INFO] [stdout] 29 | fn lanczos_kernel(x: f32, a: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `load` is never used [INFO] [stdout] --> src/util/signal.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 41 | pub trait Wav { [INFO] [stdout] | --- associated function in this trait [INFO] [stdout] 42 | fn load(path: &str) -> (u32, Self); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_wav` is never used [INFO] [stdout] --> src/util/signal.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn load_wav(path: &str) -> Option<(u32, Vec)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_wav` is never used [INFO] [stdout] --> src/util/sound_context.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn load_wav(path: &Path) -> Option<(u32, Vec)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `rng` is never read [INFO] [stdout] --> src/inst.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct Instrument { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 19 | rng: u32, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PHI` is never used [INFO] [stdout] --> src/util/mod.rs:36:11 [INFO] [stdout] | [INFO] [stdout] 36 | pub const PHI: f32 = 1.618033988749894848204; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Lerp` is never used [INFO] [stdout] --> src/util/lerp.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait Lerp { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `ExpectWith` is never used [INFO] [stdout] --> src/util/option_utils.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait ExpectWith { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `UnwrapMut` is never used [INFO] [stdout] --> src/util/option_utils.rs:36:11 [INFO] [stdout] | [INFO] [stdout] 36 | pub trait UnwrapMut { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `UnwrapRef` is never used [INFO] [stdout] --> src/util/option_utils.rs:59:11 [INFO] [stdout] | [INFO] [stdout] 59 | pub trait UnwrapRef<'a, T> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenRef` is never constructed [INFO] [stdout] --> src/util/gen_ref.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct GenRef { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `deref`, `deref_mut`, `free`, and `change_arenas` are never used [INFO] [stdout] --> src/util/gen_ref.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl GenRef { [INFO] [stdout] | ------------------------ methods in this implementation [INFO] [stdout] 35 | pub fn deref<'a>(&self, arena: &'a GenArena) -> Option<&'a T> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn deref_mut<'a>(&self, arena: &'a mut GenArena) -> Option<&'a mut T> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn free<'a>(&self, arena: &'a mut GenArena) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn change_arenas(&mut self, from: &GenArena, to: &mut GenArena) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PlayCommand` is never constructed [INFO] [stdout] --> src/util/sound_context.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct PlayCommand { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PlaybackContext` is never constructed [INFO] [stdout] --> src/util/sound_context.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 50 | pub struct PlaybackContext { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AudioThread` is never constructed [INFO] [stdout] --> src/util/sound_context.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | struct AudioThread { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `fill_samples_buffer`, `tick_mix`, and `mix` are never used [INFO] [stdout] --> src/util/sound_context.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 62 | impl AudioThread { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 63 | pub fn new(sounds: Vec>, cons: Consumer, cons_samp: Consumer) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn fill_samples_buffer(&mut self, buf: &mut[f32], info: &cpal::OutputCallbackInfo) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn tick_mix(&mut self) -> f32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn mix(&mut self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SoundContext` is never constructed [INFO] [stdout] --> src/util/sound_context.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 124 | pub struct SoundContext { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `play`, and `send_samples` are never used [INFO] [stdout] --> src/util/sound_context.rs:131:12 [INFO] [stdout] | [INFO] [stdout] 130 | impl SoundContext { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 131 | pub fn new(device: Option, sounds: Vec>) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | pub fn play(&mut self, com: PlayCommand) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | pub fn send_samples(&mut self, samples: impl Iterator) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_folder` is never used [INFO] [stdout] --> src/util/sound_context.rs:178:8 [INFO] [stdout] | [INFO] [stdout] 178 | pub fn load_folder(path: &Path) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenBucket` is never constructed [INFO] [stdout] --> src/util/gen_ref.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 59 | pub struct GenBucket { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/util/gen_ref.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 65 | impl GenBucket { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] 66 | fn new(item: T) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenArena` is never constructed [INFO] [stdout] --> src/util/gen_ref.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 75 | pub struct GenArena { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RenderCommand` is never constructed [INFO] [stdout] --> src/util/render_context.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct RenderCommand { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `draw_albedo` is never used [INFO] [stdout] --> src/util/render_context.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl RenderCommand { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] 27 | pub fn draw_albedo(&self, buf: &mut VertexBufCPU, render_context: &RenderContext) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_text` is never used [INFO] [stdout] --> src/util/render_context.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn render_text(buf: &mut Vec, s: String, mut base: RenderCommand) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SpriteHandle` is never constructed [INFO] [stdout] --> src/util/render_context.rs:129:12 [INFO] [stdout] | [INFO] [stdout] 129 | pub struct SpriteHandle { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ATLAS_WH` is never used [INFO] [stdout] --> src/util/render_context.rs:134:11 [INFO] [stdout] | [INFO] [stdout] 134 | pub const ATLAS_WH: IVec2 = ivec2(1024, 1024); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FRAG_ALBEDO` is never used [INFO] [stdout] --> src/util/render_context.rs:135:11 [INFO] [stdout] | [INFO] [stdout] 135 | pub const FRAG_ALBEDO: &str = r#"#version 330 core [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VERT_ALBEDO` is never used [INFO] [stdout] --> src/util/render_context.rs:148:11 [INFO] [stdout] | [INFO] [stdout] 148 | pub const VERT_ALBEDO: &str = r#"#version 330 core [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RenderContext` is never constructed [INFO] [stdout] --> src/util/render_context.rs:170:12 [INFO] [stdout] | [INFO] [stdout] 170 | pub struct RenderContext { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `frame`, and `resize` are never used [INFO] [stdout] --> src/util/render_context.rs:182:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl RenderContext { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 182 | pub fn new(gl: GLContext) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 274 | pub fn frame(&mut self, render_list: &Vec) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 303 | pub fn resize(&mut self, wh: IVec2) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Vertex` is never constructed [INFO] [stdout] --> src/util/render_context.rs:313:12 [INFO] [stdout] | [INFO] [stdout] 313 | pub struct Vertex { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VertexBufCPU` is never constructed [INFO] [stdout] --> src/util/render_context.rs:322:12 [INFO] [stdout] | [INFO] [stdout] 322 | pub struct VertexBufCPU { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `extend` is never used [INFO] [stdout] --> src/util/render_context.rs:328:12 [INFO] [stdout] | [INFO] [stdout] 327 | impl VertexBufCPU { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 328 | pub fn extend(&mut self, verts: impl Iterator, inds: impl Iterator) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INTERNAL_WH` is never used [INFO] [stdout] --> src/util/context.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | pub const INTERNAL_WH: IVec2 = ivec2(640, 360); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Input` is never constructed [INFO] [stdout] --> src/util/context.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct Input { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `reset_for_frame` is never used [INFO] [stdout] --> src/util/context.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl Input { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 32 | pub fn reset_for_frame(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Context` is never constructed [INFO] [stdout] --> src/util/context.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 40 | pub struct Context { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `App` is never used [INFO] [stdout] --> src/util/context.rs:47:11 [INFO] [stdout] | [INFO] [stdout] 47 | pub trait App { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_gl`, and `run` are never used [INFO] [stdout] --> src/util/context.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 51 | impl Context { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 52 | pub fn new(name: &'static str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn get_gl(&self) -> glow::Context { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn run(mut self, mut t: T) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/util/gen_ref.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 79 | impl GenArena { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 80 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn borrow<'a>(&'a self, gen_ref: &GenRef) -> Option<&'a T> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn borrow_mut<'a>(&'a mut self, gen_ref: &GenRef) -> Option<&'a mut T> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn borrow_2<'a>( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | pub fn borrow_2_mut<'a>( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn borrow_many<'a>(&'a self, gen_refs: &'a [GenRef]) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | pub fn borrow_many_mut<'a>(&'a mut self, gen_refs: &'a [GenRef]) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | pub fn free(&mut self, gen_ref: &GenRef) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | pub fn alloc(&mut self, item: T) -> GenRef { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_bytes`, `get`, `set_square`, `circle`, and `save` are never used [INFO] [stdout] --> src/util/image.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl ImageBuffer { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn from_bytes(png_bytes: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn get(&self, x: usize, y: usize) -> Vec4 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn set_square(&mut self, x: usize, y: usize, r: usize, colour: Vec4) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn circle(&mut self, x: usize, y: usize, r: usize, rr: usize, colour: Vec4) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn save(&self, path: &Path) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dir_traverse` is never used [INFO] [stdout] --> src/util/file_utils.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn dir_traverse(path: &Path, f: &mut impl FnMut(&Path)) -> Result<(), std::io::Error> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `my_read_dir` is never used [INFO] [stdout] --> src/util/file_utils.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn my_read_dir(path: &Path) -> std::io::Result> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MyDirEntry` is never constructed [INFO] [stdout] --> src/util/file_utils.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 62 | pub struct MyDirEntry { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `AsBytes` is never used [INFO] [stdout] --> src/util/texture.rs:2:11 [INFO] [stdout] | [INFO] [stdout] 2 | pub trait AsBytes { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Texture` is never constructed [INFO] [stdout] --> src/util/texture.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct Texture { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `fill`, `sample`, `sample_checked`, and `save` are never used [INFO] [stdout] --> src/util/texture.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl Texture { [INFO] [stdout] | ----------------------------------- associated items in this implementation [INFO] [stdout] 29 | pub fn new(wh: IVec2, initial: T) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn fill(&mut self, value: T) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn sample(&self, coord: IVec2) -> T { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn sample_checked(&self, coord: IVec2) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn save(&self, path: &std::path::Path, f: impl Fn(T)->[u8;4]) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Draw` is never used [INFO] [stdout] --> src/util/texture.rs:84:11 [INFO] [stdout] | [INFO] [stdout] 84 | pub trait Draw { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dist_fn` is never used [INFO] [stdout] --> src/util/distance_field_generation.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn dist_fn(p1: IVec2, p2: IVec2) -> f32 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `spread` is never used [INFO] [stdout] --> src/util/distance_field_generation.rs:10:4 [INFO] [stdout] | [INFO] [stdout] 10 | fn spread(distance: &mut Texture, nearest: &mut Texture, p1: IVec2, p2: IVec2) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sdf1` is never used [INFO] [stdout] --> src/util/distance_field_generation.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn sdf1(in_stencil: Texture) -> Texture { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `normalize` is never used [INFO] [stdout] --> src/util/distance_field_generation.rs:74:12 [INFO] [stdout] | [INFO] [stdout] 73 | impl Texture { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 74 | pub fn normalize(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `KHash` is never used [INFO] [stdout] --> src/util/rng.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub trait KHash { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lanczos_interp` is never used [INFO] [stdout] --> src/util/signal.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn lanczos_interp(s: &[f32], r: f32, a: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lanczos_kernel` is never used [INFO] [stdout] --> src/util/signal.rs:29:4 [INFO] [stdout] | [INFO] [stdout] 29 | fn lanczos_kernel(x: f32, a: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Wav` is never used [INFO] [stdout] --> src/util/signal.rs:41:11 [INFO] [stdout] | [INFO] [stdout] 41 | pub trait Wav { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_wav` is never used [INFO] [stdout] --> src/util/signal.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn load_wav(path: &str) -> Option<(u32, Vec)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `write_wav` is never used [INFO] [stdout] --> src/util/signal.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 79 | pub fn write_wav(outfile: &str, sample_rate: u32, samples: impl Iterator) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_wav` is never used [INFO] [stdout] --> src/util/sound_context.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn load_wav(path: &Path) -> Option<(u32, Vec)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `music` is never read [INFO] [stdout] --> src/util/sound_context.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct PlayCommand { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 36 | pub music: bool, // currently ignored [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PlayCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `n` is never read [INFO] [stdout] --> src/util/sound_context.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 55 | struct AudioThread { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 60 | n: i64, [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `prod` and `stream` are never read [INFO] [stdout] --> src/util/sound_context.rs:125:5 [INFO] [stdout] | [INFO] [stdout] 124 | pub struct SoundContext { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 125 | prod: Producer, [INFO] [stdout] | ^^^^ [INFO] [stdout] 126 | prod_samp: Producer, [INFO] [stdout] 127 | stream: cpal::Stream, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `play` is never used [INFO] [stdout] --> src/util/sound_context.rs:167:12 [INFO] [stdout] | [INFO] [stdout] 130 | impl SoundContext { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 167 | pub fn play(&mut self, com: PlayCommand) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_folder` is never used [INFO] [stdout] --> src/util/sound_context.rs:178:8 [INFO] [stdout] | [INFO] [stdout] 178 | pub fn load_folder(path: &Path) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RenderCommand` is never constructed [INFO] [stdout] --> src/util/render_context.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct RenderCommand { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `draw_albedo` is never used [INFO] [stdout] --> src/util/render_context.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl RenderCommand { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] 27 | pub fn draw_albedo(&self, buf: &mut VertexBufCPU, render_context: &RenderContext) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_text` is never used [INFO] [stdout] --> src/util/render_context.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn render_text(buf: &mut Vec, s: String, mut base: RenderCommand) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `xy` and `wh` are never read [INFO] [stdout] --> src/util/render_context.rs:130:9 [INFO] [stdout] | [INFO] [stdout] 129 | pub struct SpriteHandle { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 130 | pub xy: IVec2, [INFO] [stdout] | ^^ [INFO] [stdout] 131 | pub wh: IVec2, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `SpriteHandle` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/util/render_context.rs:171:9 [INFO] [stdout] | [INFO] [stdout] 170 | pub struct RenderContext { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 171 | pub gl: GLContext, [INFO] [stdout] | ^^ [INFO] [stdout] 172 | pub program_albedo: NativeProgram, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 173 | pub vao: VertexArray, [INFO] [stdout] | ^^^ [INFO] [stdout] 174 | pub vbo: Buffer, [INFO] [stdout] | ^^^ [INFO] [stdout] 175 | pub ebo: Buffer, [INFO] [stdout] | ^^^ [INFO] [stdout] 176 | pub texture: GPUTexture, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 177 | pub resource_handles: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `frame` and `resize` are never used [INFO] [stdout] --> src/util/render_context.rs:274:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl RenderContext { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 274 | pub fn frame(&mut self, render_list: &Vec) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 303 | pub fn resize(&mut self, wh: IVec2) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Vertex` is never constructed [INFO] [stdout] --> src/util/render_context.rs:313:12 [INFO] [stdout] | [INFO] [stdout] 313 | pub struct Vertex { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VertexBufCPU` is never constructed [INFO] [stdout] --> src/util/render_context.rs:322:12 [INFO] [stdout] | [INFO] [stdout] 322 | pub struct VertexBufCPU { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `extend` is never used [INFO] [stdout] --> src/util/render_context.rs:328:12 [INFO] [stdout] | [INFO] [stdout] 327 | impl VertexBufCPU { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 328 | pub fn extend(&mut self, verts: impl Iterator, inds: impl Iterator) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `scroll` is never read [INFO] [stdout] --> src/util/context.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct Input { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] ... [INFO] [stdout] 26 | pub scroll: i32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Input` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/util/render_context.rs:281:13 [INFO] [stdout] | [INFO] [stdout] 275 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 281 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/wg3.rs:50:28 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn tick(&mut self, mut z: Vec2) -> Vec2 { [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/wg3.rs:61:38 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn tick_nonlinear(&mut self, mut z: Vec2) -> Vec2 { [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `wt` is never read [INFO] [stdout] --> src/wg3.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Reverb { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 13 | wt: Vec2, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PHI` is never used [INFO] [stdout] --> src/util/mod.rs:36:11 [INFO] [stdout] | [INFO] [stdout] 36 | pub const PHI: f32 = 1.618033988749894848204; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Lerp` is never used [INFO] [stdout] --> src/util/lerp.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait Lerp { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/util/sound_context.rs:173:13 [INFO] [stdout] | [INFO] [stdout] 173 | self.prod_samp.push(sample); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 173 | let _ = self.prod_samp.push(sample); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `vec4` is never used [INFO] [stdout] --> src/util/vec4.rs:13:14 [INFO] [stdout] | [INFO] [stdout] 13 | pub const fn vec4(x: f32, y: f32, z: f32, w: f32) -> Vec4 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ivec2` is never used [INFO] [stdout] --> src/util/ivec2.rs:10:14 [INFO] [stdout] | [INFO] [stdout] 10 | pub const fn ivec2(x: i32, y: i32) -> IVec2 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `AsVec2` is never used [INFO] [stdout] --> src/util/ivec2.rs:14:11 [INFO] [stdout] | [INFO] [stdout] 14 | pub trait AsVec2 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `ExpectWith` is never used [INFO] [stdout] --> src/util/option_utils.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait ExpectWith { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `UnwrapMut` is never used [INFO] [stdout] --> src/util/option_utils.rs:36:11 [INFO] [stdout] | [INFO] [stdout] 36 | pub trait UnwrapMut { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `UnwrapRef` is never used [INFO] [stdout] --> src/util/option_utils.rs:59:11 [INFO] [stdout] | [INFO] [stdout] 59 | pub trait UnwrapRef<'a, T> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenRef` is never constructed [INFO] [stdout] --> src/util/gen_ref.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct GenRef { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `deref`, `deref_mut`, `free`, and `change_arenas` are never used [INFO] [stdout] --> src/util/gen_ref.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl GenRef { [INFO] [stdout] | ------------------------ methods in this implementation [INFO] [stdout] 35 | pub fn deref<'a>(&self, arena: &'a GenArena) -> Option<&'a T> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn deref_mut<'a>(&self, arena: &'a mut GenArena) -> Option<&'a mut T> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn free<'a>(&self, arena: &'a mut GenArena) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn change_arenas(&mut self, from: &GenArena, to: &mut GenArena) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenBucket` is never constructed [INFO] [stdout] --> src/util/gen_ref.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 59 | pub struct GenBucket { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/util/gen_ref.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 65 | impl GenBucket { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] 66 | fn new(item: T) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenArena` is never constructed [INFO] [stdout] --> src/util/gen_ref.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 75 | pub struct GenArena { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/util/gen_ref.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 79 | impl GenArena { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 80 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn borrow<'a>(&'a self, gen_ref: &GenRef) -> Option<&'a T> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn borrow_mut<'a>(&'a mut self, gen_ref: &GenRef) -> Option<&'a mut T> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn borrow_2<'a>( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | pub fn borrow_2_mut<'a>( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn borrow_many<'a>(&'a self, gen_refs: &'a [GenRef]) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | pub fn borrow_many_mut<'a>(&'a mut self, gen_refs: &'a [GenRef]) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | pub fn free(&mut self, gen_ref: &GenRef) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | pub fn alloc(&mut self, item: T) -> GenRef { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ImageBuffer` is never constructed [INFO] [stdout] --> src/util/image.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct ImageBuffer { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/util/image.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl ImageBuffer { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 17 | pub fn new(wh: IVec2) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn from_bytes(png_bytes: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn get(&self, x: usize, y: usize) -> Vec4 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn set(&mut self, x: usize, y: usize, colour: Vec4) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn fill(&mut self, colour: Vec4) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn set_square(&mut self, x: usize, y: usize, r: usize, colour: Vec4) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn circle(&mut self, x: usize, y: usize, r: usize, rr: usize, colour: Vec4) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn save(&self, path: &Path) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dir_traverse` is never used [INFO] [stdout] --> src/util/file_utils.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn dir_traverse(path: &Path, f: &mut impl FnMut(&Path)) -> Result<(), std::io::Error> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `my_read_dir` is never used [INFO] [stdout] --> src/util/file_utils.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn my_read_dir(path: &Path) -> std::io::Result> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MyDirEntry` is never constructed [INFO] [stdout] --> src/util/file_utils.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 62 | pub struct MyDirEntry { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `AsBytes` is never used [INFO] [stdout] --> src/util/texture.rs:2:11 [INFO] [stdout] | [INFO] [stdout] 2 | pub trait AsBytes { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Texture` is never constructed [INFO] [stdout] --> src/util/texture.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct Texture { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `fill`, `sample`, `sample_checked`, and `save` are never used [INFO] [stdout] --> src/util/texture.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl Texture { [INFO] [stdout] | ----------------------------------- associated items in this implementation [INFO] [stdout] 29 | pub fn new(wh: IVec2, initial: T) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn fill(&mut self, value: T) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn sample(&self, coord: IVec2) -> T { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn sample_checked(&self, coord: IVec2) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn save(&self, path: &std::path::Path, f: impl Fn(T)->[u8;4]) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Draw` is never used [INFO] [stdout] --> src/util/texture.rs:84:11 [INFO] [stdout] | [INFO] [stdout] 84 | pub trait Draw { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dist_fn` is never used [INFO] [stdout] --> src/util/distance_field_generation.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn dist_fn(p1: IVec2, p2: IVec2) -> f32 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `spread` is never used [INFO] [stdout] --> src/util/distance_field_generation.rs:10:4 [INFO] [stdout] | [INFO] [stdout] 10 | fn spread(distance: &mut Texture, nearest: &mut Texture, p1: IVec2, p2: IVec2) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sdf1` is never used [INFO] [stdout] --> src/util/distance_field_generation.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn sdf1(in_stencil: Texture) -> Texture { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `normalize` is never used [INFO] [stdout] --> src/util/distance_field_generation.rs:74:12 [INFO] [stdout] | [INFO] [stdout] 73 | impl Texture { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 74 | pub fn normalize(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `random_seed` is never used [INFO] [stdout] --> src/util/rng.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn random_seed() -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `KHash` is never used [INFO] [stdout] --> src/util/rng.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub trait KHash { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lanczos_interp` is never used [INFO] [stdout] --> src/util/signal.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn lanczos_interp(s: &[f32], r: f32, a: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/util/render_context.rs:281:13 [INFO] [stdout] | [INFO] [stdout] 275 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 281 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_channels` [INFO] [stdout] --> src/util/sound_context.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | let num_channels = wave_reader.pcm_format.num_channels; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_channels` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lanczos_kernel` is never used [INFO] [stdout] --> src/util/signal.rs:29:4 [INFO] [stdout] | [INFO] [stdout] 29 | fn lanczos_kernel(x: f32, a: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `load` is never used [INFO] [stdout] --> src/util/signal.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 41 | pub trait Wav { [INFO] [stdout] | --- associated function in this trait [INFO] [stdout] 42 | fn load(path: &str) -> (u32, Self); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_wav` is never used [INFO] [stdout] --> src/util/signal.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn load_wav(path: &str) -> Option<(u32, Vec)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_wav` is never used [INFO] [stdout] --> src/util/sound_context.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn load_wav(path: &Path) -> Option<(u32, Vec)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PlayCommand` is never constructed [INFO] [stdout] --> src/util/sound_context.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct PlayCommand { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PlaybackContext` is never constructed [INFO] [stdout] --> src/util/sound_context.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 50 | pub struct PlaybackContext { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AudioThread` is never constructed [INFO] [stdout] --> src/util/sound_context.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | struct AudioThread { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `fill_samples_buffer`, `tick_mix`, and `mix` are never used [INFO] [stdout] --> src/util/sound_context.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 62 | impl AudioThread { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 63 | pub fn new(sounds: Vec>, cons: Consumer, cons_samp: Consumer) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn fill_samples_buffer(&mut self, buf: &mut[f32], info: &cpal::OutputCallbackInfo) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn tick_mix(&mut self) -> f32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn mix(&mut self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SoundContext` is never constructed [INFO] [stdout] --> src/util/sound_context.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 124 | pub struct SoundContext { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `play`, and `send_samples` are never used [INFO] [stdout] --> src/util/sound_context.rs:131:12 [INFO] [stdout] | [INFO] [stdout] 130 | impl SoundContext { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 131 | pub fn new(device: Option, sounds: Vec>) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | pub fn play(&mut self, com: PlayCommand) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | pub fn send_samples(&mut self, samples: impl Iterator) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_folder` is never used [INFO] [stdout] --> src/util/sound_context.rs:178:8 [INFO] [stdout] | [INFO] [stdout] 178 | pub fn load_folder(path: &Path) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RenderCommand` is never constructed [INFO] [stdout] --> src/util/render_context.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct RenderCommand { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `draw_albedo` is never used [INFO] [stdout] --> src/util/render_context.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl RenderCommand { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] 27 | pub fn draw_albedo(&self, buf: &mut VertexBufCPU, render_context: &RenderContext) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_text` is never used [INFO] [stdout] --> src/util/render_context.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn render_text(buf: &mut Vec, s: String, mut base: RenderCommand) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SpriteHandle` is never constructed [INFO] [stdout] --> src/util/render_context.rs:129:12 [INFO] [stdout] | [INFO] [stdout] 129 | pub struct SpriteHandle { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ATLAS_WH` is never used [INFO] [stdout] --> src/util/render_context.rs:134:11 [INFO] [stdout] | [INFO] [stdout] 134 | pub const ATLAS_WH: IVec2 = ivec2(1024, 1024); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FRAG_ALBEDO` is never used [INFO] [stdout] --> src/util/render_context.rs:135:11 [INFO] [stdout] | [INFO] [stdout] 135 | pub const FRAG_ALBEDO: &str = r#"#version 330 core [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VERT_ALBEDO` is never used [INFO] [stdout] --> src/util/render_context.rs:148:11 [INFO] [stdout] | [INFO] [stdout] 148 | pub const VERT_ALBEDO: &str = r#"#version 330 core [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RenderContext` is never constructed [INFO] [stdout] --> src/util/render_context.rs:170:12 [INFO] [stdout] | [INFO] [stdout] 170 | pub struct RenderContext { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `frame`, and `resize` are never used [INFO] [stdout] --> src/util/render_context.rs:182:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl RenderContext { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 182 | pub fn new(gl: GLContext) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 274 | pub fn frame(&mut self, render_list: &Vec) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 303 | pub fn resize(&mut self, wh: IVec2) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Vertex` is never constructed [INFO] [stdout] --> src/util/render_context.rs:313:12 [INFO] [stdout] | [INFO] [stdout] 313 | pub struct Vertex { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VertexBufCPU` is never constructed [INFO] [stdout] --> src/util/render_context.rs:322:12 [INFO] [stdout] | [INFO] [stdout] 322 | pub struct VertexBufCPU { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `extend` is never used [INFO] [stdout] --> src/util/render_context.rs:328:12 [INFO] [stdout] | [INFO] [stdout] 327 | impl VertexBufCPU { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 328 | pub fn extend(&mut self, verts: impl Iterator, inds: impl Iterator) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INTERNAL_WH` is never used [INFO] [stdout] --> src/util/context.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | pub const INTERNAL_WH: IVec2 = ivec2(640, 360); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Input` is never constructed [INFO] [stdout] --> src/util/context.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct Input { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `reset_for_frame` is never used [INFO] [stdout] --> src/util/context.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl Input { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 32 | pub fn reset_for_frame(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Context` is never constructed [INFO] [stdout] --> src/util/context.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 40 | pub struct Context { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `App` is never used [INFO] [stdout] --> src/util/context.rs:47:11 [INFO] [stdout] | [INFO] [stdout] 47 | pub trait App { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_gl`, and `run` are never used [INFO] [stdout] --> src/util/context.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 51 | impl Context { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 52 | pub fn new(name: &'static str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn get_gl(&self) -> glow::Context { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn run(mut self, mut t: T) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/util/render_context.rs:281:13 [INFO] [stdout] | [INFO] [stdout] 275 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 281 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `info` [INFO] [stdout] --> src/util/sound_context.rs:73:59 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn fill_samples_buffer(&mut self, buf: &mut[f32], info: &cpal::OutputCallbackInfo) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sample_rate` [INFO] [stdout] --> src/util/signal.rs:96:10 [INFO] [stdout] | [INFO] [stdout] 96 | let (sample_rate, samples2) = samples2.unwrap(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample_rate` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/signal_chain.rs:73:13 [INFO] [stdout] | [INFO] [stdout] 73 | let mut z = z.cadd_pol(prev); [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sample_rate` [INFO] [stdout] --> src/util/sound_context.rs:140:13 [INFO] [stdout] | [INFO] [stdout] 140 | let sample_rate = config.sample_rate().0; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample_rate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_channels` [INFO] [stdout] --> src/util/sound_context.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | let num_channels = wave_reader.pcm_format.num_channels; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_channels` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `info` [INFO] [stdout] --> src/util/sound_context.rs:73:59 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn fill_samples_buffer(&mut self, buf: &mut[f32], info: &cpal::OutputCallbackInfo) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/util/sound_context.rs:173:13 [INFO] [stdout] | [INFO] [stdout] 173 | self.prod_samp.push(sample); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 173 | let _ = self.prod_samp.push(sample); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PHI` is never used [INFO] [stdout] --> src/util/mod.rs:36:11 [INFO] [stdout] | [INFO] [stdout] 36 | pub const PHI: f32 = 1.618033988749894848204; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Lerp` is never used [INFO] [stdout] --> src/util/lerp.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait Lerp { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `vec4` is never used [INFO] [stdout] --> src/util/vec4.rs:13:14 [INFO] [stdout] | [INFO] [stdout] 13 | pub const fn vec4(x: f32, y: f32, z: f32, w: f32) -> Vec4 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `AsVec2` is never used [INFO] [stdout] --> src/util/ivec2.rs:14:11 [INFO] [stdout] | [INFO] [stdout] 14 | pub trait AsVec2 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `ExpectWith` is never used [INFO] [stdout] --> src/util/option_utils.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait ExpectWith { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `UnwrapMut` is never used [INFO] [stdout] --> src/util/option_utils.rs:36:11 [INFO] [stdout] | [INFO] [stdout] 36 | pub trait UnwrapMut { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `UnwrapRef` is never used [INFO] [stdout] --> src/util/option_utils.rs:59:11 [INFO] [stdout] | [INFO] [stdout] 59 | pub trait UnwrapRef<'a, T> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenRef` is never constructed [INFO] [stdout] --> src/util/gen_ref.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct GenRef { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `deref`, `deref_mut`, `free`, and `change_arenas` are never used [INFO] [stdout] --> src/util/gen_ref.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl GenRef { [INFO] [stdout] | ------------------------ methods in this implementation [INFO] [stdout] 35 | pub fn deref<'a>(&self, arena: &'a GenArena) -> Option<&'a T> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn deref_mut<'a>(&self, arena: &'a mut GenArena) -> Option<&'a mut T> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn free<'a>(&self, arena: &'a mut GenArena) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn change_arenas(&mut self, from: &GenArena, to: &mut GenArena) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenBucket` is never constructed [INFO] [stdout] --> src/util/gen_ref.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 59 | pub struct GenBucket { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/util/gen_ref.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 65 | impl GenBucket { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] 66 | fn new(item: T) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenArena` is never constructed [INFO] [stdout] --> src/util/gen_ref.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 75 | pub struct GenArena { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/util/gen_ref.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 79 | impl GenArena { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 80 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn borrow<'a>(&'a self, gen_ref: &GenRef) -> Option<&'a T> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn borrow_mut<'a>(&'a mut self, gen_ref: &GenRef) -> Option<&'a mut T> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn borrow_2<'a>( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | pub fn borrow_2_mut<'a>( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn borrow_many<'a>(&'a self, gen_refs: &'a [GenRef]) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | pub fn borrow_many_mut<'a>(&'a mut self, gen_refs: &'a [GenRef]) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | pub fn free(&mut self, gen_ref: &GenRef) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | pub fn alloc(&mut self, item: T) -> GenRef { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ImageBuffer` is never constructed [INFO] [stdout] --> src/util/image.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct ImageBuffer { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/util/image.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl ImageBuffer { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 17 | pub fn new(wh: IVec2) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn from_bytes(png_bytes: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn get(&self, x: usize, y: usize) -> Vec4 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn set(&mut self, x: usize, y: usize, colour: Vec4) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn fill(&mut self, colour: Vec4) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn set_square(&mut self, x: usize, y: usize, r: usize, colour: Vec4) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn circle(&mut self, x: usize, y: usize, r: usize, rr: usize, colour: Vec4) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn save(&self, path: &Path) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `my_read_dir` is never used [INFO] [stdout] --> src/util/file_utils.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn my_read_dir(path: &Path) -> std::io::Result> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MyDirEntry` is never constructed [INFO] [stdout] --> src/util/file_utils.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 62 | pub struct MyDirEntry { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `random_seed` is never used [INFO] [stdout] --> src/util/rng.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn random_seed() -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `KHash` is never used [INFO] [stdout] --> src/util/rng.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub trait KHash { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lanczos_interp` is never used [INFO] [stdout] --> src/util/signal.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn lanczos_interp(s: &[f32], r: f32, a: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lanczos_kernel` is never used [INFO] [stdout] --> src/util/signal.rs:29:4 [INFO] [stdout] | [INFO] [stdout] 29 | fn lanczos_kernel(x: f32, a: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `load` is never used [INFO] [stdout] --> src/util/signal.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 41 | pub trait Wav { [INFO] [stdout] | --- associated function in this trait [INFO] [stdout] 42 | fn load(path: &str) -> (u32, Self); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_wav` is never used [INFO] [stdout] --> src/util/sound_context.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn load_wav(path: &Path) -> Option<(u32, Vec)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PlayCommand` is never constructed [INFO] [stdout] --> src/util/sound_context.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct PlayCommand { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PlaybackContext` is never constructed [INFO] [stdout] --> src/util/sound_context.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 50 | pub struct PlaybackContext { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AudioThread` is never constructed [INFO] [stdout] --> src/util/sound_context.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | struct AudioThread { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `fill_samples_buffer`, `tick_mix`, and `mix` are never used [INFO] [stdout] --> src/util/sound_context.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 62 | impl AudioThread { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 63 | pub fn new(sounds: Vec>, cons: Consumer, cons_samp: Consumer) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn fill_samples_buffer(&mut self, buf: &mut[f32], info: &cpal::OutputCallbackInfo) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn tick_mix(&mut self) -> f32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn mix(&mut self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SoundContext` is never constructed [INFO] [stdout] --> src/util/sound_context.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 124 | pub struct SoundContext { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `play`, and `send_samples` are never used [INFO] [stdout] --> src/util/sound_context.rs:131:12 [INFO] [stdout] | [INFO] [stdout] 130 | impl SoundContext { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 131 | pub fn new(device: Option, sounds: Vec>) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | pub fn play(&mut self, com: PlayCommand) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | pub fn send_samples(&mut self, samples: impl Iterator) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_folder` is never used [INFO] [stdout] --> src/util/sound_context.rs:178:8 [INFO] [stdout] | [INFO] [stdout] 178 | pub fn load_folder(path: &Path) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RenderCommand` is never constructed [INFO] [stdout] --> src/util/render_context.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct RenderCommand { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `draw_albedo` is never used [INFO] [stdout] --> src/util/render_context.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl RenderCommand { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] 27 | pub fn draw_albedo(&self, buf: &mut VertexBufCPU, render_context: &RenderContext) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_text` is never used [INFO] [stdout] --> src/util/render_context.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn render_text(buf: &mut Vec, s: String, mut base: RenderCommand) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SpriteHandle` is never constructed [INFO] [stdout] --> src/util/render_context.rs:129:12 [INFO] [stdout] | [INFO] [stdout] 129 | pub struct SpriteHandle { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ATLAS_WH` is never used [INFO] [stdout] --> src/util/render_context.rs:134:11 [INFO] [stdout] | [INFO] [stdout] 134 | pub const ATLAS_WH: IVec2 = ivec2(1024, 1024); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FRAG_ALBEDO` is never used [INFO] [stdout] --> src/util/render_context.rs:135:11 [INFO] [stdout] | [INFO] [stdout] 135 | pub const FRAG_ALBEDO: &str = r#"#version 330 core [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VERT_ALBEDO` is never used [INFO] [stdout] --> src/util/render_context.rs:148:11 [INFO] [stdout] | [INFO] [stdout] 148 | pub const VERT_ALBEDO: &str = r#"#version 330 core [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RenderContext` is never constructed [INFO] [stdout] --> src/util/render_context.rs:170:12 [INFO] [stdout] | [INFO] [stdout] 170 | pub struct RenderContext { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `frame`, and `resize` are never used [INFO] [stdout] --> src/util/render_context.rs:182:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl RenderContext { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 182 | pub fn new(gl: GLContext) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 274 | pub fn frame(&mut self, render_list: &Vec) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 303 | pub fn resize(&mut self, wh: IVec2) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Vertex` is never constructed [INFO] [stdout] --> src/util/render_context.rs:313:12 [INFO] [stdout] | [INFO] [stdout] 313 | pub struct Vertex { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VertexBufCPU` is never constructed [INFO] [stdout] --> src/util/render_context.rs:322:12 [INFO] [stdout] | [INFO] [stdout] 322 | pub struct VertexBufCPU { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sample_rate` [INFO] [stdout] --> src/util/signal.rs:96:10 [INFO] [stdout] | [INFO] [stdout] 96 | let (sample_rate, samples2) = samples2.unwrap(); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample_rate` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `extend` is never used [INFO] [stdout] --> src/util/render_context.rs:328:12 [INFO] [stdout] | [INFO] [stdout] 327 | impl VertexBufCPU { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 328 | pub fn extend(&mut self, verts: impl Iterator, inds: impl Iterator) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INTERNAL_WH` is never used [INFO] [stdout] --> src/util/context.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | pub const INTERNAL_WH: IVec2 = ivec2(640, 360); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Input` is never constructed [INFO] [stdout] --> src/util/context.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct Input { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `reset_for_frame` is never used [INFO] [stdout] --> src/util/context.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl Input { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 32 | pub fn reset_for_frame(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Context` is never constructed [INFO] [stdout] --> src/util/context.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 40 | pub struct Context { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `App` is never used [INFO] [stdout] --> src/util/context.rs:47:11 [INFO] [stdout] | [INFO] [stdout] 47 | pub trait App { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_gl`, and `run` are never used [INFO] [stdout] --> src/util/context.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 51 | impl Context { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 52 | pub fn new(name: &'static str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn get_gl(&self) -> glow::Context { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn run(mut self, mut t: T) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PHI` is never used [INFO] [stdout] --> src/util/mod.rs:36:11 [INFO] [stdout] | [INFO] [stdout] 36 | pub const PHI: f32 = 1.618033988749894848204; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Lerp` is never used [INFO] [stdout] --> src/util/lerp.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait Lerp { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/util/sound_context.rs:173:13 [INFO] [stdout] | [INFO] [stdout] 173 | self.prod_samp.push(sample); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 173 | let _ = self.prod_samp.push(sample); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sample_rate` [INFO] [stdout] --> src/util/sound_context.rs:140:13 [INFO] [stdout] | [INFO] [stdout] 140 | let sample_rate = config.sample_rate().0; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample_rate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `vec4` is never used [INFO] [stdout] --> src/util/vec4.rs:13:14 [INFO] [stdout] | [INFO] [stdout] 13 | pub const fn vec4(x: f32, y: f32, z: f32, w: f32) -> Vec4 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ivec2` is never used [INFO] [stdout] --> src/util/ivec2.rs:10:14 [INFO] [stdout] | [INFO] [stdout] 10 | pub const fn ivec2(x: i32, y: i32) -> IVec2 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `AsVec2` is never used [INFO] [stdout] --> src/util/ivec2.rs:14:11 [INFO] [stdout] | [INFO] [stdout] 14 | pub trait AsVec2 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `num_channels` [INFO] [stdout] --> src/util/sound_context.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 13 | let num_channels = wave_reader.pcm_format.num_channels; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_channels` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `ExpectWith` is never used [INFO] [stdout] --> src/util/option_utils.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait ExpectWith { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `UnwrapMut` is never used [INFO] [stdout] --> src/util/option_utils.rs:36:11 [INFO] [stdout] | [INFO] [stdout] 36 | pub trait UnwrapMut { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `UnwrapRef` is never used [INFO] [stdout] --> src/util/option_utils.rs:59:11 [INFO] [stdout] | [INFO] [stdout] 59 | pub trait UnwrapRef<'a, T> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenRef` is never constructed [INFO] [stdout] --> src/util/gen_ref.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct GenRef { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `deref`, `deref_mut`, `free`, and `change_arenas` are never used [INFO] [stdout] --> src/util/gen_ref.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl GenRef { [INFO] [stdout] | ------------------------ methods in this implementation [INFO] [stdout] 35 | pub fn deref<'a>(&self, arena: &'a GenArena) -> Option<&'a T> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn deref_mut<'a>(&self, arena: &'a mut GenArena) -> Option<&'a mut T> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn free<'a>(&self, arena: &'a mut GenArena) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn change_arenas(&mut self, from: &GenArena, to: &mut GenArena) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenBucket` is never constructed [INFO] [stdout] --> src/util/gen_ref.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 59 | pub struct GenBucket { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/util/gen_ref.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 65 | impl GenBucket { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] 66 | fn new(item: T) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenArena` is never constructed [INFO] [stdout] --> src/util/gen_ref.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 75 | pub struct GenArena { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/util/gen_ref.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 79 | impl GenArena { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 80 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn borrow<'a>(&'a self, gen_ref: &GenRef) -> Option<&'a T> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn borrow_mut<'a>(&'a mut self, gen_ref: &GenRef) -> Option<&'a mut T> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn borrow_2<'a>( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | pub fn borrow_2_mut<'a>( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn borrow_many<'a>(&'a self, gen_refs: &'a [GenRef]) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | pub fn borrow_many_mut<'a>(&'a mut self, gen_refs: &'a [GenRef]) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | pub fn free(&mut self, gen_ref: &GenRef) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | pub fn alloc(&mut self, item: T) -> GenRef { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ImageBuffer` is never constructed [INFO] [stdout] --> src/util/image.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct ImageBuffer { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/util/image.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl ImageBuffer { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 17 | pub fn new(wh: IVec2) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn from_bytes(png_bytes: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn get(&self, x: usize, y: usize) -> Vec4 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn set(&mut self, x: usize, y: usize, colour: Vec4) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn fill(&mut self, colour: Vec4) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn set_square(&mut self, x: usize, y: usize, r: usize, colour: Vec4) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn circle(&mut self, x: usize, y: usize, r: usize, rr: usize, colour: Vec4) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn save(&self, path: &Path) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dir_traverse` is never used [INFO] [stdout] --> src/util/file_utils.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn dir_traverse(path: &Path, f: &mut impl FnMut(&Path)) -> Result<(), std::io::Error> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `my_read_dir` is never used [INFO] [stdout] --> src/util/file_utils.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn my_read_dir(path: &Path) -> std::io::Result> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MyDirEntry` is never constructed [INFO] [stdout] --> src/util/file_utils.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 62 | pub struct MyDirEntry { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `info` [INFO] [stdout] --> src/util/sound_context.rs:73:59 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn fill_samples_buffer(&mut self, buf: &mut[f32], info: &cpal::OutputCallbackInfo) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_info` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sample_rate` [INFO] [stdout] --> src/util/sound_context.rs:140:13 [INFO] [stdout] | [INFO] [stdout] 140 | let sample_rate = config.sample_rate().0; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample_rate` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `AsBytes` is never used [INFO] [stdout] --> src/util/texture.rs:2:11 [INFO] [stdout] | [INFO] [stdout] 2 | pub trait AsBytes { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Texture` is never constructed [INFO] [stdout] --> src/util/texture.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct Texture { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `fill`, `sample`, `sample_checked`, and `save` are never used [INFO] [stdout] --> src/util/texture.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl Texture { [INFO] [stdout] | ----------------------------------- associated items in this implementation [INFO] [stdout] 29 | pub fn new(wh: IVec2, initial: T) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn fill(&mut self, value: T) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn sample(&self, coord: IVec2) -> T { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn sample_checked(&self, coord: IVec2) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn save(&self, path: &std::path::Path, f: impl Fn(T)->[u8;4]) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Draw` is never used [INFO] [stdout] --> src/util/texture.rs:84:11 [INFO] [stdout] | [INFO] [stdout] 84 | pub trait Draw { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dist_fn` is never used [INFO] [stdout] --> src/util/distance_field_generation.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn dist_fn(p1: IVec2, p2: IVec2) -> f32 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `spread` is never used [INFO] [stdout] --> src/util/distance_field_generation.rs:10:4 [INFO] [stdout] | [INFO] [stdout] 10 | fn spread(distance: &mut Texture, nearest: &mut Texture, p1: IVec2, p2: IVec2) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sdf1` is never used [INFO] [stdout] --> src/util/distance_field_generation.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn sdf1(in_stencil: Texture) -> Texture { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `normalize` is never used [INFO] [stdout] --> src/util/distance_field_generation.rs:74:12 [INFO] [stdout] | [INFO] [stdout] 73 | impl Texture { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 74 | pub fn normalize(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `random_seed` is never used [INFO] [stdout] --> src/util/rng.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn random_seed() -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `KHash` is never used [INFO] [stdout] --> src/util/rng.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub trait KHash { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lanczos_interp` is never used [INFO] [stdout] --> src/util/signal.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn lanczos_interp(s: &[f32], r: f32, a: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lanczos_kernel` is never used [INFO] [stdout] --> src/util/signal.rs:29:4 [INFO] [stdout] | [INFO] [stdout] 29 | fn lanczos_kernel(x: f32, a: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `load` is never used [INFO] [stdout] --> src/util/signal.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 41 | pub trait Wav { [INFO] [stdout] | --- associated function in this trait [INFO] [stdout] 42 | fn load(path: &str) -> (u32, Self); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_wav` is never used [INFO] [stdout] --> src/util/signal.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn load_wav(path: &str) -> Option<(u32, Vec)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_wav` is never used [INFO] [stdout] --> src/util/sound_context.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn load_wav(path: &Path) -> Option<(u32, Vec)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PlayCommand` is never constructed [INFO] [stdout] --> src/util/sound_context.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct PlayCommand { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PlaybackContext` is never constructed [INFO] [stdout] --> src/util/sound_context.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 50 | pub struct PlaybackContext { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AudioThread` is never constructed [INFO] [stdout] --> src/util/sound_context.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | struct AudioThread { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `fill_samples_buffer`, `tick_mix`, and `mix` are never used [INFO] [stdout] --> src/util/sound_context.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 62 | impl AudioThread { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 63 | pub fn new(sounds: Vec>, cons: Consumer, cons_samp: Consumer) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn fill_samples_buffer(&mut self, buf: &mut[f32], info: &cpal::OutputCallbackInfo) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn tick_mix(&mut self) -> f32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn mix(&mut self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/util/sound_context.rs:173:13 [INFO] [stdout] | [INFO] [stdout] 173 | self.prod_samp.push(sample); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 173 | let _ = self.prod_samp.push(sample); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SoundContext` is never constructed [INFO] [stdout] --> src/util/sound_context.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 124 | pub struct SoundContext { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `play`, and `send_samples` are never used [INFO] [stdout] --> src/util/sound_context.rs:131:12 [INFO] [stdout] | [INFO] [stdout] 130 | impl SoundContext { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 131 | pub fn new(device: Option, sounds: Vec>) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | pub fn play(&mut self, com: PlayCommand) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | pub fn send_samples(&mut self, samples: impl Iterator) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_folder` is never used [INFO] [stdout] --> src/util/sound_context.rs:178:8 [INFO] [stdout] | [INFO] [stdout] 178 | pub fn load_folder(path: &Path) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RenderCommand` is never constructed [INFO] [stdout] --> src/util/render_context.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct RenderCommand { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `draw_albedo` is never used [INFO] [stdout] --> src/util/render_context.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl RenderCommand { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] 27 | pub fn draw_albedo(&self, buf: &mut VertexBufCPU, render_context: &RenderContext) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_text` is never used [INFO] [stdout] --> src/util/render_context.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn render_text(buf: &mut Vec, s: String, mut base: RenderCommand) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SpriteHandle` is never constructed [INFO] [stdout] --> src/util/render_context.rs:129:12 [INFO] [stdout] | [INFO] [stdout] 129 | pub struct SpriteHandle { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ATLAS_WH` is never used [INFO] [stdout] --> src/util/render_context.rs:134:11 [INFO] [stdout] | [INFO] [stdout] 134 | pub const ATLAS_WH: IVec2 = ivec2(1024, 1024); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FRAG_ALBEDO` is never used [INFO] [stdout] --> src/util/render_context.rs:135:11 [INFO] [stdout] | [INFO] [stdout] 135 | pub const FRAG_ALBEDO: &str = r#"#version 330 core [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VERT_ALBEDO` is never used [INFO] [stdout] --> src/util/render_context.rs:148:11 [INFO] [stdout] | [INFO] [stdout] 148 | pub const VERT_ALBEDO: &str = r#"#version 330 core [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RenderContext` is never constructed [INFO] [stdout] --> src/util/render_context.rs:170:12 [INFO] [stdout] | [INFO] [stdout] 170 | pub struct RenderContext { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `frame`, and `resize` are never used [INFO] [stdout] --> src/util/render_context.rs:182:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl RenderContext { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 182 | pub fn new(gl: GLContext) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 274 | pub fn frame(&mut self, render_list: &Vec) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 303 | pub fn resize(&mut self, wh: IVec2) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Vertex` is never constructed [INFO] [stdout] --> src/util/render_context.rs:313:12 [INFO] [stdout] | [INFO] [stdout] 313 | pub struct Vertex { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VertexBufCPU` is never constructed [INFO] [stdout] --> src/util/render_context.rs:322:12 [INFO] [stdout] | [INFO] [stdout] 322 | pub struct VertexBufCPU { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `extend` is never used [INFO] [stdout] --> src/util/render_context.rs:328:12 [INFO] [stdout] | [INFO] [stdout] 327 | impl VertexBufCPU { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 328 | pub fn extend(&mut self, verts: impl Iterator, inds: impl Iterator) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INTERNAL_WH` is never used [INFO] [stdout] --> src/util/context.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | pub const INTERNAL_WH: IVec2 = ivec2(640, 360); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Input` is never constructed [INFO] [stdout] --> src/util/context.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct Input { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `reset_for_frame` is never used [INFO] [stdout] --> src/util/context.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl Input { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 32 | pub fn reset_for_frame(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Context` is never constructed [INFO] [stdout] --> src/util/context.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 40 | pub struct Context { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `App` is never used [INFO] [stdout] --> src/util/context.rs:47:11 [INFO] [stdout] | [INFO] [stdout] 47 | pub trait App { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_gl`, and `run` are never used [INFO] [stdout] --> src/util/context.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 51 | impl Context { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 52 | pub fn new(name: &'static str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn get_gl(&self) -> glow::Context { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn run(mut self, mut t: T) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Parallel` is never constructed [INFO] [stdout] --> src/signal_chain.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct Parallel { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/signal_chain.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 39 | impl Parallel { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 40 | pub fn new(elems: Vec>) -> Box { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Feedback` is never constructed [INFO] [stdout] --> src/signal_chain.rs:44:12 [INFO] [stdout] | [INFO] [stdout] 44 | pub struct Feedback { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/signal_chain.rs:56:12 [INFO] [stdout] | [INFO] [stdout] 55 | impl Feedback { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 56 | pub fn new(elem: Box, w: Vec2) -> Box { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/util/file_utils.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | dir_traverse(Path::new("data"), &mut |p| println!("{:?}", p)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 21 | let _ = dir_traverse(Path::new("data"), &mut |p| println!("{:?}", p)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/util/sound_context.rs:173:13 [INFO] [stdout] | [INFO] [stdout] 173 | self.prod_samp.push(sample); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 173 | let _ = self.prod_samp.push(sample); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/util/render_context.rs:281:13 [INFO] [stdout] | [INFO] [stdout] 275 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 281 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PHI` is never used [INFO] [stdout] --> src/util/mod.rs:36:11 [INFO] [stdout] | [INFO] [stdout] 36 | pub const PHI: f32 = 1.618033988749894848204; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Lerp` is never used [INFO] [stdout] --> src/util/lerp.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait Lerp { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `vec4` is never used [INFO] [stdout] --> src/util/vec4.rs:13:14 [INFO] [stdout] | [INFO] [stdout] 13 | pub const fn vec4(x: f32, y: f32, z: f32, w: f32) -> Vec4 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ivec2` is never used [INFO] [stdout] --> src/util/ivec2.rs:10:14 [INFO] [stdout] | [INFO] [stdout] 10 | pub const fn ivec2(x: i32, y: i32) -> IVec2 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `AsVec2` is never used [INFO] [stdout] --> src/util/ivec2.rs:14:11 [INFO] [stdout] | [INFO] [stdout] 14 | pub trait AsVec2 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `ExpectWith` is never used [INFO] [stdout] --> src/util/option_utils.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait ExpectWith { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `UnwrapMut` is never used [INFO] [stdout] --> src/util/option_utils.rs:36:11 [INFO] [stdout] | [INFO] [stdout] 36 | pub trait UnwrapMut { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `UnwrapRef` is never used [INFO] [stdout] --> src/util/option_utils.rs:59:11 [INFO] [stdout] | [INFO] [stdout] 59 | pub trait UnwrapRef<'a, T> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenRef` is never constructed [INFO] [stdout] --> src/util/gen_ref.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct GenRef { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `deref`, `deref_mut`, `free`, and `change_arenas` are never used [INFO] [stdout] --> src/util/gen_ref.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl GenRef { [INFO] [stdout] | ------------------------ methods in this implementation [INFO] [stdout] 35 | pub fn deref<'a>(&self, arena: &'a GenArena) -> Option<&'a T> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn deref_mut<'a>(&self, arena: &'a mut GenArena) -> Option<&'a mut T> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn free<'a>(&self, arena: &'a mut GenArena) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn change_arenas(&mut self, from: &GenArena, to: &mut GenArena) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenBucket` is never constructed [INFO] [stdout] --> src/util/gen_ref.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 59 | pub struct GenBucket { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/util/gen_ref.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 65 | impl GenBucket { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] 66 | fn new(item: T) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenArena` is never constructed [INFO] [stdout] --> src/util/gen_ref.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 75 | pub struct GenArena { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/util/gen_ref.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 79 | impl GenArena { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 80 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn borrow<'a>(&'a self, gen_ref: &GenRef) -> Option<&'a T> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn borrow_mut<'a>(&'a mut self, gen_ref: &GenRef) -> Option<&'a mut T> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn borrow_2<'a>( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | pub fn borrow_2_mut<'a>( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn borrow_many<'a>(&'a self, gen_refs: &'a [GenRef]) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | pub fn borrow_many_mut<'a>(&'a mut self, gen_refs: &'a [GenRef]) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | pub fn free(&mut self, gen_ref: &GenRef) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | pub fn alloc(&mut self, item: T) -> GenRef { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ImageBuffer` is never constructed [INFO] [stdout] --> src/util/image.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct ImageBuffer { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/util/image.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl ImageBuffer { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 17 | pub fn new(wh: IVec2) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn from_bytes(png_bytes: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn get(&self, x: usize, y: usize) -> Vec4 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn set(&mut self, x: usize, y: usize, colour: Vec4) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn fill(&mut self, colour: Vec4) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn set_square(&mut self, x: usize, y: usize, r: usize, colour: Vec4) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn circle(&mut self, x: usize, y: usize, r: usize, rr: usize, colour: Vec4) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn save(&self, path: &Path) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dir_traverse` is never used [INFO] [stdout] --> src/util/file_utils.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn dir_traverse(path: &Path, f: &mut impl FnMut(&Path)) -> Result<(), std::io::Error> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `my_read_dir` is never used [INFO] [stdout] --> src/util/file_utils.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn my_read_dir(path: &Path) -> std::io::Result> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MyDirEntry` is never constructed [INFO] [stdout] --> src/util/file_utils.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 62 | pub struct MyDirEntry { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `AsBytes` is never used [INFO] [stdout] --> src/util/texture.rs:2:11 [INFO] [stdout] | [INFO] [stdout] 2 | pub trait AsBytes { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Texture` is never constructed [INFO] [stdout] --> src/util/texture.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct Texture { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `fill`, `sample`, `sample_checked`, and `save` are never used [INFO] [stdout] --> src/util/texture.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl Texture { [INFO] [stdout] | ----------------------------------- associated items in this implementation [INFO] [stdout] 29 | pub fn new(wh: IVec2, initial: T) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn fill(&mut self, value: T) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn sample(&self, coord: IVec2) -> T { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn sample_checked(&self, coord: IVec2) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn save(&self, path: &std::path::Path, f: impl Fn(T)->[u8;4]) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Draw` is never used [INFO] [stdout] --> src/util/texture.rs:84:11 [INFO] [stdout] | [INFO] [stdout] 84 | pub trait Draw { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/util/render_context.rs:281:13 [INFO] [stdout] | [INFO] [stdout] 275 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 281 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dist_fn` is never used [INFO] [stdout] --> src/util/distance_field_generation.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn dist_fn(p1: IVec2, p2: IVec2) -> f32 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `spread` is never used [INFO] [stdout] --> src/util/distance_field_generation.rs:10:4 [INFO] [stdout] | [INFO] [stdout] 10 | fn spread(distance: &mut Texture, nearest: &mut Texture, p1: IVec2, p2: IVec2) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sdf1` is never used [INFO] [stdout] --> src/util/distance_field_generation.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn sdf1(in_stencil: Texture) -> Texture { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `normalize` is never used [INFO] [stdout] --> src/util/distance_field_generation.rs:74:12 [INFO] [stdout] | [INFO] [stdout] 73 | impl Texture { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 74 | pub fn normalize(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `random_seed` is never used [INFO] [stdout] --> src/util/rng.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn random_seed() -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `KHash` is never used [INFO] [stdout] --> src/util/rng.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub trait KHash { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lanczos_interp` is never used [INFO] [stdout] --> src/util/signal.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn lanczos_interp(s: &[f32], r: f32, a: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lanczos_kernel` is never used [INFO] [stdout] --> src/util/signal.rs:29:4 [INFO] [stdout] | [INFO] [stdout] 29 | fn lanczos_kernel(x: f32, a: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `load` is never used [INFO] [stdout] --> src/util/signal.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 41 | pub trait Wav { [INFO] [stdout] | --- associated function in this trait [INFO] [stdout] 42 | fn load(path: &str) -> (u32, Self); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_wav` is never used [INFO] [stdout] --> src/util/signal.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn load_wav(path: &str) -> Option<(u32, Vec)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_wav` is never used [INFO] [stdout] --> src/util/sound_context.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn load_wav(path: &Path) -> Option<(u32, Vec)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PlayCommand` is never constructed [INFO] [stdout] --> src/util/sound_context.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct PlayCommand { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PlaybackContext` is never constructed [INFO] [stdout] --> src/util/sound_context.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 50 | pub struct PlaybackContext { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AudioThread` is never constructed [INFO] [stdout] --> src/util/sound_context.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | struct AudioThread { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `fill_samples_buffer`, `tick_mix`, and `mix` are never used [INFO] [stdout] --> src/util/sound_context.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 62 | impl AudioThread { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 63 | pub fn new(sounds: Vec>, cons: Consumer, cons_samp: Consumer) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn fill_samples_buffer(&mut self, buf: &mut[f32], info: &cpal::OutputCallbackInfo) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn tick_mix(&mut self) -> f32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn mix(&mut self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SoundContext` is never constructed [INFO] [stdout] --> src/util/sound_context.rs:124:12 [INFO] [stdout] | [INFO] [stdout] 124 | pub struct SoundContext { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `play`, and `send_samples` are never used [INFO] [stdout] --> src/util/sound_context.rs:131:12 [INFO] [stdout] | [INFO] [stdout] 130 | impl SoundContext { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 131 | pub fn new(device: Option, sounds: Vec>) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | pub fn play(&mut self, com: PlayCommand) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | pub fn send_samples(&mut self, samples: impl Iterator) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_folder` is never used [INFO] [stdout] --> src/util/sound_context.rs:178:8 [INFO] [stdout] | [INFO] [stdout] 178 | pub fn load_folder(path: &Path) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RenderCommand` is never constructed [INFO] [stdout] --> src/util/render_context.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct RenderCommand { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `draw_albedo` is never used [INFO] [stdout] --> src/util/render_context.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl RenderCommand { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] 27 | pub fn draw_albedo(&self, buf: &mut VertexBufCPU, render_context: &RenderContext) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_text` is never used [INFO] [stdout] --> src/util/render_context.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn render_text(buf: &mut Vec, s: String, mut base: RenderCommand) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SpriteHandle` is never constructed [INFO] [stdout] --> src/util/render_context.rs:129:12 [INFO] [stdout] | [INFO] [stdout] 129 | pub struct SpriteHandle { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ATLAS_WH` is never used [INFO] [stdout] --> src/util/render_context.rs:134:11 [INFO] [stdout] | [INFO] [stdout] 134 | pub const ATLAS_WH: IVec2 = ivec2(1024, 1024); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FRAG_ALBEDO` is never used [INFO] [stdout] --> src/util/render_context.rs:135:11 [INFO] [stdout] | [INFO] [stdout] 135 | pub const FRAG_ALBEDO: &str = r#"#version 330 core [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VERT_ALBEDO` is never used [INFO] [stdout] --> src/util/render_context.rs:148:11 [INFO] [stdout] | [INFO] [stdout] 148 | pub const VERT_ALBEDO: &str = r#"#version 330 core [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RenderContext` is never constructed [INFO] [stdout] --> src/util/render_context.rs:170:12 [INFO] [stdout] | [INFO] [stdout] 170 | pub struct RenderContext { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `frame`, and `resize` are never used [INFO] [stdout] --> src/util/render_context.rs:182:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl RenderContext { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 182 | pub fn new(gl: GLContext) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 274 | pub fn frame(&mut self, render_list: &Vec) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 303 | pub fn resize(&mut self, wh: IVec2) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Vertex` is never constructed [INFO] [stdout] --> src/util/render_context.rs:313:12 [INFO] [stdout] | [INFO] [stdout] 313 | pub struct Vertex { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VertexBufCPU` is never constructed [INFO] [stdout] --> src/util/render_context.rs:322:12 [INFO] [stdout] | [INFO] [stdout] 322 | pub struct VertexBufCPU { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `extend` is never used [INFO] [stdout] --> src/util/render_context.rs:328:12 [INFO] [stdout] | [INFO] [stdout] 327 | impl VertexBufCPU { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 328 | pub fn extend(&mut self, verts: impl Iterator, inds: impl Iterator) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INTERNAL_WH` is never used [INFO] [stdout] --> src/util/context.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | pub const INTERNAL_WH: IVec2 = ivec2(640, 360); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sc` [INFO] [stdout] --> src/inst.rs:139:9 [INFO] [stdout] | [INFO] [stdout] 139 | let sc = SoundContext::new(None, vec![]); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_sc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `rng` is never read [INFO] [stdout] --> src/inst.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct Instrument { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 19 | rng: u32, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Input` is never constructed [INFO] [stdout] --> src/util/context.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct Input { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PHI` is never used [INFO] [stdout] --> src/util/mod.rs:36:11 [INFO] [stdout] | [INFO] [stdout] 36 | pub const PHI: f32 = 1.618033988749894848204; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `reset_for_frame` is never used [INFO] [stdout] --> src/util/context.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl Input { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] 32 | pub fn reset_for_frame(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Lerp` is never used [INFO] [stdout] --> src/util/lerp.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait Lerp { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Context` is never constructed [INFO] [stdout] --> src/util/context.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 40 | pub struct Context { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `ExpectWith` is never used [INFO] [stdout] --> src/util/option_utils.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait ExpectWith { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `App` is never used [INFO] [stdout] --> src/util/context.rs:47:11 [INFO] [stdout] | [INFO] [stdout] 47 | pub trait App { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `UnwrapMut` is never used [INFO] [stdout] --> src/util/option_utils.rs:36:11 [INFO] [stdout] | [INFO] [stdout] 36 | pub trait UnwrapMut { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `UnwrapRef` is never used [INFO] [stdout] --> src/util/option_utils.rs:59:11 [INFO] [stdout] | [INFO] [stdout] 59 | pub trait UnwrapRef<'a, T> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_gl`, and `run` are never used [INFO] [stdout] --> src/util/context.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 51 | impl Context { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 52 | pub fn new(name: &'static str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn get_gl(&self) -> glow::Context { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn run(mut self, mut t: T) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenRef` is never constructed [INFO] [stdout] --> src/util/gen_ref.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct GenRef { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `deref`, `deref_mut`, `free`, and `change_arenas` are never used [INFO] [stdout] --> src/util/gen_ref.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl GenRef { [INFO] [stdout] | ------------------------ methods in this implementation [INFO] [stdout] 35 | pub fn deref<'a>(&self, arena: &'a GenArena) -> Option<&'a T> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn deref_mut<'a>(&self, arena: &'a mut GenArena) -> Option<&'a mut T> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn free<'a>(&self, arena: &'a mut GenArena) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn change_arenas(&mut self, from: &GenArena, to: &mut GenArena) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenBucket` is never constructed [INFO] [stdout] --> src/util/gen_ref.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 59 | pub struct GenBucket { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/util/gen_ref.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 65 | impl GenBucket { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] 66 | fn new(item: T) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenArena` is never constructed [INFO] [stdout] --> src/util/gen_ref.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 75 | pub struct GenArena { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/util/gen_ref.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 79 | impl GenArena { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 80 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn borrow<'a>(&'a self, gen_ref: &GenRef) -> Option<&'a T> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn borrow_mut<'a>(&'a mut self, gen_ref: &GenRef) -> Option<&'a mut T> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn borrow_2<'a>( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | pub fn borrow_2_mut<'a>( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn borrow_many<'a>(&'a self, gen_refs: &'a [GenRef]) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | pub fn borrow_many_mut<'a>(&'a mut self, gen_refs: &'a [GenRef]) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | pub fn free(&mut self, gen_ref: &GenRef) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | pub fn alloc(&mut self, item: T) -> GenRef { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_bytes`, `get`, `set_square`, `circle`, and `save` are never used [INFO] [stdout] --> src/util/image.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl ImageBuffer { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn from_bytes(png_bytes: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn get(&self, x: usize, y: usize) -> Vec4 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn set_square(&mut self, x: usize, y: usize, r: usize, colour: Vec4) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn circle(&mut self, x: usize, y: usize, r: usize, rr: usize, colour: Vec4) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn save(&self, path: &Path) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `my_read_dir` is never used [INFO] [stdout] --> src/util/file_utils.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn my_read_dir(path: &Path) -> std::io::Result> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MyDirEntry` is never constructed [INFO] [stdout] --> src/util/file_utils.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 62 | pub struct MyDirEntry { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `KHash` is never used [INFO] [stdout] --> src/util/rng.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub trait KHash { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lanczos_interp` is never used [INFO] [stdout] --> src/util/signal.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn lanczos_interp(s: &[f32], r: f32, a: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lanczos_kernel` is never used [INFO] [stdout] --> src/util/signal.rs:29:4 [INFO] [stdout] | [INFO] [stdout] 29 | fn lanczos_kernel(x: f32, a: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Wav` is never used [INFO] [stdout] --> src/util/signal.rs:41:11 [INFO] [stdout] | [INFO] [stdout] 41 | pub trait Wav { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_wav` is never used [INFO] [stdout] --> src/util/sound_context.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn load_wav(path: &Path) -> Option<(u32, Vec)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `music` is never read [INFO] [stdout] --> src/util/sound_context.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct PlayCommand { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 36 | pub music: bool, // currently ignored [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PlayCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `n` is never read [INFO] [stdout] --> src/util/sound_context.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 55 | struct AudioThread { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 60 | n: i64, [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `prod` and `stream` are never read [INFO] [stdout] --> src/util/sound_context.rs:125:5 [INFO] [stdout] | [INFO] [stdout] 124 | pub struct SoundContext { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 125 | prod: Producer, [INFO] [stdout] | ^^^^ [INFO] [stdout] 126 | prod_samp: Producer, [INFO] [stdout] 127 | stream: cpal::Stream, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `play` is never used [INFO] [stdout] --> src/util/sound_context.rs:167:12 [INFO] [stdout] | [INFO] [stdout] 130 | impl SoundContext { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 167 | pub fn play(&mut self, com: PlayCommand) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_folder` is never used [INFO] [stdout] --> src/util/sound_context.rs:178:8 [INFO] [stdout] | [INFO] [stdout] 178 | pub fn load_folder(path: &Path) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RenderCommand` is never constructed [INFO] [stdout] --> src/util/render_context.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct RenderCommand { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `draw_albedo` is never used [INFO] [stdout] --> src/util/render_context.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl RenderCommand { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] 27 | pub fn draw_albedo(&self, buf: &mut VertexBufCPU, render_context: &RenderContext) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_text` is never used [INFO] [stdout] --> src/util/render_context.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn render_text(buf: &mut Vec, s: String, mut base: RenderCommand) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `xy` and `wh` are never read [INFO] [stdout] --> src/util/render_context.rs:130:9 [INFO] [stdout] | [INFO] [stdout] 129 | pub struct SpriteHandle { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 130 | pub xy: IVec2, [INFO] [stdout] | ^^ [INFO] [stdout] 131 | pub wh: IVec2, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `SpriteHandle` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/util/render_context.rs:171:9 [INFO] [stdout] | [INFO] [stdout] 170 | pub struct RenderContext { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 171 | pub gl: GLContext, [INFO] [stdout] | ^^ [INFO] [stdout] 172 | pub program_albedo: NativeProgram, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 173 | pub vao: VertexArray, [INFO] [stdout] | ^^^ [INFO] [stdout] 174 | pub vbo: Buffer, [INFO] [stdout] | ^^^ [INFO] [stdout] 175 | pub ebo: Buffer, [INFO] [stdout] | ^^^ [INFO] [stdout] 176 | pub texture: GPUTexture, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 177 | pub resource_handles: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `frame` and `resize` are never used [INFO] [stdout] --> src/util/render_context.rs:274:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl RenderContext { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 274 | pub fn frame(&mut self, render_list: &Vec) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 303 | pub fn resize(&mut self, wh: IVec2) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Vertex` is never constructed [INFO] [stdout] --> src/util/render_context.rs:313:12 [INFO] [stdout] | [INFO] [stdout] 313 | pub struct Vertex { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VertexBufCPU` is never constructed [INFO] [stdout] --> src/util/render_context.rs:322:12 [INFO] [stdout] | [INFO] [stdout] 322 | pub struct VertexBufCPU { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `extend` is never used [INFO] [stdout] --> src/util/render_context.rs:328:12 [INFO] [stdout] | [INFO] [stdout] 327 | impl VertexBufCPU { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 328 | pub fn extend(&mut self, verts: impl Iterator, inds: impl Iterator) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `scroll` is never read [INFO] [stdout] --> src/util/context.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct Input { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] ... [INFO] [stdout] 26 | pub scroll: i32, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Input` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/util/file_utils.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | dir_traverse(Path::new("data"), &mut |p| println!("{:?}", p)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 21 | let _ = dir_traverse(Path::new("data"), &mut |p| println!("{:?}", p)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/util/sound_context.rs:173:13 [INFO] [stdout] | [INFO] [stdout] 173 | self.prod_samp.push(sample); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 173 | let _ = self.prod_samp.push(sample); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/util/sound_context.rs:173:13 [INFO] [stdout] | [INFO] [stdout] 173 | self.prod_samp.push(sample); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 173 | let _ = self.prod_samp.push(sample); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary `unsafe` block [INFO] [stdout] --> src/util/render_context.rs:281:13 [INFO] [stdout] | [INFO] [stdout] 275 | unsafe { [INFO] [stdout] | ------ because it's nested under this `unsafe` block [INFO] [stdout] ... [INFO] [stdout] 281 | unsafe { [INFO] [stdout] | ^^^^^^ unnecessary `unsafe` block [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_unsafe)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sc` [INFO] [stdout] --> src/inst2.rs:113:9 [INFO] [stdout] | [INFO] [stdout] 113 | let sc = SoundContext::new(None, vec![]); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_sc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/util/sound_context.rs:173:13 [INFO] [stdout] | [INFO] [stdout] 173 | self.prod_samp.push(sample); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 173 | let _ = self.prod_samp.push(sample); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `rng` is never read [INFO] [stdout] --> src/inst2.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct Instrument { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 16 | rng: u32, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `squash` is never used [INFO] [stdout] --> src/reverb.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn squash(z: Vec2) -> Vec2 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Reverb` is never constructed [INFO] [stdout] --> src/reverb.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Reverb { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `tick` are never used [INFO] [stdout] --> src/reverb.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl Reverb { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 12 | pub fn new(w: Vec2) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn tick(&mut self, z: Vec2, harm: f32) -> Vec2 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ReverbChain` is never constructed [INFO] [stdout] --> src/reverb.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct ReverbChain { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `tick` are never used [INFO] [stdout] --> src/reverb.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 38 | impl ReverbChain { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 39 | pub fn new(w: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn tick(&mut self, mut z: Vec2, harm: f32) -> Vec2 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PHI` is never used [INFO] [stdout] --> src/util/mod.rs:36:11 [INFO] [stdout] | [INFO] [stdout] 36 | pub const PHI: f32 = 1.618033988749894848204; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Lerp` is never used [INFO] [stdout] --> src/util/lerp.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait Lerp { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `ExpectWith` is never used [INFO] [stdout] --> src/util/option_utils.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait ExpectWith { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `UnwrapMut` is never used [INFO] [stdout] --> src/util/option_utils.rs:36:11 [INFO] [stdout] | [INFO] [stdout] 36 | pub trait UnwrapMut { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `UnwrapRef` is never used [INFO] [stdout] --> src/util/option_utils.rs:59:11 [INFO] [stdout] | [INFO] [stdout] 59 | pub trait UnwrapRef<'a, T> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenRef` is never constructed [INFO] [stdout] --> src/util/gen_ref.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct GenRef { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `deref`, `deref_mut`, `free`, and `change_arenas` are never used [INFO] [stdout] --> src/util/gen_ref.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl GenRef { [INFO] [stdout] | ------------------------ methods in this implementation [INFO] [stdout] 35 | pub fn deref<'a>(&self, arena: &'a GenArena) -> Option<&'a T> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn deref_mut<'a>(&self, arena: &'a mut GenArena) -> Option<&'a mut T> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn free<'a>(&self, arena: &'a mut GenArena) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn change_arenas(&mut self, from: &GenArena, to: &mut GenArena) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenBucket` is never constructed [INFO] [stdout] --> src/util/gen_ref.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 59 | pub struct GenBucket { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/util/gen_ref.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 65 | impl GenBucket { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] 66 | fn new(item: T) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `GenArena` is never constructed [INFO] [stdout] --> src/util/gen_ref.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 75 | pub struct GenArena { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/util/gen_ref.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 79 | impl GenArena { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 80 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn borrow<'a>(&'a self, gen_ref: &GenRef) -> Option<&'a T> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn borrow_mut<'a>(&'a mut self, gen_ref: &GenRef) -> Option<&'a mut T> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn borrow_2<'a>( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | pub fn borrow_2_mut<'a>( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn borrow_many<'a>(&'a self, gen_refs: &'a [GenRef]) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | pub fn borrow_many_mut<'a>(&'a mut self, gen_refs: &'a [GenRef]) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | pub fn free(&mut self, gen_ref: &GenRef) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | pub fn alloc(&mut self, item: T) -> GenRef { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_bytes`, `get`, `set_square`, `circle`, and `save` are never used [INFO] [stdout] --> src/util/image.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl ImageBuffer { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn from_bytes(png_bytes: &[u8]) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn get(&self, x: usize, y: usize) -> Vec4 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn set_square(&mut self, x: usize, y: usize, r: usize, colour: Vec4) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn circle(&mut self, x: usize, y: usize, r: usize, rr: usize, colour: Vec4) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn save(&self, path: &Path) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dir_traverse` is never used [INFO] [stdout] --> src/util/file_utils.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn dir_traverse(path: &Path, f: &mut impl FnMut(&Path)) -> Result<(), std::io::Error> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `my_read_dir` is never used [INFO] [stdout] --> src/util/file_utils.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn my_read_dir(path: &Path) -> std::io::Result> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MyDirEntry` is never constructed [INFO] [stdout] --> src/util/file_utils.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 62 | pub struct MyDirEntry { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `AsBytes` is never used [INFO] [stdout] --> src/util/texture.rs:2:11 [INFO] [stdout] | [INFO] [stdout] 2 | pub trait AsBytes { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Texture` is never constructed [INFO] [stdout] --> src/util/texture.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct Texture { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `fill`, `sample`, `sample_checked`, and `save` are never used [INFO] [stdout] --> src/util/texture.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl Texture { [INFO] [stdout] | ----------------------------------- associated items in this implementation [INFO] [stdout] 29 | pub fn new(wh: IVec2, initial: T) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn fill(&mut self, value: T) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn sample(&self, coord: IVec2) -> T { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn sample_checked(&self, coord: IVec2) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn save(&self, path: &std::path::Path, f: impl Fn(T)->[u8;4]) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Draw` is never used [INFO] [stdout] --> src/util/texture.rs:84:11 [INFO] [stdout] | [INFO] [stdout] 84 | pub trait Draw { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dist_fn` is never used [INFO] [stdout] --> src/util/distance_field_generation.rs:5:4 [INFO] [stdout] | [INFO] [stdout] 5 | fn dist_fn(p1: IVec2, p2: IVec2) -> f32 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `spread` is never used [INFO] [stdout] --> src/util/distance_field_generation.rs:10:4 [INFO] [stdout] | [INFO] [stdout] 10 | fn spread(distance: &mut Texture, nearest: &mut Texture, p1: IVec2, p2: IVec2) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sdf1` is never used [INFO] [stdout] --> src/util/distance_field_generation.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn sdf1(in_stencil: Texture) -> Texture { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `normalize` is never used [INFO] [stdout] --> src/util/distance_field_generation.rs:74:12 [INFO] [stdout] | [INFO] [stdout] 73 | impl Texture { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 74 | pub fn normalize(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `KHash` is never used [INFO] [stdout] --> src/util/rng.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub trait KHash { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lanczos_interp` is never used [INFO] [stdout] --> src/util/signal.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn lanczos_interp(s: &[f32], r: f32, a: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lanczos_kernel` is never used [INFO] [stdout] --> src/util/signal.rs:29:4 [INFO] [stdout] | [INFO] [stdout] 29 | fn lanczos_kernel(x: f32, a: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Wav` is never used [INFO] [stdout] --> src/util/signal.rs:41:11 [INFO] [stdout] | [INFO] [stdout] 41 | pub trait Wav { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_wav` is never used [INFO] [stdout] --> src/util/signal.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn load_wav(path: &str) -> Option<(u32, Vec)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `write_wav` is never used [INFO] [stdout] --> src/util/signal.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 79 | pub fn write_wav(outfile: &str, sample_rate: u32, samples: impl Iterator) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_wav` is never used [INFO] [stdout] --> src/util/sound_context.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn load_wav(path: &Path) -> Option<(u32, Vec)> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `music` is never read [INFO] [stdout] --> src/util/sound_context.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct PlayCommand { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 36 | pub music: bool, // currently ignored [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PlayCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `n` is never read [INFO] [stdout] --> src/util/sound_context.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 55 | struct AudioThread { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 60 | n: i64, [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `prod` and `stream` are never read [INFO] [stdout] --> src/util/sound_context.rs:125:5 [INFO] [stdout] | [INFO] [stdout] 124 | pub struct SoundContext { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 125 | prod: Producer, [INFO] [stdout] | ^^^^ [INFO] [stdout] 126 | prod_samp: Producer, [INFO] [stdout] 127 | stream: cpal::Stream, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `play` is never used [INFO] [stdout] --> src/util/sound_context.rs:167:12 [INFO] [stdout] | [INFO] [stdout] 130 | impl SoundContext { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 167 | pub fn play(&mut self, com: PlayCommand) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_folder` is never used [INFO] [stdout] --> src/util/sound_context.rs:178:8 [INFO] [stdout] | [INFO] [stdout] 178 | pub fn load_folder(path: &Path) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RenderCommand` is never constructed [INFO] [stdout] --> src/util/render_context.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct RenderCommand { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `draw_albedo` is never used [INFO] [stdout] --> src/util/render_context.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl RenderCommand { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] 27 | pub fn draw_albedo(&self, buf: &mut VertexBufCPU, render_context: &RenderContext) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_text` is never used [INFO] [stdout] --> src/util/render_context.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn render_text(buf: &mut Vec, s: String, mut base: RenderCommand) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `xy` and `wh` are never read [INFO] [stdout] --> src/util/render_context.rs:130:9 [INFO] [stdout] | [INFO] [stdout] 129 | pub struct SpriteHandle { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 130 | pub xy: IVec2, [INFO] [stdout] | ^^ [INFO] [stdout] 131 | pub wh: IVec2, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `SpriteHandle` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/util/render_context.rs:171:9 [INFO] [stdout] | [INFO] [stdout] 170 | pub struct RenderContext { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 171 | pub gl: GLContext, [INFO] [stdout] | ^^ [INFO] [stdout] 172 | pub program_albedo: NativeProgram, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 173 | pub vao: VertexArray, [INFO] [stdout] | ^^^ [INFO] [stdout] 174 | pub vbo: Buffer, [INFO] [stdout] | ^^^ [INFO] [stdout] 175 | pub ebo: Buffer, [INFO] [stdout] | ^^^ [INFO] [stdout] 176 | pub texture: GPUTexture, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 177 | pub resource_handles: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `frame` and `resize` are never used [INFO] [stdout] --> src/util/render_context.rs:274:12 [INFO] [stdout] | [INFO] [stdout] 181 | impl RenderContext { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 274 | pub fn frame(&mut self, render_list: &Vec) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 303 | pub fn resize(&mut self, wh: IVec2) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Vertex` is never constructed [INFO] [stdout] --> src/util/render_context.rs:313:12 [INFO] [stdout] | [INFO] [stdout] 313 | pub struct Vertex { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VertexBufCPU` is never constructed [INFO] [stdout] --> src/util/render_context.rs:322:12 [INFO] [stdout] | [INFO] [stdout] 322 | pub struct VertexBufCPU { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [WARN] too many lines in the log, truncating it