[INFO] cloning repository https://github.com/PetRockStudiosLLC/retro-music-maker
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/PetRockStudiosLLC/retro-music-maker" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPetRockStudiosLLC%2Fretro-music-maker", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPetRockStudiosLLC%2Fretro-music-maker'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e7c0bb186f2a037d781543c1a42901bb745e2658
[INFO] checking PetRockStudiosLLC/retro-music-maker against try#8a2f6fe57adadb246778b8d41925d3dc46d468cb for pr-158320
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPetRockStudiosLLC%2Fretro-music-maker" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/PetRockStudiosLLC/retro-music-maker
[INFO] finished tweaking git repo https://github.com/PetRockStudiosLLC/retro-music-maker
[INFO] tweaked toml for git repo https://github.com/PetRockStudiosLLC/retro-music-maker written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/PetRockStudiosLLC/retro-music-maker on toolchain 8a2f6fe57adadb246778b8d41925d3dc46d468cb
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8a2f6fe57adadb246778b8d41925d3dc46d468cb" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/PetRockStudiosLLC/retro-music-maker 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" "+8a2f6fe57adadb246778b8d41925d3dc46d468cb" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 4de02a575aa7eb40557f3c19d671655f982e6904e5b322e929b11c3ab322cea6
[INFO] running `Command { std: "docker" "start" "4de02a575aa7eb40557f3c19d671655f982e6904e5b322e929b11c3ab322cea6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "4de02a575aa7eb40557f3c19d671655f982e6904e5b322e929b11c3ab322cea6" "/opt/rustwide/cargo-home/bin/cargo" "+8a2f6fe57adadb246778b8d41925d3dc46d468cb" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4de02a575aa7eb40557f3c19d671655f982e6904e5b322e929b11c3ab322cea6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "4de02a575aa7eb40557f3c19d671655f982e6904e5b322e929b11c3ab322cea6" "/opt/rustwide/cargo-home/bin/cargo" "+8a2f6fe57adadb246778b8d41925d3dc46d468cb" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling siphasher v1.0.3
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling cfg-expr v0.15.8
[INFO] [stderr]     Checking bitflags v2.11.1
[INFO] [stderr]    Compiling erased-serde v0.4.10
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling winnow v1.0.3
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling cc v1.2.62
[INFO] [stderr]    Compiling ctor-proc-macro v0.0.7
[INFO] [stderr]    Compiling toml_writer v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling gtk v0.18.2
[INFO] [stderr]    Compiling utf-8 v0.7.6
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling phf_shared v0.13.1
[INFO] [stderr]    Compiling tendril v0.5.0
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling unic-char-range v0.9.0
[INFO] [stderr]    Compiling unic-common v0.9.0
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling camino v1.2.2
[INFO] [stderr]    Compiling alloc-no-stdlib v2.0.4
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling unic-ucd-version v0.9.0
[INFO] [stderr]    Compiling unic-char-property v0.9.0
[INFO] [stderr]    Compiling alloc-stdlib v0.2.2
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling servo_arc v0.4.3
[INFO] [stderr]    Compiling typeid v1.0.3
[INFO] [stderr]    Compiling schemars v0.8.22
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]    Compiling phf_generator v0.13.1
[INFO] [stderr]    Compiling string_cache v0.9.0
[INFO] [stderr]    Compiling unic-ucd-ident v0.9.0
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling brotli-decompressor v5.0.0
[INFO] [stderr]    Compiling quick-xml v0.39.4
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling phf_codegen v0.13.1
[INFO] [stderr]    Compiling string_cache_codegen v0.6.1
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling dyn-clone v1.0.20
[INFO] [stderr]    Compiling simd-adler32 v0.3.9
[INFO] [stderr]    Compiling selectors v0.36.1
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]     Checking time v0.3.47
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling ctor v0.8.0
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling web_atoms v0.2.4
[INFO] [stderr]    Compiling brotli v8.0.2
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]     Checking uuid v1.23.1
[INFO] [stderr]    Compiling libdbus-sys v0.2.7
[INFO] [stderr]    Compiling env_home v0.1.0
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]     Checking cfb v0.7.3
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling fdeflate v0.3.7
[INFO] [stderr]    Compiling semver v1.0.28
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling toml_datetime v0.7.5+spec-1.1.0
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling toml v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling png v0.17.16
[INFO] [stderr]    Compiling field-offset v0.3.6
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]    Compiling which v7.0.3
[INFO] [stderr]     Checking serde-untagged v0.1.9
[INFO] [stderr]     Checking cookie v0.18.1
[INFO] [stderr]     Checking infer v0.19.0
[INFO] [stderr]    Compiling luajit-src v210.5.12+a4f56a4
[INFO] [stderr]    Compiling embed-resource v3.0.9
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling tauri-winres v0.3.6
[INFO] [stderr]    Compiling lua-src v547.0.0
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]     Checking glob v0.3.3
[INFO] [stderr]    Compiling wry v0.55.1
[INFO] [stderr]    Compiling tauri-runtime v2.11.2
[INFO] [stderr]     Checking dbus v0.9.11
[INFO] [stderr]    Compiling toml v0.9.12+spec-1.1.0
[INFO] [stderr]    Compiling mlua-sys v0.6.8
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling ico v0.5.0
[INFO] [stderr]    Compiling tauri-runtime-wry v2.11.2
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]     Checking png v0.18.1
[INFO] [stderr]    Compiling cpal v0.15.3
[INFO] [stderr]     Checking anstream v1.0.0
[INFO] [stderr]     Checking env_filter v1.0.1
[INFO] [stderr]     Checking bstr v1.12.1
[INFO] [stderr]     Checking jiff v0.2.24
[INFO] [stderr]     Checking heck v0.5.0
[INFO] [stderr]     Checking alsa v0.9.1
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling phf_macros v0.13.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling cssparser-macros v0.6.1
[INFO] [stderr]    Compiling schemars_derive v0.8.22
[INFO] [stderr]    Compiling phf v0.13.1
[INFO] [stderr]    Compiling cssparser v0.36.0
[INFO] [stderr]    Compiling dlopen2_derive v0.4.3
[INFO] [stderr]    Compiling serialize-to-javascript-impl v0.1.2
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]     Checking env_logger v0.11.10
[INFO] [stderr]     Checking dlopen2 v0.8.2
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]     Checking tokio v1.52.3
[INFO] [stderr]    Compiling markup5ever v0.38.0
[INFO] [stderr]    Compiling html5ever v0.38.0
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]    Compiling serde_with_macros v3.20.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling dom_query v0.27.0
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]    Compiling toml_datetime v0.6.3
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling jsonptr v0.6.3
[INFO] [stderr]    Compiling cargo-platform v0.1.9
[INFO] [stderr]    Compiling plist v1.9.0
[INFO] [stderr]    Compiling cargo_toml v0.22.3
[INFO] [stderr]     Checking dpi v0.1.2
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]    Compiling toml_edit v0.20.2
[INFO] [stderr]    Compiling toml_edit v0.19.15
[INFO] [stderr]    Compiling cargo_metadata v0.19.2
[INFO] [stderr]     Checking json-patch v3.0.1
[INFO] [stderr]     Checking keyboard-types v0.7.0
[INFO] [stderr]    Compiling serde_with v3.20.0
[INFO] [stderr]     Checking serialize-to-javascript v0.1.2
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]    Compiling proc-macro-crate v1.3.1
[INFO] [stderr]    Compiling toml v0.8.2
[INFO] [stderr]    Compiling proc-macro-crate v2.0.2
[INFO] [stderr]     Checking urlpattern v0.3.0
[INFO] [stderr]    Compiling gtk3-macros v0.18.2
[INFO] [stderr]    Compiling system-deps v6.2.2
[INFO] [stderr]    Compiling glib-macros v0.18.5
[INFO] [stderr]     Checking tauri-utils v2.9.2
[INFO] [stderr]    Compiling glib-sys v0.18.1
[INFO] [stderr]    Compiling gobject-sys v0.18.0
[INFO] [stderr]    Compiling gio-sys v0.18.1
[INFO] [stderr]    Compiling gdk-sys v0.18.2
[INFO] [stderr]    Compiling gdk-pixbuf-sys v0.18.0
[INFO] [stderr]    Compiling cairo-sys-rs v0.18.2
[INFO] [stderr]    Compiling pango-sys v0.18.0
[INFO] [stderr]    Compiling atk-sys v0.18.2
[INFO] [stderr]    Compiling gtk-sys v0.18.2
[INFO] [stderr]    Compiling soup3-sys v0.5.0
[INFO] [stderr]    Compiling javascriptcore-rs-sys v1.1.1
[INFO] [stderr]    Compiling webkit2gtk-sys v2.0.2
[INFO] [stderr]    Compiling gdkx11-sys v0.18.2
[INFO] [stderr]     Checking glib v0.18.5
[INFO] [stderr]     Checking gdkwayland-sys v0.18.2
[INFO] [stderr]     Checking mlua v0.9.9
[INFO] [stderr]     Checking libappindicator-sys v0.9.0
[INFO] [stderr]     Checking gio v0.18.4
[INFO] [stderr]     Checking cairo-rs v0.18.5
[INFO] [stderr]     Checking atk v0.18.2
[INFO] [stderr]     Checking javascriptcore-rs v1.1.2
[INFO] [stderr]    Compiling tauri-build v2.6.2
[INFO] [stderr]    Compiling tauri-codegen v2.6.2
[INFO] [stderr]    Compiling tauri v2.11.2
[INFO] [stderr]    Compiling tauri-macros v2.6.2
[INFO] [stderr]     Checking pango v0.18.3
[INFO] [stderr]     Checking gdk-pixbuf v0.18.5
[INFO] [stderr]     Checking soup3 v0.5.0
[INFO] [stderr]     Checking gdk v0.18.2
[INFO] [stderr]     Checking gdkx11 v0.18.2
[INFO] [stderr]     Checking webkit2gtk v2.0.2
[INFO] [stderr]     Checking tao v0.35.2
[INFO] [stderr]     Checking muda v0.19.1
[INFO] [stderr]     Checking libappindicator v0.9.0
[INFO] [stderr]     Checking tray-icon v0.23.1
[INFO] [stderr]     Checking nodetune v3.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/core/graph.rs:137:26
[INFO] [stdout]     |
[INFO] [stdout] 137 |                     for (idx, port) in ports.iter().enumerate() {
[INFO] [stdout]     |                          ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `json_str`
[INFO] [stdout]    --> src/core/graph.rs:146:75
[INFO] [stdout]     |
[INFO] [stdout] 146 | ...                   if let ParamValue::String(json_str) = &instrument_json {
[INFO] [stdout]     |                                                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_json_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/core/graph.rs:137:26
[INFO] [stdout]     |
[INFO] [stdout] 137 |                     for (idx, port) in ports.iter().enumerate() {
[INFO] [stdout]     |                          ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `json_str`
[INFO] [stdout]    --> src/core/graph.rs:146:75
[INFO] [stdout]     |
[INFO] [stdout] 146 | ...                   if let ParamValue::String(json_str) = &instrument_json {
[INFO] [stdout]     |                                                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_json_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Triangle`, `Noise`, and `DPCM` are never constructed
[INFO] [stdout]  --> src/nodes/oscillators/chipsound.rs:5:25
[INFO] [stdout]   |
[INFO] [stdout] 5 | enum ChipWave { Square, Triangle, Noise, DPCM }
[INFO] [stdout]   |      --------           ^^^^^^^^  ^^^^^  ^^^^
[INFO] [stdout]   |      |
[INFO] [stdout]   |      variants in this enum
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ChipWave` has derived impls for the traits `Debug` and `Clone`, 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: method `ungate` is never used
[INFO] [stdout]   --> src/nodes/envelopes/adsr.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl ADSREnvelope {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 29 |     fn ungate(&mut self) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `pan_l` and `pan_r` are never used
[INFO] [stdout]   --> src/nodes/mixers/mixer.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Mixer {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 16 |     fn pan_l(&self, idx: usize) -> f32 {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     fn pan_r(&self, idx: usize) -> f32 {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `active_notes` is never read
[INFO] [stdout]  --> src/nodes/input/keyboard.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct KeyboardInput {
[INFO] [stdout]   |            ------------- field in this struct
[INFO] [stdout] 5 |     id: String,
[INFO] [stdout] 6 |     active_notes: Vec<u8>,
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `pan_l` and `pan_r` are never used
[INFO] [stdout]   --> src/nodes/output/audio_output.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl AudioOutput {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 19 |     fn pan_l(&self) -> f32 { (1.0 - self.pan).max(0.0).min(2.0) as f32 * 0.7071 }
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 20 |     fn pan_r(&self) -> f32 { (1.0 + self.pan).max(0.0).min(2.0) as f32 * 0.7071 }
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `param_map` and `position` are never read
[INFO] [stdout]   --> src/nodes/custom/template_node.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub struct TemplateNode {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 69 |     param_map: HashMap<String, String>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 70 |     output_map: Vec<String>,
[INFO] [stdout] 71 |     position: [f64; 2],
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `param_defs` and `position` are never read
[INFO] [stdout]   --> src/nodes/custom/script_node.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct ScriptNode {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 59 |     param_defs: Vec<ScriptParamDef>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     position: [f64; 2],
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `triggered` is never read
[INFO] [stdout]   --> src/nodes/controllers/instrument.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub struct Instrument {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 13 |     triggered: bool,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_node` is never used
[INFO] [stdout]    --> src/commands.rs:127:4
[INFO] [stdout]     |
[INFO] [stdout] 127 | fn create_node(node_type: &str, id: String) -> Option<Box<dyn Node>> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_template_dir` is never used
[INFO] [stdout]    --> src/commands.rs:162:4
[INFO] [stdout]     |
[INFO] [stdout] 162 | fn get_template_dir() -> Result<std::path::PathBuf, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_script_dir` is never used
[INFO] [stdout]    --> src/commands.rs:169:4
[INFO] [stdout]     |
[INFO] [stdout] 169 | fn get_script_dir() -> Result<std::path::PathBuf, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_node` is never used
[INFO] [stdout]    --> src/commands.rs:177:10
[INFO] [stdout]     |
[INFO] [stdout] 177 | async fn add_node(engine: State<'_, tokio::sync::Mutex<Engine>>, request: AddNodeRequest) -> Result<NodeCreated, String> {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `remove_node` is never used
[INFO] [stdout]    --> src/commands.rs:189:10
[INFO] [stdout]     |
[INFO] [stdout] 189 | async fn remove_node(engine: State<'_, tokio::sync::Mutex<Engine>>, request: RemoveNodeRequest) -> Result<bool, String> {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `connect_nodes` is never used
[INFO] [stdout]    --> src/commands.rs:195:10
[INFO] [stdout]     |
[INFO] [stdout] 195 | async fn connect_nodes(engine: State<'_, tokio::sync::Mutex<Engine>>, request: ConnectNodesRequest) -> Result<(), String> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `disconnect_nodes` is never used
[INFO] [stdout]    --> src/commands.rs:202:10
[INFO] [stdout]     |
[INFO] [stdout] 202 | async fn disconnect_nodes(engine: State<'_, tokio::sync::Mutex<Engine>>, request: DisconnectNodesRequest) -> Result<(), String> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_node_position` is never used
[INFO] [stdout]    --> src/commands.rs:209:10
[INFO] [stdout]     |
[INFO] [stdout] 209 | async fn set_node_position(engine: State<'_, tokio::sync::Mutex<Engine>>, request: SetNodePositionRequest) -> Result<(), String> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_param` is never used
[INFO] [stdout]    --> src/commands.rs:216:10
[INFO] [stdout]     |
[INFO] [stdout] 216 | async fn set_param(engine: State<'_, tokio::sync::Mutex<Engine>>, request: SetParamRequest) -> Result<(), String> {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_node` is never used
[INFO] [stdout]    --> src/commands.rs:223:10
[INFO] [stdout]     |
[INFO] [stdout] 223 | async fn get_node(engine: State<'_, tokio::sync::Mutex<Engine>>, request: GetNodeRequest) -> Result<Option<NodeInfo>, String> {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_graph_state` is never used
[INFO] [stdout]    --> src/commands.rs:229:10
[INFO] [stdout]     |
[INFO] [stdout] 229 | async fn get_graph_state(engine: State<'_, tokio::sync::Mutex<Engine>>) -> Result<GraphState, String> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `start_audio` is never used
[INFO] [stdout]    --> src/commands.rs:235:10
[INFO] [stdout]     |
[INFO] [stdout] 235 | async fn start_audio(engine: State<'_, tokio::sync::Mutex<Engine>>) -> Result<(), String> {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `stop_audio` is never used
[INFO] [stdout]    --> src/commands.rs:242:10
[INFO] [stdout]     |
[INFO] [stdout] 242 | async fn stop_audio(engine: State<'_, tokio::sync::Mutex<Engine>>) -> Result<(), String> {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `engine_status` is never used
[INFO] [stdout]    --> src/commands.rs:249:10
[INFO] [stdout]     |
[INFO] [stdout] 249 | async fn engine_status(engine: State<'_, tokio::sync::Mutex<Engine>>) -> Result<EngineStatus, String> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `save_graph` is never used
[INFO] [stdout]    --> src/commands.rs:259:10
[INFO] [stdout]     |
[INFO] [stdout] 259 | async fn save_graph(engine: State<'_, tokio::sync::Mutex<Engine>>, request: SaveGraphRequest) -> Result<(), String> {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_graph` is never used
[INFO] [stdout]    --> src/commands.rs:268:10
[INFO] [stdout]     |
[INFO] [stdout] 268 | async fn load_graph(engine: State<'_, tokio::sync::Mutex<Engine>>, request: LoadGraphRequest) -> Result<(), String> {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reconstruct_node` is never used
[INFO] [stdout]    --> src/commands.rs:287:4
[INFO] [stdout]     |
[INFO] [stdout] 287 | fn reconstruct_node(node_info: &NodeInfo) -> Result<Box<dyn Node>, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `export_wav` is never used
[INFO] [stdout]    --> src/commands.rs:317:10
[INFO] [stdout]     |
[INFO] [stdout] 317 | async fn export_wav(engine: State<'_, tokio::sync::Mutex<Engine>>, request: ExportWavRequest) -> Result<(), String> {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_graph` is never used
[INFO] [stdout]    --> src/commands.rs:325:10
[INFO] [stdout]     |
[INFO] [stdout] 325 | async fn clear_graph(engine: State<'_, tokio::sync::Mutex<Engine>>) -> Result<(), String> {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_template` is never used
[INFO] [stdout]    --> src/commands.rs:342:10
[INFO] [stdout]     |
[INFO] [stdout] 342 | async fn create_template(request: CreateTemplateRequest) -> Result<TemplateInfo, String> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_templates` is never used
[INFO] [stdout]    --> src/commands.rs:363:10
[INFO] [stdout]     |
[INFO] [stdout] 363 | async fn list_templates() -> Result<Vec<TemplateInfo>, String> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_template` is never used
[INFO] [stdout]    --> src/commands.rs:391:10
[INFO] [stdout]     |
[INFO] [stdout] 391 | async fn delete_template(name: String) -> Result<bool, String> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_template` is never used
[INFO] [stdout]    --> src/commands.rs:404:10
[INFO] [stdout]     |
[INFO] [stdout] 404 | async fn load_template(name: String) -> Result<TemplateDefinition, String> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_script` is never used
[INFO] [stdout]    --> src/commands.rs:430:10
[INFO] [stdout]     |
[INFO] [stdout] 430 | async fn create_script(request: CreateScriptRequest) -> Result<ScriptInfo, String> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_scripts` is never used
[INFO] [stdout]    --> src/commands.rs:451:10
[INFO] [stdout]     |
[INFO] [stdout] 451 | async fn list_scripts() -> Result<Vec<ScriptInfo>, String> {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_script` is never used
[INFO] [stdout]    --> src/commands.rs:479:10
[INFO] [stdout]     |
[INFO] [stdout] 479 | async fn delete_script(name: String) -> Result<bool, String> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/nodes/output/file_output.rs:26:27
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn get_buffer_mut(&self) -> std::sync::MutexGuard<Vec<f32>> {
[INFO] [stdout]    |                           ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn get_buffer_mut(&self) -> std::sync::MutexGuard<'_, Vec<f32>> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Triangle`, `Noise`, and `DPCM` are never constructed
[INFO] [stdout]  --> src/nodes/oscillators/chipsound.rs:5:25
[INFO] [stdout]   |
[INFO] [stdout] 5 | enum ChipWave { Square, Triangle, Noise, DPCM }
[INFO] [stdout]   |      --------           ^^^^^^^^  ^^^^^  ^^^^
[INFO] [stdout]   |      |
[INFO] [stdout]   |      variants in this enum
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ChipWave` has derived impls for the traits `Debug` and `Clone`, 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: method `ungate` is never used
[INFO] [stdout]   --> src/nodes/envelopes/adsr.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl ADSREnvelope {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 29 |     fn ungate(&mut self) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `pan_l` and `pan_r` are never used
[INFO] [stdout]   --> src/nodes/mixers/mixer.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Mixer {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 16 |     fn pan_l(&self, idx: usize) -> f32 {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     fn pan_r(&self, idx: usize) -> f32 {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `active_notes` is never read
[INFO] [stdout]  --> src/nodes/input/keyboard.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct KeyboardInput {
[INFO] [stdout]   |            ------------- field in this struct
[INFO] [stdout] 5 |     id: String,
[INFO] [stdout] 6 |     active_notes: Vec<u8>,
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `pan_l` and `pan_r` are never used
[INFO] [stdout]   --> src/nodes/output/audio_output.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl AudioOutput {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 19 |     fn pan_l(&self) -> f32 { (1.0 - self.pan).max(0.0).min(2.0) as f32 * 0.7071 }
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 20 |     fn pan_r(&self) -> f32 { (1.0 + self.pan).max(0.0).min(2.0) as f32 * 0.7071 }
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `param_map` and `position` are never read
[INFO] [stdout]   --> src/nodes/custom/template_node.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub struct TemplateNode {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 69 |     param_map: HashMap<String, String>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 70 |     output_map: Vec<String>,
[INFO] [stdout] 71 |     position: [f64; 2],
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `param_defs` and `position` are never read
[INFO] [stdout]   --> src/nodes/custom/script_node.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct ScriptNode {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 59 |     param_defs: Vec<ScriptParamDef>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     position: [f64; 2],
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `triggered` is never read
[INFO] [stdout]   --> src/nodes/controllers/instrument.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub struct Instrument {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 13 |     triggered: bool,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_node` is never used
[INFO] [stdout]    --> src/commands.rs:127:4
[INFO] [stdout]     |
[INFO] [stdout] 127 | fn create_node(node_type: &str, id: String) -> Option<Box<dyn Node>> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_template_dir` is never used
[INFO] [stdout]    --> src/commands.rs:162:4
[INFO] [stdout]     |
[INFO] [stdout] 162 | fn get_template_dir() -> Result<std::path::PathBuf, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_script_dir` is never used
[INFO] [stdout]    --> src/commands.rs:169:4
[INFO] [stdout]     |
[INFO] [stdout] 169 | fn get_script_dir() -> Result<std::path::PathBuf, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_node` is never used
[INFO] [stdout]    --> src/commands.rs:177:10
[INFO] [stdout]     |
[INFO] [stdout] 177 | async fn add_node(engine: State<'_, tokio::sync::Mutex<Engine>>, request: AddNodeRequest) -> Result<NodeCreated, String> {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `remove_node` is never used
[INFO] [stdout]    --> src/commands.rs:189:10
[INFO] [stdout]     |
[INFO] [stdout] 189 | async fn remove_node(engine: State<'_, tokio::sync::Mutex<Engine>>, request: RemoveNodeRequest) -> Result<bool, String> {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `connect_nodes` is never used
[INFO] [stdout]    --> src/commands.rs:195:10
[INFO] [stdout]     |
[INFO] [stdout] 195 | async fn connect_nodes(engine: State<'_, tokio::sync::Mutex<Engine>>, request: ConnectNodesRequest) -> Result<(), String> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `disconnect_nodes` is never used
[INFO] [stdout]    --> src/commands.rs:202:10
[INFO] [stdout]     |
[INFO] [stdout] 202 | async fn disconnect_nodes(engine: State<'_, tokio::sync::Mutex<Engine>>, request: DisconnectNodesRequest) -> Result<(), String> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_node_position` is never used
[INFO] [stdout]    --> src/commands.rs:209:10
[INFO] [stdout]     |
[INFO] [stdout] 209 | async fn set_node_position(engine: State<'_, tokio::sync::Mutex<Engine>>, request: SetNodePositionRequest) -> Result<(), String> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_param` is never used
[INFO] [stdout]    --> src/commands.rs:216:10
[INFO] [stdout]     |
[INFO] [stdout] 216 | async fn set_param(engine: State<'_, tokio::sync::Mutex<Engine>>, request: SetParamRequest) -> Result<(), String> {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_node` is never used
[INFO] [stdout]    --> src/commands.rs:223:10
[INFO] [stdout]     |
[INFO] [stdout] 223 | async fn get_node(engine: State<'_, tokio::sync::Mutex<Engine>>, request: GetNodeRequest) -> Result<Option<NodeInfo>, String> {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_graph_state` is never used
[INFO] [stdout]    --> src/commands.rs:229:10
[INFO] [stdout]     |
[INFO] [stdout] 229 | async fn get_graph_state(engine: State<'_, tokio::sync::Mutex<Engine>>) -> Result<GraphState, String> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `start_audio` is never used
[INFO] [stdout]    --> src/commands.rs:235:10
[INFO] [stdout]     |
[INFO] [stdout] 235 | async fn start_audio(engine: State<'_, tokio::sync::Mutex<Engine>>) -> Result<(), String> {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `stop_audio` is never used
[INFO] [stdout]    --> src/commands.rs:242:10
[INFO] [stdout]     |
[INFO] [stdout] 242 | async fn stop_audio(engine: State<'_, tokio::sync::Mutex<Engine>>) -> Result<(), String> {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `engine_status` is never used
[INFO] [stdout]    --> src/commands.rs:249:10
[INFO] [stdout]     |
[INFO] [stdout] 249 | async fn engine_status(engine: State<'_, tokio::sync::Mutex<Engine>>) -> Result<EngineStatus, String> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `save_graph` is never used
[INFO] [stdout]    --> src/commands.rs:259:10
[INFO] [stdout]     |
[INFO] [stdout] 259 | async fn save_graph(engine: State<'_, tokio::sync::Mutex<Engine>>, request: SaveGraphRequest) -> Result<(), String> {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_graph` is never used
[INFO] [stdout]    --> src/commands.rs:268:10
[INFO] [stdout]     |
[INFO] [stdout] 268 | async fn load_graph(engine: State<'_, tokio::sync::Mutex<Engine>>, request: LoadGraphRequest) -> Result<(), String> {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reconstruct_node` is never used
[INFO] [stdout]    --> src/commands.rs:287:4
[INFO] [stdout]     |
[INFO] [stdout] 287 | fn reconstruct_node(node_info: &NodeInfo) -> Result<Box<dyn Node>, String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `export_wav` is never used
[INFO] [stdout]    --> src/commands.rs:317:10
[INFO] [stdout]     |
[INFO] [stdout] 317 | async fn export_wav(engine: State<'_, tokio::sync::Mutex<Engine>>, request: ExportWavRequest) -> Result<(), String> {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_graph` is never used
[INFO] [stdout]    --> src/commands.rs:325:10
[INFO] [stdout]     |
[INFO] [stdout] 325 | async fn clear_graph(engine: State<'_, tokio::sync::Mutex<Engine>>) -> Result<(), String> {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_template` is never used
[INFO] [stdout]    --> src/commands.rs:342:10
[INFO] [stdout]     |
[INFO] [stdout] 342 | async fn create_template(request: CreateTemplateRequest) -> Result<TemplateInfo, String> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_templates` is never used
[INFO] [stdout]    --> src/commands.rs:363:10
[INFO] [stdout]     |
[INFO] [stdout] 363 | async fn list_templates() -> Result<Vec<TemplateInfo>, String> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_template` is never used
[INFO] [stdout]    --> src/commands.rs:391:10
[INFO] [stdout]     |
[INFO] [stdout] 391 | async fn delete_template(name: String) -> Result<bool, String> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_template` is never used
[INFO] [stdout]    --> src/commands.rs:404:10
[INFO] [stdout]     |
[INFO] [stdout] 404 | async fn load_template(name: String) -> Result<TemplateDefinition, String> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_script` is never used
[INFO] [stdout]    --> src/commands.rs:430:10
[INFO] [stdout]     |
[INFO] [stdout] 430 | async fn create_script(request: CreateScriptRequest) -> Result<ScriptInfo, String> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_scripts` is never used
[INFO] [stdout]    --> src/commands.rs:451:10
[INFO] [stdout]     |
[INFO] [stdout] 451 | async fn list_scripts() -> Result<Vec<ScriptInfo>, String> {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_script` is never used
[INFO] [stdout]    --> src/commands.rs:479:10
[INFO] [stdout]     |
[INFO] [stdout] 479 | async fn delete_script(name: String) -> Result<bool, String> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/nodes/output/file_output.rs:26:27
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn get_buffer_mut(&self) -> std::sync::MutexGuard<Vec<f32>> {
[INFO] [stdout]    |                           ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn get_buffer_mut(&self) -> std::sync::MutexGuard<'_, Vec<f32>> {
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 57s
[INFO] running `Command { std: "docker" "inspect" "4de02a575aa7eb40557f3c19d671655f982e6904e5b322e929b11c3ab322cea6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4de02a575aa7eb40557f3c19d671655f982e6904e5b322e929b11c3ab322cea6", kill_on_drop: false }`
[INFO] [stdout] 4de02a575aa7eb40557f3c19d671655f982e6904e5b322e929b11c3ab322cea6
