[INFO] cloning repository https://github.com/reed-evans/hyasynth-engine [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/reed-evans/hyasynth-engine" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Freed-evans%2Fhyasynth-engine", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Freed-evans%2Fhyasynth-engine'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] e10d503179dea4e0d3df15d317d2488266738b42 [INFO] checking reed-evans/hyasynth-engine/e10d503179dea4e0d3df15d317d2488266738b42 against master#d9563937fa3b030c5845811113505070109414d2 for pr-151830 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Freed-evans%2Fhyasynth-engine" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/reed-evans/hyasynth-engine [INFO] finished tweaking git repo https://github.com/reed-evans/hyasynth-engine [INFO] tweaked toml for git repo https://github.com/reed-evans/hyasynth-engine written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/reed-evans/hyasynth-engine on toolchain d9563937fa3b030c5845811113505070109414d2 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d9563937fa3b030c5845811113505070109414d2" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/reed-evans/hyasynth-engine 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" "+d9563937fa3b030c5845811113505070109414d2" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded oslog v0.2.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:cfa559dde23f44738f9990739aaa3487d8df3af37eb5df0572f7cf76004a604a" "/opt/rustwide/cargo-home/bin/cargo" "+d9563937fa3b030c5845811113505070109414d2" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 1987fceca53cf9a596dcd8ccdcb0f89b52dd194c469a885f46a739977d757625 [INFO] running `Command { std: "docker" "start" "-a" "1987fceca53cf9a596dcd8ccdcb0f89b52dd194c469a885f46a739977d757625", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1987fceca53cf9a596dcd8ccdcb0f89b52dd194c469a885f46a739977d757625", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1987fceca53cf9a596dcd8ccdcb0f89b52dd194c469a885f46a739977d757625", kill_on_drop: false }` [INFO] [stdout] 1987fceca53cf9a596dcd8ccdcb0f89b52dd194c469a885f46a739977d757625 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:cfa559dde23f44738f9990739aaa3487d8df3af37eb5df0572f7cf76004a604a" "/opt/rustwide/cargo-home/bin/cargo" "+d9563937fa3b030c5845811113505070109414d2" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1d0fcec460749564e7a2dec4af90d3ca3358f8fe3edf23d7a9e06f03f1a8bbab [INFO] running `Command { std: "docker" "start" "-a" "1d0fcec460749564e7a2dec4af90d3ca3358f8fe3edf23d7a9e06f03f1a8bbab", kill_on_drop: false }` [INFO] [stderr] Checking log v0.4.29 [INFO] [stderr] Checking hyasynth-engine v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `runtime_graph::*` [INFO] [stdout] --> src/state/mod.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | pub use runtime_graph::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ClipDef` [INFO] [stdout] --> src/clip_playback.rs:466:24 [INFO] [stdout] | [INFO] [stdout] 466 | use crate::state::{ClipDef, NoteDef}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `runtime_graph::*` [INFO] [stdout] --> src/state/mod.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | pub use runtime_graph::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `start_beat` is never read [INFO] [stdout] --> src/clip_playback.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 38 | struct PlayingClip { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 42 | start_beat: f64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PlayingClip` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `sample_rate` is never read [INFO] [stdout] --> src/clip_playback.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 61 | pub struct ClipPlayback { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 69 | sample_rate: f64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ModSignal` is never used [INFO] [stdout] --> src/modulation.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum ModSignal<'a> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `value_control` and `value_audio` are never used [INFO] [stdout] --> src/modulation.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl<'a> ModSignal<'a> { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] 20 | #[inline] [INFO] [stdout] 21 | pub fn value_control(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn value_audio(&self, frame: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NodeTypeBuilder` is never constructed [INFO] [stdout] --> src/node_factory.rs:139:12 [INFO] [stdout] | [INFO] [stdout] 139 | pub struct NodeTypeBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `param`, `audio_in`, `audio_out`, and `build` are never used [INFO] [stdout] --> src/node_factory.rs:144:12 [INFO] [stdout] | [INFO] [stdout] 143 | impl NodeTypeBuilder { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 144 | pub fn new(type_id: NodeTypeId, name: impl Into, category: impl Into) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | pub fn param(mut self, param: ParamInfo) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 155 | pub fn audio_in(mut self, id: u32, name: impl Into) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | pub fn audio_out(mut self, id: u32, name: impl Into) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn build(self) -> NodeTypeInfo { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `active_voice_count` is never used [INFO] [stdout] --> src/nodes/audio_player.rs:234:12 [INFO] [stdout] | [INFO] [stdout] 142 | impl AudioPlayerNode { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 234 | pub fn active_voice_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `LowpassFilter` is never used [INFO] [stdout] --> src/nodes/filters.rs:181:10 [INFO] [stdout] | [INFO] [stdout] 181 | pub type LowpassFilter = SvfFilter; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `HighpassFilter` is never used [INFO] [stdout] --> src/nodes/filters.rs:182:10 [INFO] [stdout] | [INFO] [stdout] 182 | pub type HighpassFilter = SvfFilter; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `BandpassFilter` is never used [INFO] [stdout] --> src/nodes/filters.rs:183:10 [INFO] [stdout] | [INFO] [stdout] 183 | pub type BandpassFilter = SvfFilter; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `NotchFilter` is never used [INFO] [stdout] --> src/nodes/filters.rs:184:10 [INFO] [stdout] | [INFO] [stdout] 184 | pub type NotchFilter = SvfFilter; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PHASE` is never used [INFO] [stdout] --> src/nodes/mod.rs:68:15 [INFO] [stdout] | [INFO] [stdout] 68 | pub const PHASE: u32 = 2; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ModulationInput` is never constructed [INFO] [stdout] --> src/parameter.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ModulationInput<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Parameter` is never constructed [INFO] [stdout] --> src/parameter.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct Parameter<'a> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `set_base`, `set_mod`, `value_control`, and `value_audio` are never used [INFO] [stdout] --> src/parameter.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl<'a> Parameter<'a> { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 20 | pub fn new(base: f32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn set_base(&mut self, value: f32) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn set_mod(&mut self, slot: usize, signal: ModSignal<'a>, depth: f32) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn value_control(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn value_audio(&self, frame: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PlanHandoff` is never constructed [INFO] [stdout] --> src/plan_handoff.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct PlanHandoff { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `write_plan`, `publish`, and `read_plan` are never used [INFO] [stdout] --> src/plan_handoff.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl PlanHandoff { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 17 | pub fn new(plan_a: ExecutionPlan, plan_b: ExecutionPlan) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn write_plan(&mut self) -> &mut ExecutionPlan { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn publish(&self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn read_plan(&self) -> &ExecutionPlan { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Scheduler` is never constructed [INFO] [stdout] --> src/scheduler.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Scheduler { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `compile_block`, `compile_event`, `beat_position`, `sample_position`, and `set_bpm` are never used [INFO] [stdout] --> src/scheduler.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl Scheduler { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 22 | pub fn new(sample_rate: f64) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn compile_block( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | fn compile_event(event: &MusicalEvent) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 192 | pub fn beat_position(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 197 | pub fn sample_position(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 202 | pub fn set_bpm(&mut self, bpm: f64) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `USER_NODE_MAX` is never used [INFO] [stdout] --> src/state/runtime_graph.rs:21:11 [INFO] [stdout] | [INFO] [stdout] 21 | pub const USER_NODE_MAX: NodeId = 0x0FFF_FFFF; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TRACK_MUTE_OFFSET` is never used [INFO] [stdout] --> src/state/runtime_graph.rs:31:11 [INFO] [stdout] | [INFO] [stdout] 31 | pub const TRACK_MUTE_OFFSET: NodeId = 2; // Reserved for future mute node [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_user_node` is never used [INFO] [stdout] --> src/state/runtime_graph.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn is_user_node(id: NodeId) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_track_node` is never used [INFO] [stdout] --> src/state/runtime_graph.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn is_track_node(id: NodeId) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `track_id_from_node` is never used [INFO] [stdout] --> src/state/runtime_graph.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn track_id_from_node(id: NodeId) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Transport` is never constructed [INFO] [stdout] --> src/transport.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct Transport { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `seconds` and `beats` are never used [INFO] [stdout] --> src/transport.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl Transport { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn seconds(&self) -> f64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn beats(&self) -> f64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MusicalTransport` is never constructed [INFO] [stdout] --> src/transport.rs:71:12 [INFO] [stdout] | [INFO] [stdout] 71 | pub struct MusicalTransport { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/transport.rs:86:12 [INFO] [stdout] | [INFO] [stdout] 85 | impl MusicalTransport { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 86 | pub fn new(sample_rate: f64) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn resolve_transport(&self) -> Transport { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | pub fn advance_samples(&mut self, frames: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 130 | pub fn sample_position(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn beat_position(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | pub fn bpm(&self) -> f64 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | pub fn sample_rate(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 153 | pub fn set_bpm(&mut self, bpm: f64) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 163 | pub fn beat_offset_to_sample_offset(&self, beats: f64) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | pub fn event_sample_offset(&self, event: &MusicalEvent) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 182 | pub fn event_sample_position(&self, event: &MusicalEvent) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `start_beat` is never read [INFO] [stdout] --> src/clip_playback.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 38 | struct PlayingClip { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 42 | start_beat: f64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PlayingClip` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `sample_rate` is never read [INFO] [stdout] --> src/clip_playback.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 61 | pub struct ClipPlayback { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 69 | sample_rate: f64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ModSignal` is never used [INFO] [stdout] --> src/modulation.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum ModSignal<'a> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `value_control` and `value_audio` are never used [INFO] [stdout] --> src/modulation.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl<'a> ModSignal<'a> { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] 20 | #[inline] [INFO] [stdout] 21 | pub fn value_control(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn value_audio(&self, frame: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NodeTypeBuilder` is never constructed [INFO] [stdout] --> src/node_factory.rs:139:12 [INFO] [stdout] | [INFO] [stdout] 139 | pub struct NodeTypeBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `param`, `audio_in`, `audio_out`, and `build` are never used [INFO] [stdout] --> src/node_factory.rs:144:12 [INFO] [stdout] | [INFO] [stdout] 143 | impl NodeTypeBuilder { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 144 | pub fn new(type_id: NodeTypeId, name: impl Into, category: impl Into) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | pub fn param(mut self, param: ParamInfo) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 155 | pub fn audio_in(mut self, id: u32, name: impl Into) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | pub fn audio_out(mut self, id: u32, name: impl Into) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn build(self) -> NodeTypeInfo { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `LowpassFilter` is never used [INFO] [stdout] --> src/nodes/filters.rs:181:10 [INFO] [stdout] | [INFO] [stdout] 181 | pub type LowpassFilter = SvfFilter; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `HighpassFilter` is never used [INFO] [stdout] --> src/nodes/filters.rs:182:10 [INFO] [stdout] | [INFO] [stdout] 182 | pub type HighpassFilter = SvfFilter; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `BandpassFilter` is never used [INFO] [stdout] --> src/nodes/filters.rs:183:10 [INFO] [stdout] | [INFO] [stdout] 183 | pub type BandpassFilter = SvfFilter; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `NotchFilter` is never used [INFO] [stdout] --> src/nodes/filters.rs:184:10 [INFO] [stdout] | [INFO] [stdout] 184 | pub type NotchFilter = SvfFilter; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PHASE` is never used [INFO] [stdout] --> src/nodes/mod.rs:68:15 [INFO] [stdout] | [INFO] [stdout] 68 | pub const PHASE: u32 = 2; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ModulationInput` is never constructed [INFO] [stdout] --> src/parameter.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ModulationInput<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Parameter` is never constructed [INFO] [stdout] --> src/parameter.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct Parameter<'a> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `set_base`, `set_mod`, `value_control`, and `value_audio` are never used [INFO] [stdout] --> src/parameter.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl<'a> Parameter<'a> { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 20 | pub fn new(base: f32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn set_base(&mut self, value: f32) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn set_mod(&mut self, slot: usize, signal: ModSignal<'a>, depth: f32) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn value_control(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn value_audio(&self, frame: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PlanHandoff` is never constructed [INFO] [stdout] --> src/plan_handoff.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct PlanHandoff { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `write_plan`, `publish`, and `read_plan` are never used [INFO] [stdout] --> src/plan_handoff.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl PlanHandoff { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 17 | pub fn new(plan_a: ExecutionPlan, plan_b: ExecutionPlan) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn write_plan(&mut self) -> &mut ExecutionPlan { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn publish(&self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn read_plan(&self) -> &ExecutionPlan { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Scheduler` is never constructed [INFO] [stdout] --> src/scheduler.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Scheduler { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `compile_block`, `compile_event`, `beat_position`, `sample_position`, and `set_bpm` are never used [INFO] [stdout] --> src/scheduler.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl Scheduler { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 22 | pub fn new(sample_rate: f64) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn compile_block( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | fn compile_event(event: &MusicalEvent) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 192 | pub fn beat_position(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 197 | pub fn sample_position(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 202 | pub fn set_bpm(&mut self, bpm: f64) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `USER_NODE_MAX` is never used [INFO] [stdout] --> src/state/runtime_graph.rs:21:11 [INFO] [stdout] | [INFO] [stdout] 21 | pub const USER_NODE_MAX: NodeId = 0x0FFF_FFFF; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TRACK_MUTE_OFFSET` is never used [INFO] [stdout] --> src/state/runtime_graph.rs:31:11 [INFO] [stdout] | [INFO] [stdout] 31 | pub const TRACK_MUTE_OFFSET: NodeId = 2; // Reserved for future mute node [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_user_node` is never used [INFO] [stdout] --> src/state/runtime_graph.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn is_user_node(id: NodeId) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Transport` is never constructed [INFO] [stdout] --> src/transport.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct Transport { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `seconds` and `beats` are never used [INFO] [stdout] --> src/transport.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl Transport { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn seconds(&self) -> f64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn beats(&self) -> f64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MusicalTransport` is never constructed [INFO] [stdout] --> src/transport.rs:71:12 [INFO] [stdout] | [INFO] [stdout] 71 | pub struct MusicalTransport { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/transport.rs:86:12 [INFO] [stdout] | [INFO] [stdout] 85 | impl MusicalTransport { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 86 | pub fn new(sample_rate: f64) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn resolve_transport(&self) -> Transport { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | pub fn advance_samples(&mut self, frames: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 130 | pub fn sample_position(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn beat_position(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 140 | pub fn bpm(&self) -> f64 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | pub fn sample_rate(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 153 | pub fn set_bpm(&mut self, bpm: f64) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 163 | pub fn beat_offset_to_sample_offset(&self, beats: f64) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | pub fn event_sample_offset(&self, event: &MusicalEvent) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 182 | pub fn event_sample_position(&self, event: &MusicalEvent) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `runtime_graph::*` [INFO] [stdout] --> src/state/mod.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | pub use runtime_graph::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `compile::compile`, `engine::Engine`, `execution_plan::ExecutionPlan`, `node_factory::NodeRegistry`, `node_types`, `plan_handoff::PlanHandoff`, `register_standard_nodes`, `scheduler::Scheduler`, `state::GraphDef`, and `voice_allocator::VoiceAllocator` [INFO] [stdout] --> src/main.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | compile::compile, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 22 | engine::Engine, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 23 | execution_plan::ExecutionPlan, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 24 | node_factory::NodeRegistry, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 25 | nodes::{node_types, register_standard_nodes}, [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 26 | plan_handoff::PlanHandoff, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 27 | scheduler::Scheduler, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 28 | state::GraphDef, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 29 | voice_allocator::VoiceAllocator, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `runtime_graph::*` [INFO] [stdout] --> src/state/mod.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | pub use runtime_graph::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `compile::compile`, `engine::Engine`, `execution_plan::ExecutionPlan`, `node_factory::NodeRegistry`, `node_types`, `plan_handoff::PlanHandoff`, `register_standard_nodes`, `scheduler::Scheduler`, `state::GraphDef`, and `voice_allocator::VoiceAllocator` [INFO] [stdout] --> src/main.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | compile::compile, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 22 | engine::Engine, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 23 | execution_plan::ExecutionPlan, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 24 | node_factory::NodeRegistry, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 25 | nodes::{node_types, register_standard_nodes}, [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 26 | plan_handoff::PlanHandoff, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 27 | scheduler::Scheduler, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 28 | state::GraphDef, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 29 | voice_allocator::VoiceAllocator, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `result_rx` and `readback` are never read [INFO] [stdout] --> src/bridge.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 40 | pub struct SessionHandle { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 48 | result_rx: Receiver, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | readback: Arc, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `result_tx` and `readback` are never read [INFO] [stdout] --> src/bridge.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 58 | pub struct EngineHandle { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 66 | result_tx: Sender, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | readback: Arc, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `sample_position`, `beat_position_bits`, `active_voices`, and `running` are never read [INFO] [stdout] --> src/bridge.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 75 | struct SharedReadback { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 76 | sample_position: AtomicU64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 77 | /// Beat position stored as f64 bits (no AtomicF64 in std) [INFO] [stdout] 78 | beat_position_bits: AtomicU64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 79 | active_voices: AtomicU64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 80 | running: AtomicBool, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/bridge.rs:132:12 [INFO] [stdout] | [INFO] [stdout] 125 | impl SessionHandle { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 132 | pub fn session_mut(&mut self) -> &mut Session { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 367 | pub fn poll_results(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 383 | pub fn readback(&self) -> EngineReadback { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 412 | pub fn remove_node(&mut self, node_id: NodeId) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 426 | pub fn play(&mut self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 431 | pub fn stop(&mut self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 441 | pub fn note_off(&mut self, note: u8) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 453 | pub fn build_runtime_graph(&self) -> crate::state::GraphDef { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 460 | pub fn recompile_graph(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 468 | pub fn get_track_param_updates( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 479 | pub fn sync_track(&mut self, track_id: crate::state::TrackId) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 490 | pub fn sync_all_tracks(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 505 | pub fn create_track(&mut self, name: impl Into) -> crate::state::TrackId { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 515 | pub fn delete_track(&mut self, track_id: crate::state::TrackId) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 521 | pub fn set_track_volume(&mut self, track_id: crate::state::TrackId, volume: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 527 | pub fn set_track_pan(&mut self, track_id: crate::state::TrackId, pan: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 533 | pub fn set_track_mute(&mut self, track_id: crate::state::TrackId, mute: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 539 | pub fn set_track_target(&mut self, track_id: crate::state::TrackId, node_id: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/bridge.rs:570:12 [INFO] [stdout] | [INFO] [stdout] 550 | impl EngineHandle { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 570 | pub fn try_recv(&self) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 575 | pub fn send_result(&self, result: CommandResult) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 598 | pub fn reset(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 608 | pub fn is_playing(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 614 | pub fn bpm(&self) -> f64 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 620 | pub fn active_voices(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 625 | pub fn engine(&self) -> &Engine { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 651 | pub fn update_sample_position(&self, pos: u64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 656 | pub fn update_beat_position(&self, pos: f64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 663 | pub fn update_active_voices_readback(&self, count: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 672 | pub fn sync_readback(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 682 | pub fn set_running(&self, running: bool) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_playing`, `bpm`, `active_voices`, and `graph` are never used [INFO] [stdout] --> src/engine.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 35 | impl Engine { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn is_playing(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn bpm(&self) -> f64 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 163 | pub fn active_voices(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 308 | pub fn graph(&self) -> &Graph { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/event.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub enum MusicalEvent { [INFO] [stdout] | ------------ variants in this enum [INFO] [stdout] 15 | /// Note on (global, for live playing). [INFO] [stdout] 16 | NoteOn { beat: f64, note: u8, velocity: f32 }, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | NoteOff { beat: f64, note: u8 }, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | NoteOnTarget { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | NoteOffTarget { beat: f64, node_id: u32, note: u8 }, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | ParamChange { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | AudioStart { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | AudioStop { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MusicalEvent` 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: method `as_voice_buffer` is never used [INFO] [stdout] --> src/graph.rs:53:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl NodeBuffer { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn as_voice_buffer(&mut self, voice_id: usize, frames: usize) -> AudioBuffer<'_> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `load_audio` and `unload_audio` are never used [INFO] [stdout] --> src/graph.rs:129:12 [INFO] [stdout] | [INFO] [stdout] 70 | impl NodeInstance { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 129 | pub fn load_audio(&mut self, data: crate::nodes::SharedAudioData) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 139 | pub fn unload_audio(&mut self, audio_id: crate::state::AudioPoolId) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `load_audio`, `unload_audio`, and `load_audio_to_all` are never used [INFO] [stdout] --> src/graph.rs:601:12 [INFO] [stdout] | [INFO] [stdout] 180 | impl Graph { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 601 | pub fn load_audio(&mut self, node_id: usize, data: crate::nodes::SharedAudioData) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 608 | pub fn unload_audio(&mut self, node_id: usize, audio_id: crate::state::AudioPoolId) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 617 | pub fn load_audio_to_all(&mut self, data: crate::nodes::SharedAudioData) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ModSignal` is never used [INFO] [stdout] --> src/modulation.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum ModSignal<'a> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `value_control` and `value_audio` are never used [INFO] [stdout] --> src/modulation.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl<'a> ModSignal<'a> { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] 20 | #[inline] [INFO] [stdout] 21 | pub fn value_control(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn value_audio(&self, frame: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `sample_pos` and `bpm` are never read [INFO] [stdout] --> src/node.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct ProcessContext<'a> { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 25 | pub sample_pos: u64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub bpm: f64, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ProcessContext` 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: methods `num_channels`, `polyphony`, `handles_audio`, `load_audio`, and `unload_audio` are never used [INFO] [stdout] --> src/node.rs:86:8 [INFO] [stdout] | [INFO] [stdout] 62 | pub trait Node: Send { [INFO] [stdout] | ---- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 86 | fn num_channels(&self) -> usize; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | fn polyphony(&self) -> Polyphony { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | fn handles_audio(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 130 | fn load_audio(&mut self, _data: crate::nodes::SharedAudioData) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | fn unload_audio(&mut self, _audio_id: AudioPoolId) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `info` is never read [INFO] [stdout] --> src/node_factory.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 74 | struct NodeRegistryEntry { [INFO] [stdout] | ----------------- field in this struct [INFO] [stdout] 75 | info: NodeTypeInfo, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_info`, `iter`, and `by_category` are never used [INFO] [stdout] --> src/node_factory.rs:102:12 [INFO] [stdout] | [INFO] [stdout] 79 | impl NodeRegistry { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn get_info(&self, type_id: NodeTypeId) -> Option<&NodeTypeInfo> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | pub fn iter(&self) -> impl Iterator { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | pub fn by_category(&self) -> HashMap<&str, Vec<&NodeTypeInfo>> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NodeTypeBuilder` is never constructed [INFO] [stdout] --> src/node_factory.rs:139:12 [INFO] [stdout] | [INFO] [stdout] 139 | pub struct NodeTypeBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `param`, `audio_in`, `audio_out`, and `build` are never used [INFO] [stdout] --> src/node_factory.rs:144:12 [INFO] [stdout] | [INFO] [stdout] 143 | impl NodeTypeBuilder { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 144 | pub fn new(type_id: NodeTypeId, name: impl Into, category: impl Into) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | pub fn param(mut self, param: ParamInfo) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 155 | pub fn audio_in(mut self, id: u32, name: impl Into) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | pub fn audio_out(mut self, id: u32, name: impl Into) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn build(self) -> NodeTypeInfo { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `sample_rate` is never read [INFO] [stdout] --> src/nodes/audio_player.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct SharedAudioData { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 26 | pub sample_rate: f64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SharedAudioData` 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: associated function `from_pool_entry` is never used [INFO] [stdout] --> src/nodes/audio_player.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 35 | impl SharedAudioData { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] 36 | /// Create from an AudioPoolEntry. [INFO] [stdout] 37 | pub fn from_pool_entry(entry: &crate::state::AudioPoolEntry) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `unload_audio` is never used [INFO] [stdout] --> src/nodes/audio_player.rs:162:12 [INFO] [stdout] | [INFO] [stdout] 142 | impl AudioPlayerNode { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 162 | pub fn unload_audio(&mut self, id: AudioPoolId) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `LowpassFilter` is never used [INFO] [stdout] --> src/nodes/filters.rs:181:10 [INFO] [stdout] | [INFO] [stdout] 181 | pub type LowpassFilter = SvfFilter; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `HighpassFilter` is never used [INFO] [stdout] --> src/nodes/filters.rs:182:10 [INFO] [stdout] | [INFO] [stdout] 182 | pub type HighpassFilter = SvfFilter; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `BandpassFilter` is never used [INFO] [stdout] --> src/nodes/filters.rs:183:10 [INFO] [stdout] | [INFO] [stdout] 183 | pub type BandpassFilter = SvfFilter; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `NotchFilter` is never used [INFO] [stdout] --> src/nodes/filters.rs:184:10 [INFO] [stdout] | [INFO] [stdout] 184 | pub type NotchFilter = SvfFilter; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PHASE` is never used [INFO] [stdout] --> src/nodes/mod.rs:68:15 [INFO] [stdout] | [INFO] [stdout] 68 | pub const PHASE: u32 = 2; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ModulationInput` is never constructed [INFO] [stdout] --> src/parameter.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ModulationInput<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Parameter` is never constructed [INFO] [stdout] --> src/parameter.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct Parameter<'a> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `set_base`, `set_mod`, `value_control`, and `value_audio` are never used [INFO] [stdout] --> src/parameter.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl<'a> Parameter<'a> { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 20 | pub fn new(base: f32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn set_base(&mut self, value: f32) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn set_mod(&mut self, slot: usize, signal: ModSignal<'a>, depth: f32) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn value_control(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn value_audio(&self, frame: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `beat_position`, `sample_position`, and `set_bpm` are never used [INFO] [stdout] --> src/scheduler.rs:192:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl Scheduler { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 192 | pub fn beat_position(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 197 | pub fn sample_position(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 202 | pub fn set_bpm(&mut self, bpm: f64) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `color` is never read [INFO] [stdout] --> src/state/arrangement.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 30 | pub struct TrackDef { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 53 | pub color: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TrackDef` 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: fields `name`, `tempo`, and `color` are never read [INFO] [stdout] --> src/state/arrangement.rs:139:9 [INFO] [stdout] | [INFO] [stdout] 134 | pub struct SceneDef { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 139 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | pub tempo: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | pub color: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SceneDef` 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: field `audio_pool` is never read [INFO] [stdout] --> src/state/arrangement.rs:169:9 [INFO] [stdout] | [INFO] [stdout] 167 | pub struct Arrangement { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 168 | /// Audio pool - stores all recorded/imported audio samples. [INFO] [stdout] 169 | pub audio_pool: AudioPool, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arrangement` 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 methods are never used [INFO] [stdout] --> src/state/arrangement.rs:218:12 [INFO] [stdout] | [INFO] [stdout] 200 | impl Arrangement { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 218 | pub fn get_clip(&self, id: ClipId) -> Option<&ClipDef> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 260 | pub fn add_audio_to_clip(&mut self, clip_id: ClipId, region: AudioRegionDef) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 274 | pub fn add_audio_to_pool( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 285 | pub fn get_audio(&self, id: AudioPoolId) -> Option<&AudioPoolEntry> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 291 | pub fn remove_audio(&mut self, id: AudioPoolId) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 299 | pub fn create_clip_from_audio(&mut self, audio_id: AudioPoolId, bpm: f64) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 339 | pub fn get_track_by_index(&self, index: usize) -> Option<&TrackDef> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 408 | pub fn get_scene(&self, id: SceneId) -> Option<&SceneDef> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 413 | pub fn get_scene_by_index(&self, index: usize) -> Option<&SceneDef> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 454 | pub fn get_clip_slot(&self, track_id: TrackId, scene_index: usize) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 479 | pub fn placements_in_range( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 543 | pub fn has_solo(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 548 | pub fn is_track_audible(&self, track_id: TrackId) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id`, `name`, `sample_rate`, `channels`, `frames`, and `samples` are never read [INFO] [stdout] --> src/state/clip.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 31 | pub struct AudioPoolEntry { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 32 | /// Unique ID in the pool. [INFO] [stdout] 33 | pub id: AudioPoolId, [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub sample_rate: f64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub channels: usize, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub frames: usize, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub samples: Arc>, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AudioPoolEntry` 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: associated items `new`, `duration_seconds`, and `duration_beats` are never used [INFO] [stdout] --> src/state/clip.rs:53:12 [INFO] [stdout] | [INFO] [stdout] 52 | impl AudioPoolEntry { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 53 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn duration_seconds(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn duration_beats(&self, bpm: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `entries` and `next_id` are never read [INFO] [stdout] --> src/state/clip.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 84 | pub struct AudioPool { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 85 | entries: HashMap, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 86 | next_id: AudioPoolId, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AudioPool` 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: associated items `new`, `add`, `get`, `remove`, and `iter` are never used [INFO] [stdout] --> src/state/clip.rs:90:12 [INFO] [stdout] | [INFO] [stdout] 89 | impl AudioPool { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 90 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn add( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | pub fn get(&self, id: AudioPoolId) -> Option<&AudioPoolEntry> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | pub fn remove(&mut self, id: AudioPoolId) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | pub fn iter(&self) -> impl Iterator { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `end` is never used [INFO] [stdout] --> src/state/clip.rs:158:12 [INFO] [stdout] | [INFO] [stdout] 147 | impl NoteDef { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 158 | pub fn end(&self) -> f64 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `end`, `with_offset`, `with_gain`, `with_pitch`, and `with_stretch` are never used [INFO] [stdout] --> src/state/clip.rs:192:12 [INFO] [stdout] | [INFO] [stdout] 191 | impl AudioRegionDef { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 192 | pub fn new(start: f64, duration: f64, audio_id: AudioPoolId) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 205 | pub fn end(&self) -> f64 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 210 | pub fn with_offset(mut self, offset: f64) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn with_gain(mut self, gain: f32) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 222 | pub fn with_pitch(mut self, semitones: f32) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 228 | pub fn with_stretch(mut self, enabled: bool) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Audio` is never constructed [INFO] [stdout] --> src/state/clip.rs:244:5 [INFO] [stdout] | [INFO] [stdout] 239 | pub enum ClipEvent { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 244 | Audio(AudioRegionDef), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClipEvent` 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: methods `end`, `duration`, `overlaps`, `is_audio`, `as_note`, and `as_audio` are never used [INFO] [stdout] --> src/state/clip.rs:257:12 [INFO] [stdout] | [INFO] [stdout] 247 | impl ClipEvent { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 257 | pub fn end(&self) -> f64 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 265 | pub fn duration(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 273 | pub fn overlaps(&self, start: f64, end: f64) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 283 | pub fn is_audio(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 288 | pub fn as_note(&self) -> Option<&NoteDef> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 296 | pub fn as_audio(&self) -> Option<&AudioRegionDef> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id`, `name`, and `color` are never read [INFO] [stdout] --> src/state/clip.rs:316:9 [INFO] [stdout] | [INFO] [stdout] 314 | pub struct ClipDef { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 315 | /// Unique clip ID. [INFO] [stdout] 316 | pub id: ClipId, [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 319 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 328 | pub color: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClipDef` 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 methods are never used [INFO] [stdout] --> src/state/clip.rs:364:12 [INFO] [stdout] | [INFO] [stdout] 334 | impl ClipDef { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 364 | pub fn add_audio(&mut self, region: AudioRegionDef) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 369 | pub fn remove_event(&mut self, index: usize) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 398 | pub fn events_in_range(&self, start: f64, end: f64) -> impl Iterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 403 | pub fn notes(&self) -> impl Iterator { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 408 | pub fn audio_regions(&self) -> impl Iterator { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 413 | pub fn notes_in_range(&self, start: f64, end: f64) -> impl Iterator { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 419 | pub fn audio_in_range(&self, start: f64, end: f64) -> impl Iterator { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 430 | pub fn clear_notes(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 435 | pub fn clear_audio(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 440 | pub fn has_audio(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 445 | pub fn has_notes(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 450 | pub fn note_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 455 | pub fn audio_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/state/command.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub enum Command { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 26 | AddNodeDef { node: NodeDef }, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | RemoveNode { node_id: NodeId }, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | Disconnect { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | MoveNode { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | BeginParamGesture { node_id: NodeId, param_id: u32 }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | EndParamGesture { node_id: NodeId, param_id: u32 }, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | Play, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | Stop, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | SetTempo { bpm: f64 }, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | Seek { beat: f64 }, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | NoteOff { note: u8 }, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | ClearGraph, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | LoadConnections { connections: Vec }, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | CreateClip { name: String, length: f64 }, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | DeleteClip { clip_id: ClipId }, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | AddNoteToClip { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | RemoveNoteFromClip { clip_id: ClipId, note_index: usize }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | ClearClip { clip_id: ClipId }, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 130 | SetClipLength { clip_id: ClipId, length: f64 }, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 133 | SetClipLooping { clip_id: ClipId, looping: bool }, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 139 | CreateTrack { name: String }, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | DeleteTrack { track_id: TrackId }, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | SetTrackVolume { track_id: TrackId, volume: f32 }, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | SetTrackPan { track_id: TrackId, pan: f32 }, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 151 | SetTrackMute { track_id: TrackId, mute: bool }, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 154 | SetTrackSolo { track_id: TrackId, solo: bool }, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | SetTrackArmed { track_id: TrackId, armed: bool }, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | SetTrackTarget { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 166 | SetClipSlot { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | CreateScene { name: String }, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | DeleteScene { scene_id: SceneId }, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 182 | LaunchScene { scene_index: usize }, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 185 | LaunchClip { track_id: TrackId, clip_id: ClipId }, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | StopClip { track_id: TrackId }, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 191 | StopAllClips, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 197 | ScheduleClip { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | RemoveClipPlacement { track_id: TrackId, start_beat: f64 }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 213 | RecompileGraph, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 218 | SyncTrackParams { track_id: TrackId }, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | SyncAllTrackParams, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Command` 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: variants `Ok`, `NodeCreated`, and `Error` are never constructed [INFO] [stdout] --> src/state/command.rs:228:5 [INFO] [stdout] | [INFO] [stdout] 226 | pub enum CommandResult { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 227 | /// Command succeeded. [INFO] [stdout] 228 | Ok, [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 231 | NodeCreated { node_id: NodeId }, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 234 | Error { message: String }, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CommandResult` 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: variant `Control` is never constructed [INFO] [stdout] --> src/state/graph_def.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 28 | pub enum PortType { [INFO] [stdout] | -------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 32 | Control, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PortType` 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: fields `id`, `name`, `direction`, and `port_type` are never read [INFO] [stdout] --> src/state/graph_def.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 37 | pub struct PortInfo { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 38 | pub id: PortId, [INFO] [stdout] | ^^ [INFO] [stdout] 39 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 40 | pub direction: PortDirection, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 41 | pub port_type: PortType, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PortInfo` 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: fields `name` and `category` are never read [INFO] [stdout] --> src/state/graph_def.rs:81:9 [INFO] [stdout] | [INFO] [stdout] 79 | pub struct NodeTypeInfo { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 80 | pub type_id: NodeTypeId, [INFO] [stdout] 81 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 82 | pub category: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NodeTypeInfo` 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: method `find_param` is never used [INFO] [stdout] --> src/state/graph_def.rs:115:12 [INFO] [stdout] | [INFO] [stdout] 88 | impl NodeTypeInfo { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn find_param(&self, id: u32) -> Option<&ParamInfo> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_node`, `iter_nodes`, `connections_to`, and `connections_from` are never used [INFO] [stdout] --> src/state/graph_def.rs:272:12 [INFO] [stdout] | [INFO] [stdout] 194 | impl GraphDef { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 272 | pub fn get_node(&self, id: NodeId) -> Option<&NodeDef> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 282 | pub fn iter_nodes(&self) -> impl Iterator { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 287 | pub fn connections_to(&self, node_id: NodeId) -> impl Iterator { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 294 | pub fn connections_from(&self, node_id: NodeId) -> impl Iterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Exponential` is never constructed [INFO] [stdout] --> src/state/param_info.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum DisplayCurve { [INFO] [stdout] | ------------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 16 | Exponential, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DisplayCurve` 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: variants `Ms` and `Beats` are never constructed [INFO] [stdout] --> src/state/param_info.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 29 | pub enum ParamUnit { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 39 | Ms, [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 47 | Beats, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParamUnit` 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: fields `id`, `name`, `short_name`, and `step` are never read [INFO] [stdout] --> src/state/param_info.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 73 | pub struct ParamInfo { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 74 | /// Unique ID within the node type [INFO] [stdout] 75 | pub id: ParamId, [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 78 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub short_name: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub step: f32, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParamInfo` 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: methods `clamp`, `normalize`, `denormalize`, and `format` are never used [INFO] [stdout] --> src/state/param_info.rs:142:12 [INFO] [stdout] | [INFO] [stdout] 102 | impl ParamInfo { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn clamp(&self, value: f32) -> f32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | pub fn normalize(&self, value: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 154 | pub fn denormalize(&self, normalized: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 159 | pub fn format(&self, value: f32) -> String { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `USER_NODE_MAX` is never used [INFO] [stdout] --> src/state/runtime_graph.rs:21:11 [INFO] [stdout] | [INFO] [stdout] 21 | pub const USER_NODE_MAX: NodeId = 0x0FFF_FFFF; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TRACK_MUTE_OFFSET` is never used [INFO] [stdout] --> src/state/runtime_graph.rs:31:11 [INFO] [stdout] | [INFO] [stdout] 31 | pub const TRACK_MUTE_OFFSET: NodeId = 2; // Reserved for future mute node [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_user_node` is never used [INFO] [stdout] --> src/state/runtime_graph.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn is_user_node(id: NodeId) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `sync_track_params` and `sync_all_track_params` are never used [INFO] [stdout] --> src/state/runtime_graph.rs:192:12 [INFO] [stdout] | [INFO] [stdout] 76 | impl Session { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 192 | pub fn sync_track_params(&self, track_id: TrackId) -> Vec<(NodeId, u32, f32)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 211 | pub fn sync_all_track_params(&self) -> Vec<(NodeId, u32, f32)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `effective_volume` is never used [INFO] [stdout] --> src/state/runtime_graph.rs:232:12 [INFO] [stdout] | [INFO] [stdout] 224 | impl Arrangement { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 232 | pub fn effective_volume(&self, track_id: TrackId) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `beat_position`, `sample_position`, `loop_enabled`, `loop_start`, and `loop_end` are never read [INFO] [stdout] --> src/state/session.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct TransportState { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 18 | pub beat_position: f64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | pub sample_position: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub loop_enabled: bool, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub loop_start: f64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub loop_end: f64, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TransportState` 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: fields `name`, `sample_rate`, `max_voices`, and `max_block_size` are never read [INFO] [stdout] --> src/state/session.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 53 | pub struct Session { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 54 | /// Project name. [INFO] [stdout] 55 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub sample_rate: f64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub max_voices: usize, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub max_block_size: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Session` 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: struct `EngineReadback` is never constructed [INFO] [stdout] --> src/state/session.rs:101:12 [INFO] [stdout] | [INFO] [stdout] 101 | pub struct EngineReadback { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Transport` is never constructed [INFO] [stdout] --> src/transport.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct Transport { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `seconds` and `beats` are never used [INFO] [stdout] --> src/transport.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl Transport { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn seconds(&self) -> f64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn beats(&self) -> f64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `resolve_transport`, `beat_position`, and `set_bpm` are never used [INFO] [stdout] --> src/transport.rs:102:12 [INFO] [stdout] | [INFO] [stdout] 85 | impl MusicalTransport { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn resolve_transport(&self) -> Transport { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn beat_position(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 153 | pub fn set_bpm(&mut self, bpm: f64) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `velocity` is never read [INFO] [stdout] --> src/voice.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 77 | pub struct VoiceContext { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 80 | pub velocity: f32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `VoiceContext` 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: methods `get_voice` and `active_count` are never used [INFO] [stdout] --> src/voice_allocator.rs:83:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl VoiceAllocator { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn get_voice(&self, id: VoiceId) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn active_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/audio_buffer.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl<'a> AudioBuffer<'a> { [INFO] [stdout] | ------------------------ associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 11 | pub fn new(data: &'a mut [f32], channels: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `result_rx` and `readback` are never read [INFO] [stdout] --> src/bridge.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 40 | pub struct SessionHandle { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 48 | result_rx: Receiver, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | readback: Arc, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `result_tx` and `readback` are never read [INFO] [stdout] --> src/bridge.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 58 | pub struct EngineHandle { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 66 | result_tx: Sender, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | readback: Arc, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `sample_position`, `beat_position_bits`, `active_voices`, and `running` are never read [INFO] [stdout] --> src/bridge.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 75 | struct SharedReadback { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 76 | sample_position: AtomicU64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 77 | /// Beat position stored as f64 bits (no AtomicF64 in std) [INFO] [stdout] 78 | beat_position_bits: AtomicU64, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 79 | active_voices: AtomicU64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 80 | running: AtomicBool, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/bridge.rs:132:12 [INFO] [stdout] | [INFO] [stdout] 125 | impl SessionHandle { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 132 | pub fn session_mut(&mut self) -> &mut Session { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 367 | pub fn poll_results(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 383 | pub fn readback(&self) -> EngineReadback { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 412 | pub fn remove_node(&mut self, node_id: NodeId) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 426 | pub fn play(&mut self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 431 | pub fn stop(&mut self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 441 | pub fn note_off(&mut self, note: u8) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 453 | pub fn build_runtime_graph(&self) -> crate::state::GraphDef { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 460 | pub fn recompile_graph(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 468 | pub fn get_track_param_updates( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 479 | pub fn sync_track(&mut self, track_id: crate::state::TrackId) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 490 | pub fn sync_all_tracks(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 505 | pub fn create_track(&mut self, name: impl Into) -> crate::state::TrackId { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 515 | pub fn delete_track(&mut self, track_id: crate::state::TrackId) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 521 | pub fn set_track_volume(&mut self, track_id: crate::state::TrackId, volume: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 527 | pub fn set_track_pan(&mut self, track_id: crate::state::TrackId, pan: f32) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 533 | pub fn set_track_mute(&mut self, track_id: crate::state::TrackId, mute: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 539 | pub fn set_track_target(&mut self, track_id: crate::state::TrackId, node_id: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/bridge.rs:570:12 [INFO] [stdout] | [INFO] [stdout] 550 | impl EngineHandle { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 570 | pub fn try_recv(&self) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 575 | pub fn send_result(&self, result: CommandResult) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 598 | pub fn reset(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 608 | pub fn is_playing(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 614 | pub fn bpm(&self) -> f64 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 620 | pub fn active_voices(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 625 | pub fn engine(&self) -> &Engine { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 651 | pub fn update_sample_position(&self, pos: u64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 656 | pub fn update_beat_position(&self, pos: f64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 663 | pub fn update_active_voices_readback(&self, count: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 672 | pub fn sync_readback(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 682 | pub fn set_running(&self, running: bool) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_playing`, `bpm`, `active_voices`, and `graph` are never used [INFO] [stdout] --> src/engine.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 35 | impl Engine { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn is_playing(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn bpm(&self) -> f64 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 163 | pub fn active_voices(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 308 | pub fn graph(&self) -> &Graph { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/event.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub enum MusicalEvent { [INFO] [stdout] | ------------ variants in this enum [INFO] [stdout] 15 | /// Note on (global, for live playing). [INFO] [stdout] 16 | NoteOn { beat: f64, note: u8, velocity: f32 }, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | NoteOff { beat: f64, note: u8 }, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | NoteOnTarget { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | NoteOffTarget { beat: f64, node_id: u32, note: u8 }, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | ParamChange { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | AudioStart { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | AudioStop { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MusicalEvent` 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: method `as_voice_buffer` is never used [INFO] [stdout] --> src/graph.rs:53:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl NodeBuffer { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn as_voice_buffer(&mut self, voice_id: usize, frames: usize) -> AudioBuffer<'_> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `load_audio` and `unload_audio` are never used [INFO] [stdout] --> src/graph.rs:129:12 [INFO] [stdout] | [INFO] [stdout] 70 | impl NodeInstance { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 129 | pub fn load_audio(&mut self, data: crate::nodes::SharedAudioData) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 139 | pub fn unload_audio(&mut self, audio_id: crate::state::AudioPoolId) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `load_audio`, `unload_audio`, and `load_audio_to_all` are never used [INFO] [stdout] --> src/graph.rs:601:12 [INFO] [stdout] | [INFO] [stdout] 180 | impl Graph { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 601 | pub fn load_audio(&mut self, node_id: usize, data: crate::nodes::SharedAudioData) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 608 | pub fn unload_audio(&mut self, node_id: usize, audio_id: crate::state::AudioPoolId) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 617 | pub fn load_audio_to_all(&mut self, data: crate::nodes::SharedAudioData) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ModSignal` is never used [INFO] [stdout] --> src/modulation.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum ModSignal<'a> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `value_control` and `value_audio` are never used [INFO] [stdout] --> src/modulation.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl<'a> ModSignal<'a> { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] 20 | #[inline] [INFO] [stdout] 21 | pub fn value_control(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn value_audio(&self, frame: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `sample_pos` and `bpm` are never read [INFO] [stdout] --> src/node.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct ProcessContext<'a> { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 25 | pub sample_pos: u64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub bpm: f64, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ProcessContext` 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: methods `num_channels`, `polyphony`, `handles_audio`, `load_audio`, and `unload_audio` are never used [INFO] [stdout] --> src/node.rs:86:8 [INFO] [stdout] | [INFO] [stdout] 62 | pub trait Node: Send { [INFO] [stdout] | ---- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 86 | fn num_channels(&self) -> usize; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | fn polyphony(&self) -> Polyphony { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | fn handles_audio(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 130 | fn load_audio(&mut self, _data: crate::nodes::SharedAudioData) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | fn unload_audio(&mut self, _audio_id: AudioPoolId) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `info` is never read [INFO] [stdout] --> src/node_factory.rs:75:5 [INFO] [stdout] | [INFO] [stdout] 74 | struct NodeRegistryEntry { [INFO] [stdout] | ----------------- field in this struct [INFO] [stdout] 75 | info: NodeTypeInfo, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_info`, `iter`, and `by_category` are never used [INFO] [stdout] --> src/node_factory.rs:102:12 [INFO] [stdout] | [INFO] [stdout] 79 | impl NodeRegistry { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn get_info(&self, type_id: NodeTypeId) -> Option<&NodeTypeInfo> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | pub fn iter(&self) -> impl Iterator { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | pub fn by_category(&self) -> HashMap<&str, Vec<&NodeTypeInfo>> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NodeTypeBuilder` is never constructed [INFO] [stdout] --> src/node_factory.rs:139:12 [INFO] [stdout] | [INFO] [stdout] 139 | pub struct NodeTypeBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `param`, `audio_in`, `audio_out`, and `build` are never used [INFO] [stdout] --> src/node_factory.rs:144:12 [INFO] [stdout] | [INFO] [stdout] 143 | impl NodeTypeBuilder { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 144 | pub fn new(type_id: NodeTypeId, name: impl Into, category: impl Into) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | pub fn param(mut self, param: ParamInfo) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 155 | pub fn audio_in(mut self, id: u32, name: impl Into) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | pub fn audio_out(mut self, id: u32, name: impl Into) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn build(self) -> NodeTypeInfo { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `sample_rate` is never read [INFO] [stdout] --> src/nodes/audio_player.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct SharedAudioData { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 26 | pub sample_rate: f64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SharedAudioData` 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: associated function `from_pool_entry` is never used [INFO] [stdout] --> src/nodes/audio_player.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 35 | impl SharedAudioData { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] 36 | /// Create from an AudioPoolEntry. [INFO] [stdout] 37 | pub fn from_pool_entry(entry: &crate::state::AudioPoolEntry) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `load_audio`, `unload_audio`, and `active_voice_count` are never used [INFO] [stdout] --> src/nodes/audio_player.rs:157:12 [INFO] [stdout] | [INFO] [stdout] 142 | impl AudioPlayerNode { [INFO] [stdout] | -------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 157 | pub fn load_audio(&mut self, data: SharedAudioData) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 162 | pub fn unload_audio(&mut self, id: AudioPoolId) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 234 | pub fn active_voice_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `LowpassFilter` is never used [INFO] [stdout] --> src/nodes/filters.rs:181:10 [INFO] [stdout] | [INFO] [stdout] 181 | pub type LowpassFilter = SvfFilter; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `HighpassFilter` is never used [INFO] [stdout] --> src/nodes/filters.rs:182:10 [INFO] [stdout] | [INFO] [stdout] 182 | pub type HighpassFilter = SvfFilter; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `BandpassFilter` is never used [INFO] [stdout] --> src/nodes/filters.rs:183:10 [INFO] [stdout] | [INFO] [stdout] 183 | pub type BandpassFilter = SvfFilter; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `NotchFilter` is never used [INFO] [stdout] --> src/nodes/filters.rs:184:10 [INFO] [stdout] | [INFO] [stdout] 184 | pub type NotchFilter = SvfFilter; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PHASE` is never used [INFO] [stdout] --> src/nodes/mod.rs:68:15 [INFO] [stdout] | [INFO] [stdout] 68 | pub const PHASE: u32 = 2; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ModulationInput` is never constructed [INFO] [stdout] --> src/parameter.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ModulationInput<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Parameter` is never constructed [INFO] [stdout] --> src/parameter.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct Parameter<'a> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `set_base`, `set_mod`, `value_control`, and `value_audio` are never used [INFO] [stdout] --> src/parameter.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl<'a> Parameter<'a> { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 20 | pub fn new(base: f32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn set_base(&mut self, value: f32) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn set_mod(&mut self, slot: usize, signal: ModSignal<'a>, depth: f32) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn value_control(&self) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn value_audio(&self, frame: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `beat_position`, `sample_position`, and `set_bpm` are never used [INFO] [stdout] --> src/scheduler.rs:192:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl Scheduler { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 192 | pub fn beat_position(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 197 | pub fn sample_position(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 202 | pub fn set_bpm(&mut self, bpm: f64) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `color` are never read [INFO] [stdout] --> src/state/arrangement.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 30 | pub struct TrackDef { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 35 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub color: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TrackDef` 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: fields `name`, `tempo`, and `color` are never read [INFO] [stdout] --> src/state/arrangement.rs:139:9 [INFO] [stdout] | [INFO] [stdout] 134 | pub struct SceneDef { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 139 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | pub tempo: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | pub color: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SceneDef` 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: field `audio_pool` is never read [INFO] [stdout] --> src/state/arrangement.rs:169:9 [INFO] [stdout] | [INFO] [stdout] 167 | pub struct Arrangement { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 168 | /// Audio pool - stores all recorded/imported audio samples. [INFO] [stdout] 169 | pub audio_pool: AudioPool, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arrangement` 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 methods are never used [INFO] [stdout] --> src/state/arrangement.rs:218:12 [INFO] [stdout] | [INFO] [stdout] 200 | impl Arrangement { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 218 | pub fn get_clip(&self, id: ClipId) -> Option<&ClipDef> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 260 | pub fn add_audio_to_clip(&mut self, clip_id: ClipId, region: AudioRegionDef) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 274 | pub fn add_audio_to_pool( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 285 | pub fn get_audio(&self, id: AudioPoolId) -> Option<&AudioPoolEntry> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 291 | pub fn remove_audio(&mut self, id: AudioPoolId) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 299 | pub fn create_clip_from_audio(&mut self, audio_id: AudioPoolId, bpm: f64) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 329 | pub fn get_track(&self, id: TrackId) -> Option<&TrackDef> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 339 | pub fn get_track_by_index(&self, index: usize) -> Option<&TrackDef> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 408 | pub fn get_scene(&self, id: SceneId) -> Option<&SceneDef> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 413 | pub fn get_scene_by_index(&self, index: usize) -> Option<&SceneDef> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 454 | pub fn get_clip_slot(&self, track_id: TrackId, scene_index: usize) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 479 | pub fn placements_in_range( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 543 | pub fn has_solo(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 548 | pub fn is_track_audible(&self, track_id: TrackId) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id`, `name`, `sample_rate`, `channels`, `frames`, and `samples` are never read [INFO] [stdout] --> src/state/clip.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 31 | pub struct AudioPoolEntry { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 32 | /// Unique ID in the pool. [INFO] [stdout] 33 | pub id: AudioPoolId, [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub sample_rate: f64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub channels: usize, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub frames: usize, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub samples: Arc>, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AudioPoolEntry` 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: associated items `new`, `duration_seconds`, and `duration_beats` are never used [INFO] [stdout] --> src/state/clip.rs:53:12 [INFO] [stdout] | [INFO] [stdout] 52 | impl AudioPoolEntry { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 53 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn duration_seconds(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn duration_beats(&self, bpm: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `entries` and `next_id` are never read [INFO] [stdout] --> src/state/clip.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 84 | pub struct AudioPool { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 85 | entries: HashMap, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 86 | next_id: AudioPoolId, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AudioPool` 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: associated items `new`, `add`, `get`, `remove`, and `iter` are never used [INFO] [stdout] --> src/state/clip.rs:90:12 [INFO] [stdout] | [INFO] [stdout] 89 | impl AudioPool { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 90 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn add( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | pub fn get(&self, id: AudioPoolId) -> Option<&AudioPoolEntry> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | pub fn remove(&mut self, id: AudioPoolId) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | pub fn iter(&self) -> impl Iterator { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `end` is never used [INFO] [stdout] --> src/state/clip.rs:158:12 [INFO] [stdout] | [INFO] [stdout] 147 | impl NoteDef { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 158 | pub fn end(&self) -> f64 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `end`, `with_offset`, `with_gain`, `with_pitch`, and `with_stretch` are never used [INFO] [stdout] --> src/state/clip.rs:192:12 [INFO] [stdout] | [INFO] [stdout] 191 | impl AudioRegionDef { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 192 | pub fn new(start: f64, duration: f64, audio_id: AudioPoolId) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 205 | pub fn end(&self) -> f64 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 210 | pub fn with_offset(mut self, offset: f64) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn with_gain(mut self, gain: f32) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 222 | pub fn with_pitch(mut self, semitones: f32) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 228 | pub fn with_stretch(mut self, enabled: bool) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Audio` is never constructed [INFO] [stdout] --> src/state/clip.rs:244:5 [INFO] [stdout] | [INFO] [stdout] 239 | pub enum ClipEvent { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 244 | Audio(AudioRegionDef), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClipEvent` 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: methods `end`, `duration`, `overlaps`, `is_audio`, `as_note`, and `as_audio` are never used [INFO] [stdout] --> src/state/clip.rs:257:12 [INFO] [stdout] | [INFO] [stdout] 247 | impl ClipEvent { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 257 | pub fn end(&self) -> f64 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 265 | pub fn duration(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 273 | pub fn overlaps(&self, start: f64, end: f64) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 283 | pub fn is_audio(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 288 | pub fn as_note(&self) -> Option<&NoteDef> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 296 | pub fn as_audio(&self) -> Option<&AudioRegionDef> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id`, `name`, and `color` are never read [INFO] [stdout] --> src/state/clip.rs:316:9 [INFO] [stdout] | [INFO] [stdout] 314 | pub struct ClipDef { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 315 | /// Unique clip ID. [INFO] [stdout] 316 | pub id: ClipId, [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 319 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 328 | pub color: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClipDef` 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 methods are never used [INFO] [stdout] --> src/state/clip.rs:364:12 [INFO] [stdout] | [INFO] [stdout] 334 | impl ClipDef { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 364 | pub fn add_audio(&mut self, region: AudioRegionDef) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 369 | pub fn remove_event(&mut self, index: usize) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 398 | pub fn events_in_range(&self, start: f64, end: f64) -> impl Iterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 403 | pub fn notes(&self) -> impl Iterator { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 408 | pub fn audio_regions(&self) -> impl Iterator { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 413 | pub fn notes_in_range(&self, start: f64, end: f64) -> impl Iterator { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 419 | pub fn audio_in_range(&self, start: f64, end: f64) -> impl Iterator { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 430 | pub fn clear_notes(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 435 | pub fn clear_audio(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 440 | pub fn has_audio(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 445 | pub fn has_notes(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 450 | pub fn note_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 455 | pub fn audio_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/state/command.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub enum Command { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 26 | AddNodeDef { node: NodeDef }, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | RemoveNode { node_id: NodeId }, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | Disconnect { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | MoveNode { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | BeginParamGesture { node_id: NodeId, param_id: u32 }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | EndParamGesture { node_id: NodeId, param_id: u32 }, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | Play, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | Stop, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | SetTempo { bpm: f64 }, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | Seek { beat: f64 }, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | NoteOff { note: u8 }, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | ClearGraph, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | LoadConnections { connections: Vec }, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | CreateClip { name: String, length: f64 }, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | DeleteClip { clip_id: ClipId }, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | AddNoteToClip { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | RemoveNoteFromClip { clip_id: ClipId, note_index: usize }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | ClearClip { clip_id: ClipId }, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 130 | SetClipLength { clip_id: ClipId, length: f64 }, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 133 | SetClipLooping { clip_id: ClipId, looping: bool }, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 139 | CreateTrack { name: String }, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | DeleteTrack { track_id: TrackId }, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | SetTrackVolume { track_id: TrackId, volume: f32 }, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | SetTrackPan { track_id: TrackId, pan: f32 }, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 151 | SetTrackMute { track_id: TrackId, mute: bool }, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 154 | SetTrackSolo { track_id: TrackId, solo: bool }, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | SetTrackArmed { track_id: TrackId, armed: bool }, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | SetTrackTarget { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 166 | SetClipSlot { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | CreateScene { name: String }, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | DeleteScene { scene_id: SceneId }, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 182 | LaunchScene { scene_index: usize }, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 185 | LaunchClip { track_id: TrackId, clip_id: ClipId }, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | StopClip { track_id: TrackId }, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 191 | StopAllClips, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 197 | ScheduleClip { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | RemoveClipPlacement { track_id: TrackId, start_beat: f64 }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 213 | RecompileGraph, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 218 | SyncTrackParams { track_id: TrackId }, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | SyncAllTrackParams, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Command` 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: variants `Ok`, `NodeCreated`, and `Error` are never constructed [INFO] [stdout] --> src/state/command.rs:228:5 [INFO] [stdout] | [INFO] [stdout] 226 | pub enum CommandResult { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 227 | /// Command succeeded. [INFO] [stdout] 228 | Ok, [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 231 | NodeCreated { node_id: NodeId }, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 234 | Error { message: String }, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CommandResult` 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: variant `Control` is never constructed [INFO] [stdout] --> src/state/graph_def.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 28 | pub enum PortType { [INFO] [stdout] | -------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 32 | Control, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PortType` 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: fields `id`, `name`, `direction`, and `port_type` are never read [INFO] [stdout] --> src/state/graph_def.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 37 | pub struct PortInfo { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 38 | pub id: PortId, [INFO] [stdout] | ^^ [INFO] [stdout] 39 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 40 | pub direction: PortDirection, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 41 | pub port_type: PortType, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PortInfo` 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: fields `name` and `category` are never read [INFO] [stdout] --> src/state/graph_def.rs:81:9 [INFO] [stdout] | [INFO] [stdout] 79 | pub struct NodeTypeInfo { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 80 | pub type_id: NodeTypeId, [INFO] [stdout] 81 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 82 | pub category: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NodeTypeInfo` 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: method `find_param` is never used [INFO] [stdout] --> src/state/graph_def.rs:115:12 [INFO] [stdout] | [INFO] [stdout] 88 | impl NodeTypeInfo { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn find_param(&self, id: u32) -> Option<&ParamInfo> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `label` is never read [INFO] [stdout] --> src/state/graph_def.rs:145:9 [INFO] [stdout] | [INFO] [stdout] 131 | pub struct NodeDef { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 145 | pub label: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `NodeDef` 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: methods `at`, `with_param`, and `labeled` are never used [INFO] [stdout] --> src/state/graph_def.rs:159:12 [INFO] [stdout] | [INFO] [stdout] 148 | impl NodeDef { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 159 | pub fn at(mut self, x: f32, y: f32) -> Self { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn with_param(mut self, param_id: u32, value: f32) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 169 | pub fn labeled(mut self, label: impl Into) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_node`, `iter_nodes`, `connections_to`, and `connections_from` are never used [INFO] [stdout] --> src/state/graph_def.rs:272:12 [INFO] [stdout] | [INFO] [stdout] 194 | impl GraphDef { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 272 | pub fn get_node(&self, id: NodeId) -> Option<&NodeDef> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 282 | pub fn iter_nodes(&self) -> impl Iterator { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 287 | pub fn connections_to(&self, node_id: NodeId) -> impl Iterator { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 294 | pub fn connections_from(&self, node_id: NodeId) -> impl Iterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Exponential` is never constructed [INFO] [stdout] --> src/state/param_info.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum DisplayCurve { [INFO] [stdout] | ------------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 16 | Exponential, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DisplayCurve` 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: variants `Ms` and `Beats` are never constructed [INFO] [stdout] --> src/state/param_info.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 29 | pub enum ParamUnit { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 39 | Ms, [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 47 | Beats, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParamUnit` 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: fields `id`, `name`, `short_name`, and `step` are never read [INFO] [stdout] --> src/state/param_info.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 73 | pub struct ParamInfo { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 74 | /// Unique ID within the node type [INFO] [stdout] 75 | pub id: ParamId, [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 78 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub short_name: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub step: f32, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParamInfo` 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: methods `clamp`, `normalize`, `denormalize`, and `format` are never used [INFO] [stdout] --> src/state/param_info.rs:142:12 [INFO] [stdout] | [INFO] [stdout] 102 | impl ParamInfo { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn clamp(&self, value: f32) -> f32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | pub fn normalize(&self, value: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 154 | pub fn denormalize(&self, normalized: f32) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 159 | pub fn format(&self, value: f32) -> String { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `USER_NODE_MAX` is never used [INFO] [stdout] --> src/state/runtime_graph.rs:21:11 [INFO] [stdout] | [INFO] [stdout] 21 | pub const USER_NODE_MAX: NodeId = 0x0FFF_FFFF; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TRACK_NODE_BASE` is never used [INFO] [stdout] --> src/state/runtime_graph.rs:25:11 [INFO] [stdout] | [INFO] [stdout] 25 | pub const TRACK_NODE_BASE: NodeId = 0x1000_0000; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TRACK_NODE_STRIDE` is never used [INFO] [stdout] --> src/state/runtime_graph.rs:26:11 [INFO] [stdout] | [INFO] [stdout] 26 | pub const TRACK_NODE_STRIDE: NodeId = 16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TRACK_VOLUME_OFFSET` is never used [INFO] [stdout] --> src/state/runtime_graph.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub const TRACK_VOLUME_OFFSET: NodeId = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TRACK_PAN_OFFSET` is never used [INFO] [stdout] --> src/state/runtime_graph.rs:30:11 [INFO] [stdout] | [INFO] [stdout] 30 | pub const TRACK_PAN_OFFSET: NodeId = 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TRACK_MUTE_OFFSET` is never used [INFO] [stdout] --> src/state/runtime_graph.rs:31:11 [INFO] [stdout] | [INFO] [stdout] 31 | pub const TRACK_MUTE_OFFSET: NodeId = 2; // Reserved for future mute node [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MASTER_BUS_ID` is never used [INFO] [stdout] --> src/state/runtime_graph.rs:34:11 [INFO] [stdout] | [INFO] [stdout] 34 | pub const MASTER_BUS_ID: NodeId = 0x2000_0000; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MASTER_OUTPUT_ID` is never used [INFO] [stdout] --> src/state/runtime_graph.rs:37:11 [INFO] [stdout] | [INFO] [stdout] 37 | pub const MASTER_OUTPUT_ID: NodeId = 0x2000_0001; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `track_volume_node` is never used [INFO] [stdout] --> src/state/runtime_graph.rs:44:8 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn track_volume_node(track_id: TrackId) -> NodeId { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `track_pan_node` is never used [INFO] [stdout] --> src/state/runtime_graph.rs:49:8 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn track_pan_node(track_id: TrackId) -> NodeId { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_user_node` is never used [INFO] [stdout] --> src/state/runtime_graph.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn is_user_node(id: NodeId) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_track_node` is never used [INFO] [stdout] --> src/state/runtime_graph.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn is_track_node(id: NodeId) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `track_id_from_node` is never used [INFO] [stdout] --> src/state/runtime_graph.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn track_id_from_node(id: NodeId) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `max_block_size` should have an upper case name [INFO] [stdout] --> src/test.rs:15:11 [INFO] [stdout] | [INFO] [stdout] 15 | pub const max_block_size: usize = 512; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] help: convert the identifier to upper case [INFO] [stdout] | [INFO] [stdout] 15 - pub const max_block_size: usize = 512; [INFO] [stdout] 15 + pub const MAX_BLOCK_SIZE: usize = 512; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `max_voices` should have an upper case name [INFO] [stdout] --> src/test.rs:16:11 [INFO] [stdout] | [INFO] [stdout] 16 | pub const max_voices: usize = 16; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: convert the identifier to upper case [INFO] [stdout] | [INFO] [stdout] 16 - pub const max_voices: usize = 16; [INFO] [stdout] 16 + pub const MAX_VOICES: usize = 16; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `build_runtime_graph`, `build_track_mixers`, `build_track_mixer`, `sync_track_params`, and `sync_all_track_params` are never used [INFO] [stdout] --> src/state/runtime_graph.rs:85:12 [INFO] [stdout] | [INFO] [stdout] 76 | impl Session { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn build_runtime_graph(&self) -> GraphDef { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | fn build_track_mixers(&self, graph: &mut GraphDef) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | fn build_track_mixer(&self, graph: &mut GraphDef, track_id: TrackId) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 192 | pub fn sync_track_params(&self, track_id: TrackId) -> Vec<(NodeId, u32, f32)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 211 | pub fn sync_all_track_params(&self) -> Vec<(NodeId, u32, f32)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `effective_volume` is never used [INFO] [stdout] --> src/state/runtime_graph.rs:232:12 [INFO] [stdout] | [INFO] [stdout] 224 | impl Arrangement { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 232 | pub fn effective_volume(&self, track_id: TrackId) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `beat_position`, `sample_position`, `loop_enabled`, `loop_start`, and `loop_end` are never read [INFO] [stdout] --> src/state/session.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct TransportState { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 18 | pub beat_position: f64, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | pub sample_position: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub loop_enabled: bool, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub loop_start: f64, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub loop_end: f64, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TransportState` 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: fields `name`, `sample_rate`, `max_voices`, and `max_block_size` are never read [INFO] [stdout] --> src/state/session.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 53 | pub struct Session { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 54 | /// Project name. [INFO] [stdout] 55 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub sample_rate: f64, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub max_voices: usize, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub max_block_size: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Session` 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: constant `sample_rate` should have an upper case name [INFO] [stdout] --> src/test.rs:17:11 [INFO] [stdout] | [INFO] [stdout] 17 | pub const sample_rate: f64 = 48_000.0; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: convert the identifier to upper case [INFO] [stdout] | [INFO] [stdout] 17 - pub const sample_rate: f64 = 48_000.0; [INFO] [stdout] 17 + pub const SAMPLE_RATE: f64 = 48_000.0; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EngineReadback` is never constructed [INFO] [stdout] --> src/state/session.rs:101:12 [INFO] [stdout] | [INFO] [stdout] 101 | pub struct EngineReadback { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Transport` is never constructed [INFO] [stdout] --> src/transport.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct Transport { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `seconds` and `beats` are never used [INFO] [stdout] --> src/transport.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl Transport { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn seconds(&self) -> f64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn beats(&self) -> f64 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `resolve_transport`, `beat_position`, and `set_bpm` are never used [INFO] [stdout] --> src/transport.rs:102:12 [INFO] [stdout] | [INFO] [stdout] 85 | impl MusicalTransport { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn resolve_transport(&self) -> Transport { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn beat_position(&self) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 153 | pub fn set_bpm(&mut self, bpm: f64) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `velocity` is never read [INFO] [stdout] --> src/voice.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 77 | pub struct VoiceContext { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 80 | pub velocity: f32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `VoiceContext` 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: methods `get_voice` and `active_count` are never used [INFO] [stdout] --> src/voice_allocator.rs:83:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl VoiceAllocator { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn get_voice(&self, id: VoiceId) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn active_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `max_block_size` should have an upper case name [INFO] [stdout] --> src/test.rs:15:11 [INFO] [stdout] | [INFO] [stdout] 15 | pub const max_block_size: usize = 512; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] help: convert the identifier to upper case [INFO] [stdout] | [INFO] [stdout] 15 - pub const max_block_size: usize = 512; [INFO] [stdout] 15 + pub const MAX_BLOCK_SIZE: usize = 512; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `max_voices` should have an upper case name [INFO] [stdout] --> src/test.rs:16:11 [INFO] [stdout] | [INFO] [stdout] 16 | pub const max_voices: usize = 16; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: convert the identifier to upper case [INFO] [stdout] | [INFO] [stdout] 16 - pub const max_voices: usize = 16; [INFO] [stdout] 16 + pub const MAX_VOICES: usize = 16; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `sample_rate` should have an upper case name [INFO] [stdout] --> src/test.rs:17:11 [INFO] [stdout] | [INFO] [stdout] 17 | pub const sample_rate: f64 = 48_000.0; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: convert the identifier to upper case [INFO] [stdout] | [INFO] [stdout] 17 - pub const sample_rate: f64 = 48_000.0; [INFO] [stdout] 17 + pub const SAMPLE_RATE: f64 = 48_000.0; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.78s [INFO] running `Command { std: "docker" "inspect" "1d0fcec460749564e7a2dec4af90d3ca3358f8fe3edf23d7a9e06f03f1a8bbab", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1d0fcec460749564e7a2dec4af90d3ca3358f8fe3edf23d7a9e06f03f1a8bbab", kill_on_drop: false }` [INFO] [stdout] 1d0fcec460749564e7a2dec4af90d3ca3358f8fe3edf23d7a9e06f03f1a8bbab