[INFO] cloning repository https://github.com/lexag/clicks-core
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/lexag/clicks-core" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flexag%2Fclicks-core", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flexag%2Fclicks-core'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] eb049be295fead331093dd82e15ae2138d365581
[INFO] checking lexag/clicks-core against master#642c19bfc3a5c1de985bf5d0cc8207ac9d22708a for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flexag%2Fclicks-core" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/lexag/clicks-core
[INFO] finished tweaking git repo https://github.com/lexag/clicks-core
[INFO] tweaked toml for git repo https://github.com/lexag/clicks-core written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/lexag/clicks-core on toolchain 642c19bfc3a5c1de985bf5d0cc8207ac9d22708a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/lexag/clicks-core 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" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating git repository `https://github.com/lexag/clicks-common.git`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded jack-sys v0.5.1
[INFO] [stderr]   Downloaded rosc v0.11.4
[INFO] [stderr]   Downloaded jack v0.13.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 882366d7a72cec6667be2b9de2bafab16fc00edfd13a54377a7dc3fec64802a0
[INFO] running `Command { std: "docker" "start" "-a" "882366d7a72cec6667be2b9de2bafab16fc00edfd13a54377a7dc3fec64802a0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "882366d7a72cec6667be2b9de2bafab16fc00edfd13a54377a7dc3fec64802a0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "882366d7a72cec6667be2b9de2bafab16fc00edfd13a54377a7dc3fec64802a0", kill_on_drop: false }`
[INFO] [stdout] 882366d7a72cec6667be2b9de2bafab16fc00edfd13a54377a7dc3fec64802a0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 039e0f08aa969d35409febdb5eb4e1496e5211cf3f8a1f0b283c85211e87b7d1
[INFO] running `Command { std: "docker" "start" "-a" "039e0f08aa969d35409febdb5eb4e1496e5211cf3f8a1f0b283c85211e87b7d1", kill_on_drop: false }`
[INFO] [stderr]    Compiling jack-sys v0.5.1
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling jack v0.13.3
[INFO] [stderr]     Checking minimal-lexical v0.2.1
[INFO] [stderr]     Checking clap_builder v4.5.40
[INFO] [stderr]     Checking chrono v0.4.41
[INFO] [stderr]     Checking time v0.3.41
[INFO] [stderr]    Compiling clap_derive v4.5.40
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking serde_json v1.0.140
[INFO] [stderr]     Checking hound v3.5.1
[INFO] [stderr]     Checking thiserror v2.0.12
[INFO] [stderr]     Checking common v1.0.1 (https://github.com/lexag/clicks-common.git?tag=v1.0.1#fd4bd6e6)
[INFO] [stderr]     Checking rosc v0.11.4
[INFO] [stderr]     Checking clap v4.5.40
[INFO] [stderr]    Compiling neli-proc-macros v0.1.4
[INFO] [stderr]     Checking neli v0.6.5
[INFO] [stderr]     Checking local-ip-address v0.6.5
[INFO] [stderr]     Checking clicks-rust v1.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `AudioSourceState`
[INFO] [stdout]   --> src/audio/processor.rs:12:14
[INFO] [stdout]    |
[INFO] [stdout] 12 |     status::{AudioSourceState, CombinedStatus, Notification, NotificationKind},
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hidden lifetime parameters in types are deprecated
[INFO] [stdout]   --> src/boot.rs:16:37
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
[INFO] [stdout]    |                           ----------^^^^^^^^^
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           expected lifetime parameter
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/main.rs:1:22
[INFO] [stdout]    |
[INFO] [stdout]  1 | #![warn(clippy::all, rust_2018_idioms)]
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(elided_lifetimes_in_paths)]` implied by `#[warn(rust_2018_idioms)]`
[INFO] [stdout] help: indicate the anonymous lifetime
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout]    |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AudioSourceState`
[INFO] [stdout]   --> src/audio/processor.rs:12:14
[INFO] [stdout]    |
[INFO] [stdout] 12 |     status::{AudioSourceState, CombinedStatus, Notification, NotificationKind},
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hidden lifetime parameters in types are deprecated
[INFO] [stdout]   --> src/boot.rs:16:37
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
[INFO] [stdout]    |                           ----------^^^^^^^^^
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           expected lifetime parameter
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/main.rs:1:22
[INFO] [stdout]    |
[INFO] [stdout]  1 | #![warn(clippy::all, rust_2018_idioms)]
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(elided_lifetimes_in_paths)]` implied by `#[warn(rust_2018_idioms)]`
[INFO] [stdout] help: indicate the anonymous lifetime
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stdout]    |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AudioSource`
[INFO] [stdout]  --> src/audio/processor.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 |     audio::source::{AudioSource, AudioSourceContext, SourceConfig},
[INFO] [stdout]   |                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NotificationHandler`
[INFO] [stdout]  --> src/audio/processor.rs:2:32
[INFO] [stdout]   |
[INFO] [stdout] 2 |     AudioOut, Client, Control, NotificationHandler, Port, ProcessHandler, ProcessScope, Unowned,
[INFO] [stdout]   |                                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]    --> src/audio/handler.rs:170:16
[INFO] [stdout]     |
[INFO] [stdout] 170 |             Ok(val) => {
[INFO] [stdout]     |                ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]    --> src/audio/handler.rs:226:17
[INFO] [stdout]     |
[INFO] [stdout] 226 |             Err(err) => None,
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]    --> src/audio/handler.rs:236:17
[INFO] [stdout]     |
[INFO] [stdout] 236 |             Err(err) => Err(()),
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AudioSource`
[INFO] [stdout]  --> src/audio/processor.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 |     audio::source::{AudioSource, AudioSourceContext, SourceConfig},
[INFO] [stdout]   |                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NotificationHandler`
[INFO] [stdout]  --> src/audio/processor.rs:2:32
[INFO] [stdout]   |
[INFO] [stdout] 2 |     AudioOut, Client, Control, NotificationHandler, Port, ProcessHandler, ProcessScope, Unowned,
[INFO] [stdout]   |                                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `next_beat`
[INFO] [stdout]    --> src/audio/metronome.rs:118:17
[INFO] [stdout]     |
[INFO] [stdout] 118 |             let next_beat = match self.cue.get_beat(self.state.next_beat_idx) {
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_next_beat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/audio/metronome.rs:154:9
[INFO] [stdout]     |
[INFO] [stdout] 154 |         ctx: &AudioSourceContext,
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `clip_idx`
[INFO] [stdout]   --> src/audio/playback.rs:83:25
[INFO] [stdout]    |
[INFO] [stdout] 83 |                         clip_idx,
[INFO] [stdout]    |                         ^^^^^^^^ help: try ignoring the field: `clip_idx: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sample`
[INFO] [stdout]   --> src/audio/playback.rs:84:25
[INFO] [stdout]    |
[INFO] [stdout] 84 |                         sample,
[INFO] [stdout]    |                         ^^^^^^ help: try ignoring the field: `sample: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/audio/playback.rs:150:13
[INFO] [stdout]     |
[INFO] [stdout] 150 |         for i in 0..self.num_channels {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sample`
[INFO] [stdout]    --> src/audio/playback.rs:159:25
[INFO] [stdout]     |
[INFO] [stdout] 159 |                         sample,
[INFO] [stdout]     |                         ^^^^^^ help: try ignoring the field: `sample: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `clip_idx`
[INFO] [stdout]    --> src/audio/playback.rs:187:17
[INFO] [stdout]     |
[INFO] [stdout] 187 |             for clip_idx in 0..max_clips[channel] {
[INFO] [stdout]     |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_clip_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]    --> src/audio/handler.rs:170:16
[INFO] [stdout]     |
[INFO] [stdout] 170 |             Ok(val) => {
[INFO] [stdout]     |                ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/audio/playback.rs:339:17
[INFO] [stdout]     |
[INFO] [stdout] 338 |                   _ => {}
[INFO] [stdout]     |                   - matches any value
[INFO] [stdout] 339 | /                 BeatEvent::PlaybackEvent {
[INFO] [stdout] 340 | |                     channel_idx,
[INFO] [stdout] 341 | |                     clip_idx,
[INFO] [stdout] 342 | |                     sample,
[INFO] [stdout] 343 | |                 } => {
[INFO] [stdout]     | |_________________^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/audio/playback.rs:360:17
[INFO] [stdout]     |
[INFO] [stdout] 338 |                 _ => {}
[INFO] [stdout]     |                 - matches any value
[INFO] [stdout] ...
[INFO] [stdout] 360 |                 BeatEvent::PlaybackStopEvent { channel_idx } => {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]    --> src/audio/handler.rs:226:17
[INFO] [stdout]     |
[INFO] [stdout] 226 |             Err(err) => None,
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]    --> src/audio/handler.rs:236:17
[INFO] [stdout]     |
[INFO] [stdout] 236 |             Err(err) => Err(()),
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/audio/playback.rs:420:30
[INFO] [stdout]     |
[INFO] [stdout] 420 |     fn get_status(&mut self, ctx: &AudioSourceContext) -> common::status::AudioSourceState {
[INFO] [stdout]     |                              ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `next_beat`
[INFO] [stdout]    --> src/audio/metronome.rs:118:17
[INFO] [stdout]     |
[INFO] [stdout] 118 |             let next_beat = match self.cue.get_beat(self.state.next_beat_idx) {
[INFO] [stdout]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_next_beat`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/audio/metronome.rs:154:9
[INFO] [stdout]     |
[INFO] [stdout] 154 |         ctx: &AudioSourceContext,
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `clip_idx`
[INFO] [stdout]   --> src/audio/playback.rs:83:25
[INFO] [stdout]    |
[INFO] [stdout] 83 |                         clip_idx,
[INFO] [stdout]    |                         ^^^^^^^^ help: try ignoring the field: `clip_idx: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sample`
[INFO] [stdout]   --> src/audio/playback.rs:84:25
[INFO] [stdout]    |
[INFO] [stdout] 84 |                         sample,
[INFO] [stdout]    |                         ^^^^^^ help: try ignoring the field: `sample: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_bits`
[INFO] [stdout]   --> src/audio/timecode.rs:64:41
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn generate_smpte_frame_bits(&self, user_bits: u32) -> u128 {
[INFO] [stdout]    |                                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_bits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/audio/timecode.rs:168:30
[INFO] [stdout]     |
[INFO] [stdout] 168 |     fn get_status(&mut self, ctx: &AudioSourceContext) -> AudioSourceState {
[INFO] [stdout]     |                              ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/audio/playback.rs:150:13
[INFO] [stdout]     |
[INFO] [stdout] 150 |         for i in 0..self.num_channels {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sample`
[INFO] [stdout]    --> src/audio/playback.rs:159:25
[INFO] [stdout]     |
[INFO] [stdout] 159 |                         sample,
[INFO] [stdout]     |                         ^^^^^^ help: try ignoring the field: `sample: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `clip_idx`
[INFO] [stdout]    --> src/audio/playback.rs:187:17
[INFO] [stdout]     |
[INFO] [stdout] 187 |             for clip_idx in 0..max_clips[channel] {
[INFO] [stdout]     |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_clip_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data_path`
[INFO] [stdout]   --> src/boot.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |     let data_path = match std::process::Command::new("find")
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/audio/playback.rs:238:31
[INFO] [stdout]     |
[INFO] [stdout] 238 |                         .map(|i| common::cue::Beat {
[INFO] [stdout]     |                               ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]    --> src/boot.rs:156:13
[INFO] [stdout]     |
[INFO] [stdout] 156 |         Err(err) => return Ok(false),
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]    --> src/boot.rs:163:17
[INFO] [stdout]     |
[INFO] [stdout] 163 |             Err(err) => return Err(()),
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/audio/playback.rs:339:17
[INFO] [stdout]     |
[INFO] [stdout] 338 |                   _ => {}
[INFO] [stdout]     |                   - matches any value
[INFO] [stdout] 339 | /                 BeatEvent::PlaybackEvent {
[INFO] [stdout] 340 | |                     channel_idx,
[INFO] [stdout] 341 | |                     clip_idx,
[INFO] [stdout] 342 | |                     sample,
[INFO] [stdout] 343 | |                 } => {
[INFO] [stdout]     | |_________________^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/audio/playback.rs:360:17
[INFO] [stdout]     |
[INFO] [stdout] 338 |                 _ => {}
[INFO] [stdout]     |                 - matches any value
[INFO] [stdout] ...
[INFO] [stdout] 360 |                 BeatEvent::PlaybackStopEvent { channel_idx } => {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]   --> src/communication/netport.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 31 |             Err(err) => None,
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `amt`
[INFO] [stdout]   --> src/communication/netport.rs:37:16
[INFO] [stdout]    |
[INFO] [stdout] 37 |             Ok(amt) => {}
[INFO] [stdout]    |                ^^^ help: if this is intentional, prefix it with an underscore: `_amt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/audio/playback.rs:420:30
[INFO] [stdout]     |
[INFO] [stdout] 420 |     fn get_status(&mut self, ctx: &AudioSourceContext) -> common::status::AudioSourceState {
[INFO] [stdout]     |                              ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `limit`
[INFO] [stdout]   --> src/communication/osc.rs:72:30
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn get_inputs(&mut self, limit: usize) -> Vec<ControlMessage> {
[INFO] [stdout]    |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]   --> src/communication/osc.rs:79:21
[INFO] [stdout]    |
[INFO] [stdout] 79 |                 Err(err) => {}
[INFO] [stdout]    |                     ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `notifications`
[INFO] [stdout]   --> src/communication/osc.rs:92:35
[INFO] [stdout]    |
[INFO] [stdout] 92 |     fn notify_multiple(&mut self, notifications: Vec<common::status::Notification>) {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_notifications`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `amt`
[INFO] [stdout]    --> src/communication/osc.rs:113:14
[INFO] [stdout]     |
[INFO] [stdout] 113 |         let (amt, packet) = decode_udp(&buf[..amt])?;
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_amt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]    --> src/communication/osc.rs:224:25
[INFO] [stdout]     |
[INFO] [stdout] 224 |                     Err(err) => continue,
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user_bits`
[INFO] [stdout]   --> src/audio/timecode.rs:64:41
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn generate_smpte_frame_bits(&self, user_bits: u32) -> u128 {
[INFO] [stdout]    |                                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_bits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/audio/timecode.rs:168:30
[INFO] [stdout]     |
[INFO] [stdout] 168 |     fn get_status(&mut self, ctx: &AudioSourceContext) -> AudioSourceState {
[INFO] [stdout]     |                              ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]    --> src/communication/osc.rs:330:17
[INFO] [stdout]     |
[INFO] [stdout] 330 |             Err(err) => return false,
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/logger.rs:71:25
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub fn log(msg: String, context: LogContext, kind: LogKind) {
[INFO] [stdout]    |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]   --> src/logger.rs:84:13
[INFO] [stdout]    |
[INFO] [stdout] 84 |         Err(err) => return,
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data_path`
[INFO] [stdout]   --> src/boot.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |     let data_path = match std::process::Command::new("find")
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]    --> src/boot.rs:156:13
[INFO] [stdout]     |
[INFO] [stdout] 156 |         Err(err) => return Ok(false),
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]    --> src/boot.rs:163:17
[INFO] [stdout]     |
[INFO] [stdout] 163 |             Err(err) => return Err(()),
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]   --> src/main.rs:67:17
[INFO] [stdout]    |
[INFO] [stdout] 67 |             Err(err) => panic!("Incorrect path argument to show_path_override."),
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]   --> src/communication/netport.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 31 |             Err(err) => None,
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `amt`
[INFO] [stdout]   --> src/communication/netport.rs:37:16
[INFO] [stdout]    |
[INFO] [stdout] 37 |             Ok(amt) => {}
[INFO] [stdout]    |                ^^^ help: if this is intentional, prefix it with an underscore: `_amt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `send_status` is never used
[INFO] [stdout]    --> src/audio/handler.rs:288:12
[INFO] [stdout]     |
[INFO] [stdout]  23 | impl AudioHandler {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 288 |     pub fn send_status(&mut 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: field `show_path` is never read
[INFO] [stdout]    --> src/audio/playback.rs:264:5
[INFO] [stdout]     |
[INFO] [stdout] 259 | pub struct PlaybackDevice {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 264 |     show_path: PathBuf,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PlaybackDevice` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_gain` is never used
[INFO] [stdout]   --> src/audio/source.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 70 | impl SourceConfig {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub fn get_gain(&self) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LogCopyFailure` is never constructed
[INFO] [stdout]   --> src/boot.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub enum BootError {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 11 |     LogCopyFailure(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BootError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `copy_logs` is never used
[INFO] [stdout]    --> src/boot.rs:146:8
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub fn copy_logs(path: PathBuf) -> Result<(), BootError> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_single_input` and `notify_multiple` are never used
[INFO] [stdout]   --> src/communication/interface.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout]  3 | pub trait CommunicationInterface: Send {
[INFO] [stdout]    |           ---------------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 10 |     fn get_single_input(&mut self) -> Option<ControlMessage> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     fn notify_multiple(&mut self, notifications: Vec<Notification>);
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `limit`
[INFO] [stdout]   --> src/communication/osc.rs:72:30
[INFO] [stdout]    |
[INFO] [stdout] 72 |     fn get_inputs(&mut self, limit: usize) -> Vec<ControlMessage> {
[INFO] [stdout]    |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]   --> src/communication/osc.rs:79:21
[INFO] [stdout]    |
[INFO] [stdout] 79 |                 Err(err) => {}
[INFO] [stdout]    |                     ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `send_messages` is never used
[INFO] [stdout]    --> src/communication/osc.rs:209:8
[INFO] [stdout]     |
[INFO] [stdout]  97 | impl OscNetHandler {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 209 |     fn send_messages(&mut self, messages: Vec<OscMessage>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |         child.wait();
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let _ = child.wait();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `notifications`
[INFO] [stdout]   --> src/communication/osc.rs:92:35
[INFO] [stdout]    |
[INFO] [stdout] 92 |     fn notify_multiple(&mut self, notifications: Vec<common::status::Notification>) {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_notifications`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:124:21
[INFO] [stdout]     |
[INFO] [stdout] 124 |                     boot::write_config(config.clone());
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 124 |                     let _ = boot::write_config(config.clone());
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/audio/handler.rs:211:9
[INFO] [stdout]     |
[INFO] [stdout] 211 | /         match self.jack_server_process.as_mut() {
[INFO] [stdout] 212 | |             None => return,
[INFO] [stdout] 213 | |             Some(val) => val.kill(),
[INFO] [stdout] 214 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 211 |         let _ = match self.jack_server_process.as_mut() {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/boot.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |         write_default_config();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let _ = write_default_config();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/boot.rs:114:5
[INFO] [stdout]     |
[INFO] [stdout] 114 | /     std::fs::create_dir_all(
[INFO] [stdout] 115 | |         get_config_path()
[INFO] [stdout] 116 | |             .parent()
[INFO] [stdout] 117 | |             .expect("get_config_path() is constant and has a definite parent."),
[INFO] [stdout] 118 | |     );
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 114 |     let _ = std::fs::create_dir_all(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/boot.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 | /     std::fs::write(
[INFO] [stdout] 120 | |         get_config_path(),
[INFO] [stdout] 121 | |         serde_json::to_string_pretty(&SystemConfiguration::default()).expect(
[INFO] [stdout] 122 | |             "SystemConfiguration::default() has trivial derived conversion and will never fail.",
[INFO] [stdout] 123 | |         ),
[INFO] [stdout] 124 | |     );
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 119 |     let _ = std::fs::write(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/boot.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 167 |         child.wait();
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let _ = child.wait();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/cbnet.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |         self.notif_tx.try_send(notif);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let _ = self.notif_tx.try_send(notif);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/cbnet.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |         self.cmd_tx.try_send(cmd);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let _ = self.cmd_tx.try_send(cmd);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `amt`
[INFO] [stdout]    --> src/communication/osc.rs:113:14
[INFO] [stdout]     |
[INFO] [stdout] 113 |         let (amt, packet) = decode_udp(&buf[..amt])?;
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_amt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/logger.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |         std::fs::create_dir(&log_path);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 17 |         let _ = std::fs::create_dir(&log_path);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused comparison that must be used
[INFO] [stdout]   --> src/logger.rs:34:17
[INFO] [stdout]    |
[INFO] [stdout] 34 | /                 f.metadata()
[INFO] [stdout] 35 | |                     .expect("Cannot reasonably fail")
[INFO] [stdout] 36 | |                     .modified()
[INFO] [stdout] 37 | |                     .expect("Cannot reasonably fail on target platforms")
[INFO] [stdout] ...  |
[INFO] [stdout] 40 | |                     .as_secs()
[INFO] [stdout] 41 | |                     > 3600 * 24 * 7;
[INFO] [stdout]    | |___________________________________^ the comparison produces a value
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 34 |                 let _ = f.metadata()
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/logger.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | /     std::fs::rename(
[INFO] [stdout] 57 | |         "log.txt",
[INFO] [stdout] 58 | |         log_path.join(
[INFO] [stdout] 59 | |             PathBuf::from_str(&format!("log_{time_hash}.txt"))
[INFO] [stdout] 60 | |                 .expect("(Semi-)constant path, cannot fail"),
[INFO] [stdout] 61 | |         ),
[INFO] [stdout] 62 | |     );
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 56 |     let _ = std::fs::rename(
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/logger.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 63 |     std::fs::write("log.txt", []);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let _ = std::fs::write("log.txt", []);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/logger.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 91 |     file.write(log_line.as_bytes());
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 91 |     let _ = file.write(log_line.as_bytes());
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]    --> src/communication/osc.rs:224:25
[INFO] [stdout]     |
[INFO] [stdout] 224 |                     Err(err) => continue,
[INFO] [stdout]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]    --> src/communication/osc.rs:330:17
[INFO] [stdout]     |
[INFO] [stdout] 330 |             Err(err) => return false,
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `packet`
[INFO] [stdout]    --> src/communication/osc.rs:411:17
[INFO] [stdout]     |
[INFO] [stdout] 411 |             let packet = OscPacket::Message(OscMessage {
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]   --> src/logger.rs:71:25
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub fn log(msg: String, context: LogContext, kind: LogKind) {
[INFO] [stdout]    |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]   --> src/logger.rs:84:13
[INFO] [stdout]    |
[INFO] [stdout] 84 |         Err(err) => return,
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]   --> src/main.rs:67:17
[INFO] [stdout]    |
[INFO] [stdout] 67 |             Err(err) => panic!("Incorrect path argument to show_path_override."),
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `send_status` is never used
[INFO] [stdout]    --> src/audio/handler.rs:288:12
[INFO] [stdout]     |
[INFO] [stdout]  23 | impl AudioHandler {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 288 |     pub fn send_status(&mut 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: field `show_path` is never read
[INFO] [stdout]    --> src/audio/playback.rs:264:5
[INFO] [stdout]     |
[INFO] [stdout] 259 | pub struct PlaybackDevice {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 264 |     show_path: PathBuf,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PlaybackDevice` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_gain` is never used
[INFO] [stdout]   --> src/audio/source.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 70 | impl SourceConfig {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub fn get_gain(&self) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LogCopyFailure` is never constructed
[INFO] [stdout]   --> src/boot.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub enum BootError {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 11 |     LogCopyFailure(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BootError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `copy_logs` is never used
[INFO] [stdout]    --> src/boot.rs:146:8
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub fn copy_logs(path: PathBuf) -> Result<(), BootError> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_single_input` and `notify_multiple` are never used
[INFO] [stdout]   --> src/communication/interface.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout]  3 | pub trait CommunicationInterface: Send {
[INFO] [stdout]    |           ---------------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 10 |     fn get_single_input(&mut self) -> Option<ControlMessage> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     fn notify_multiple(&mut self, notifications: Vec<Notification>);
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `send_messages` is never used
[INFO] [stdout]    --> src/communication/osc.rs:209:8
[INFO] [stdout]     |
[INFO] [stdout]  97 | impl OscNetHandler {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 209 |     fn send_messages(&mut self, messages: Vec<OscMessage>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |         child.wait();
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let _ = child.wait();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:124:21
[INFO] [stdout]     |
[INFO] [stdout] 124 |                     boot::write_config(config.clone());
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 124 |                     let _ = boot::write_config(config.clone());
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/audio/handler.rs:211:9
[INFO] [stdout]     |
[INFO] [stdout] 211 | /         match self.jack_server_process.as_mut() {
[INFO] [stdout] 212 | |             None => return,
[INFO] [stdout] 213 | |             Some(val) => val.kill(),
[INFO] [stdout] 214 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 211 |         let _ = match self.jack_server_process.as_mut() {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/boot.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |         write_default_config();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let _ = write_default_config();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/boot.rs:114:5
[INFO] [stdout]     |
[INFO] [stdout] 114 | /     std::fs::create_dir_all(
[INFO] [stdout] 115 | |         get_config_path()
[INFO] [stdout] 116 | |             .parent()
[INFO] [stdout] 117 | |             .expect("get_config_path() is constant and has a definite parent."),
[INFO] [stdout] 118 | |     );
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 114 |     let _ = std::fs::create_dir_all(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/boot.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 | /     std::fs::write(
[INFO] [stdout] 120 | |         get_config_path(),
[INFO] [stdout] 121 | |         serde_json::to_string_pretty(&SystemConfiguration::default()).expect(
[INFO] [stdout] 122 | |             "SystemConfiguration::default() has trivial derived conversion and will never fail.",
[INFO] [stdout] 123 | |         ),
[INFO] [stdout] 124 | |     );
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 119 |     let _ = std::fs::write(
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/boot.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 167 |         child.wait();
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let _ = child.wait();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/cbnet.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |         self.notif_tx.try_send(notif);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let _ = self.notif_tx.try_send(notif);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/cbnet.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |         self.cmd_tx.try_send(cmd);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let _ = self.cmd_tx.try_send(cmd);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/logger.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |         std::fs::create_dir(&log_path);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 17 |         let _ = std::fs::create_dir(&log_path);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused comparison that must be used
[INFO] [stdout]   --> src/logger.rs:34:17
[INFO] [stdout]    |
[INFO] [stdout] 34 | /                 f.metadata()
[INFO] [stdout] 35 | |                     .expect("Cannot reasonably fail")
[INFO] [stdout] 36 | |                     .modified()
[INFO] [stdout] 37 | |                     .expect("Cannot reasonably fail on target platforms")
[INFO] [stdout] ...  |
[INFO] [stdout] 40 | |                     .as_secs()
[INFO] [stdout] 41 | |                     > 3600 * 24 * 7;
[INFO] [stdout]    | |___________________________________^ the comparison produces a value
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 34 |                 let _ = f.metadata()
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/logger.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | /     std::fs::rename(
[INFO] [stdout] 57 | |         "log.txt",
[INFO] [stdout] 58 | |         log_path.join(
[INFO] [stdout] 59 | |             PathBuf::from_str(&format!("log_{time_hash}.txt"))
[INFO] [stdout] 60 | |                 .expect("(Semi-)constant path, cannot fail"),
[INFO] [stdout] 61 | |         ),
[INFO] [stdout] 62 | |     );
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 56 |     let _ = std::fs::rename(
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/logger.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 63 |     std::fs::write("log.txt", []);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let _ = std::fs::write("log.txt", []);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/logger.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 91 |     file.write(log_line.as_bytes());
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 91 |     let _ = file.write(log_line.as_bytes());
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 19.79s
[INFO] running `Command { std: "docker" "inspect" "039e0f08aa969d35409febdb5eb4e1496e5211cf3f8a1f0b283c85211e87b7d1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "039e0f08aa969d35409febdb5eb4e1496e5211cf3f8a1f0b283c85211e87b7d1", kill_on_drop: false }`
[INFO] [stdout] 039e0f08aa969d35409febdb5eb4e1496e5211cf3f8a1f0b283c85211e87b7d1
