[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] testing lexag/clicks-core against try#9f93af291970322f4f1c6315ccde4d7078201159 for pr-146098-6
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flexag%2Fclicks-core" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/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-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/lexag/clicks-core on toolchain 9f93af291970322f4f1c6315ccde4d7078201159
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9f93af291970322f4f1c6315ccde4d7078201159" "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" "+9f93af291970322f4f1c6315ccde4d7078201159" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded neli-proc-macros v0.1.4
[INFO] [stderr]   Downloaded local-ip-address v0.6.5
[INFO] [stderr]   Downloaded neli v0.6.5
[INFO] [stderr]   Downloaded jack-sys v0.5.1
[INFO] [stderr]   Downloaded rosc v0.11.4
[INFO] [stderr]   Downloaded bumpalo v3.18.1
[INFO] [stderr]   Downloaded jack v0.13.3
[INFO] [stderr]   Downloaded libc v0.2.172
[INFO] [stderr]   Downloaded crossbeam-channel v0.5.15
[INFO] [stderr]   Downloaded hound v3.5.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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" "+9f93af291970322f4f1c6315ccde4d7078201159" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 69b1c33e08c161fc2325466fcbb415745680668ad0dc240de346ed4d6f4b9190
[INFO] running `Command { std: "docker" "start" "-a" "69b1c33e08c161fc2325466fcbb415745680668ad0dc240de346ed4d6f4b9190", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "69b1c33e08c161fc2325466fcbb415745680668ad0dc240de346ed4d6f4b9190", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "69b1c33e08c161fc2325466fcbb415745680668ad0dc240de346ed4d6f4b9190", kill_on_drop: false }`
[INFO] [stdout] 69b1c33e08c161fc2325466fcbb415745680668ad0dc240de346ed4d6f4b9190
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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" "+9f93af291970322f4f1c6315ccde4d7078201159" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b7e7f2355a23b3736d036b20a4bf229d6889c9b1432e8ac5d123249a5005ae4f
[INFO] running `Command { std: "docker" "start" "-a" "b7e7f2355a23b3736d036b20a4bf229d6889c9b1432e8ac5d123249a5005ae4f", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.95
[INFO] [stderr]    Compiling unicode-ident v1.0.18
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling libc v0.2.172
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]    Compiling log v0.4.27
[INFO] [stderr]    Compiling itoa v1.0.15
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]    Compiling anstyle-query v1.1.3
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.1
[INFO] [stderr]    Compiling anstyle-parse v0.2.7
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling anstyle v1.0.11
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling libloading v0.7.4
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling clap_lex v0.7.5
[INFO] [stderr]    Compiling ryu v1.0.20
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling iana-time-zone v0.1.63
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling jack v0.13.3
[INFO] [stderr]    Compiling anstream v0.6.19
[INFO] [stderr]    Compiling deranged v0.4.0
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling time-core v0.1.4
[INFO] [stderr]    Compiling bitflags v2.9.1
[INFO] [stderr]    Compiling arc-swap v1.7.1
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling hound v3.5.1
[INFO] [stderr]    Compiling jack-sys v0.5.1
[INFO] [stderr]    Compiling syn v2.0.101
[INFO] [stderr]    Compiling clap_builder v4.5.40
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling chrono v0.4.41
[INFO] [stderr]    Compiling time v0.3.41
[INFO] [stderr]    Compiling rosc v0.11.4
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling clap_derive v4.5.40
[INFO] [stderr]    Compiling clap v4.5.40
[INFO] [stderr]    Compiling neli-proc-macros v0.1.4
[INFO] [stderr]    Compiling neli v0.6.5
[INFO] [stderr]    Compiling common v1.0.1 (https://github.com/lexag/clicks-common.git?tag=v1.0.1#fd4bd6e6)
[INFO] [stderr]    Compiling local-ip-address v0.6.5
[INFO] [stderr]    Compiling 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: `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 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: 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: `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: `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: `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/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: `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: `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: `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 32.65s
[INFO] running `Command { std: "docker" "inspect" "b7e7f2355a23b3736d036b20a4bf229d6889c9b1432e8ac5d123249a5005ae4f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b7e7f2355a23b3736d036b20a4bf229d6889c9b1432e8ac5d123249a5005ae4f", kill_on_drop: false }`
[INFO] [stdout] b7e7f2355a23b3736d036b20a4bf229d6889c9b1432e8ac5d123249a5005ae4f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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" "+9f93af291970322f4f1c6315ccde4d7078201159" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1262e8efe232aee637a97eaf1aa74b5a69414ca3bbdfd30ec84c90e7a399ab2a
[INFO] running `Command { std: "docker" "start" "-a" "1262e8efe232aee637a97eaf1aa74b5a69414ca3bbdfd30ec84c90e7a399ab2a", kill_on_drop: false }`
[INFO] [stderr]    Compiling 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: `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 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: `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: 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: `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: `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: `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/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: `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: `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 `test` profile [unoptimized + debuginfo] target(s) in 1.36s
[INFO] running `Command { std: "docker" "inspect" "1262e8efe232aee637a97eaf1aa74b5a69414ca3bbdfd30ec84c90e7a399ab2a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1262e8efe232aee637a97eaf1aa74b5a69414ca3bbdfd30ec84c90e7a399ab2a", kill_on_drop: false }`
[INFO] [stdout] 1262e8efe232aee637a97eaf1aa74b5a69414ca3bbdfd30ec84c90e7a399ab2a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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" "+9f93af291970322f4f1c6315ccde4d7078201159" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 27ee930951bb083608f1e1968e869b9d220c22d9641d640dbc9fa91cdf4f1e06
[INFO] running `Command { std: "docker" "start" "-a" "27ee930951bb083608f1e1968e869b9d220c22d9641d640dbc9fa91cdf4f1e06", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `AudioSourceState`
[INFO] [stderr]   --> src/audio/processor.rs:12:14
[INFO] [stderr]    |
[INFO] [stderr] 12 |     status::{AudioSourceState, CombinedStatus, Notification, NotificationKind},
[INFO] [stderr]    |              ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: hidden lifetime parameters in types are deprecated
[INFO] [stderr]   --> src/boot.rs:16:37
[INFO] [stderr]    |
[INFO] [stderr] 16 |     fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
[INFO] [stderr]    |                           ----------^^^^^^^^^
[INFO] [stderr]    |                           |
[INFO] [stderr]    |                           expected lifetime parameter
[INFO] [stderr]    |
[INFO] [stderr] note: the lint level is defined here
[INFO] [stderr]   --> src/main.rs:1:22
[INFO] [stderr]    |
[INFO] [stderr]  1 | #![warn(clippy::all, rust_2018_idioms)]
[INFO] [stderr]    |                      ^^^^^^^^^^^^^^^^
[INFO] [stderr]    = note: `#[warn(elided_lifetimes_in_paths)]` implied by `#[warn(rust_2018_idioms)]`
[INFO] [stderr] help: indicate the anonymous lifetime
[INFO] [stderr]    |
[INFO] [stderr] 16 |     fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
[INFO] [stderr]    |                                              ++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AudioSource`
[INFO] [stderr]  --> src/audio/processor.rs:6:21
[INFO] [stderr]   |
[INFO] [stderr] 6 |     audio::source::{AudioSource, AudioSourceContext, SourceConfig},
[INFO] [stderr]   |                     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `NotificationHandler`
[INFO] [stderr]  --> src/audio/processor.rs:2:32
[INFO] [stderr]   |
[INFO] [stderr] 2 |     AudioOut, Client, Control, NotificationHandler, Port, ProcessHandler, ProcessScope, Unowned,
[INFO] [stderr]   |                                ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `val`
[INFO] [stderr]    --> src/audio/handler.rs:170:16
[INFO] [stderr]     |
[INFO] [stderr] 170 |             Ok(val) => {
[INFO] [stderr]     |                ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `err`
[INFO] [stderr]    --> src/audio/handler.rs:226:17
[INFO] [stderr]     |
[INFO] [stderr] 226 |             Err(err) => None,
[INFO] [stderr]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `err`
[INFO] [stderr]    --> src/audio/handler.rs:236:17
[INFO] [stderr]     |
[INFO] [stderr] 236 |             Err(err) => Err(()),
[INFO] [stderr]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `next_beat`
[INFO] [stderr]    --> src/audio/metronome.rs:118:17
[INFO] [stderr]     |
[INFO] [stderr] 118 |             let next_beat = match self.cue.get_beat(self.state.next_beat_idx) {
[INFO] [stderr]     |                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_next_beat`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ctx`
[INFO] [stderr]    --> src/audio/metronome.rs:154:9
[INFO] [stderr]     |
[INFO] [stderr] 154 |         ctx: &AudioSourceContext,
[INFO] [stderr]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `clip_idx`
[INFO] [stderr]   --> src/audio/playback.rs:83:25
[INFO] [stderr]    |
[INFO] [stderr] 83 |                         clip_idx,
[INFO] [stderr]    |                         ^^^^^^^^ help: try ignoring the field: `clip_idx: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sample`
[INFO] [stderr]   --> src/audio/playback.rs:84:25
[INFO] [stderr]    |
[INFO] [stderr] 84 |                         sample,
[INFO] [stderr]    |                         ^^^^^^ help: try ignoring the field: `sample: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/audio/playback.rs:150:13
[INFO] [stderr]     |
[INFO] [stderr] 150 |         for i in 0..self.num_channels {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sample`
[INFO] [stderr]    --> src/audio/playback.rs:159:25
[INFO] [stderr]     |
[INFO] [stderr] 159 |                         sample,
[INFO] [stderr]     |                         ^^^^^^ help: try ignoring the field: `sample: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `clip_idx`
[INFO] [stderr]    --> src/audio/playback.rs:187:17
[INFO] [stderr]     |
[INFO] [stderr] 187 |             for clip_idx in 0..max_clips[channel] {
[INFO] [stderr]     |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_clip_idx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/audio/playback.rs:238:31
[INFO] [stderr]     |
[INFO] [stderr] 238 |                         .map(|i| common::cue::Beat {
[INFO] [stderr]     |                               ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/audio/playback.rs:339:17
[INFO] [stderr]     |
[INFO] [stderr] 338 |                   _ => {}
[INFO] [stderr]     |                   - matches any value
[INFO] [stderr] 339 | /                 BeatEvent::PlaybackEvent {
[INFO] [stderr] 340 | |                     channel_idx,
[INFO] [stderr] 341 | |                     clip_idx,
[INFO] [stderr] 342 | |                     sample,
[INFO] [stderr] 343 | |                 } => {
[INFO] [stderr]     | |_________________^ no value can reach this
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/audio/playback.rs:360:17
[INFO] [stderr]     |
[INFO] [stderr] 338 |                 _ => {}
[INFO] [stderr]     |                 - matches any value
[INFO] [stderr] ...
[INFO] [stderr] 360 |                 BeatEvent::PlaybackStopEvent { channel_idx } => {
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ctx`
[INFO] [stderr]    --> src/audio/playback.rs:420:30
[INFO] [stderr]     |
[INFO] [stderr] 420 |     fn get_status(&mut self, ctx: &AudioSourceContext) -> common::status::AudioSourceState {
[INFO] [stderr]     |                              ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `user_bits`
[INFO] [stderr]   --> src/audio/timecode.rs:64:41
[INFO] [stderr]    |
[INFO] [stderr] 64 |     fn generate_smpte_frame_bits(&self, user_bits: u32) -> u128 {
[INFO] [stderr]    |                                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_bits`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ctx`
[INFO] [stderr]    --> src/audio/timecode.rs:168:30
[INFO] [stderr]     |
[INFO] [stderr] 168 |     fn get_status(&mut self, ctx: &AudioSourceContext) -> AudioSourceState {
[INFO] [stderr]     |                              ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data_path`
[INFO] [stderr]   --> src/boot.rs:58:9
[INFO] [stderr]    |
[INFO] [stderr] 58 |     let data_path = match std::process::Command::new("find")
[INFO] [stderr]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_data_path`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `err`
[INFO] [stderr]    --> src/boot.rs:156:13
[INFO] [stderr]     |
[INFO] [stderr] 156 |         Err(err) => return Ok(false),
[INFO] [stderr]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `err`
[INFO] [stderr]    --> src/boot.rs:163:17
[INFO] [stderr]     |
[INFO] [stderr] 163 |             Err(err) => return Err(()),
[INFO] [stderr]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `err`
[INFO] [stderr]   --> src/communication/netport.rs:31:17
[INFO] [stderr]    |
[INFO] [stderr] 31 |             Err(err) => None,
[INFO] [stderr]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `amt`
[INFO] [stderr]   --> src/communication/netport.rs:37:16
[INFO] [stderr]    |
[INFO] [stderr] 37 |             Ok(amt) => {}
[INFO] [stderr]    |                ^^^ help: if this is intentional, prefix it with an underscore: `_amt`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `limit`
[INFO] [stderr]   --> src/communication/osc.rs:72:30
[INFO] [stderr]    |
[INFO] [stderr] 72 |     fn get_inputs(&mut self, limit: usize) -> Vec<ControlMessage> {
[INFO] [stderr]    |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `err`
[INFO] [stderr]   --> src/communication/osc.rs:79:21
[INFO] [stderr]    |
[INFO] [stderr] 79 |                 Err(err) => {}
[INFO] [stderr]    |                     ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `notifications`
[INFO] [stderr]   --> src/communication/osc.rs:92:35
[INFO] [stderr]    |
[INFO] [stderr] 92 |     fn notify_multiple(&mut self, notifications: Vec<common::status::Notification>) {
[INFO] [stderr]    |                                   ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_notifications`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `amt`
[INFO] [stderr]    --> src/communication/osc.rs:113:14
[INFO] [stderr]     |
[INFO] [stderr] 113 |         let (amt, packet) = decode_udp(&buf[..amt])?;
[INFO] [stderr]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_amt`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `err`
[INFO] [stderr]    --> src/communication/osc.rs:224:25
[INFO] [stderr]     |
[INFO] [stderr] 224 |                     Err(err) => continue,
[INFO] [stderr]     |                         ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `err`
[INFO] [stderr]    --> src/communication/osc.rs:330:17
[INFO] [stderr]     |
[INFO] [stderr] 330 |             Err(err) => return false,
[INFO] [stderr]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `packet`
[INFO] [stderr]    --> src/communication/osc.rs:411:17
[INFO] [stderr]     |
[INFO] [stderr] 411 |             let packet = OscPacket::Message(OscMessage {
[INFO] [stderr]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_packet`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `context`
[INFO] [stderr]   --> src/logger.rs:71:25
[INFO] [stderr]    |
[INFO] [stderr] 71 | pub fn log(msg: String, context: LogContext, kind: LogKind) {
[INFO] [stderr]    |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `err`
[INFO] [stderr]   --> src/logger.rs:84:13
[INFO] [stderr]    |
[INFO] [stderr] 84 |         Err(err) => return,
[INFO] [stderr]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `err`
[INFO] [stderr]   --> src/main.rs:67:17
[INFO] [stderr]    |
[INFO] [stderr] 67 |             Err(err) => panic!("Incorrect path argument to show_path_override."),
[INFO] [stderr]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stderr] 
[INFO] [stderr] warning: method `send_status` is never used
[INFO] [stderr]    --> src/audio/handler.rs:288:12
[INFO] [stderr]     |
[INFO] [stderr]  23 | impl AudioHandler {
[INFO] [stderr]     | ----------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 288 |     pub fn send_status(&mut self) {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `show_path` is never read
[INFO] [stderr]    --> src/audio/playback.rs:264:5
[INFO] [stderr]     |
[INFO] [stderr] 259 | pub struct PlaybackDevice {
[INFO] [stderr]     |            -------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 264 |     show_path: PathBuf,
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `PlaybackDevice` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_gain` is never used
[INFO] [stderr]   --> src/audio/source.rs:87:12
[INFO] [stderr]    |
[INFO] [stderr] 70 | impl SourceConfig {
[INFO] [stderr]    | ----------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 87 |     pub fn get_gain(&self) -> f32 {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `LogCopyFailure` is never constructed
[INFO] [stderr]   --> src/boot.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr]  6 | pub enum BootError {
[INFO] [stderr]    |          --------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 11 |     LogCopyFailure(String),
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `BootError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: function `copy_logs` is never used
[INFO] [stderr]    --> src/boot.rs:146:8
[INFO] [stderr]     |
[INFO] [stderr] 146 | pub fn copy_logs(path: PathBuf) -> Result<(), BootError> {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `get_single_input` and `notify_multiple` are never used
[INFO] [stderr]   --> src/communication/interface.rs:10:8
[INFO] [stderr]    |
[INFO] [stderr]  3 | pub trait CommunicationInterface: Send {
[INFO] [stderr]    |           ---------------------- methods in this trait
[INFO] [stderr] ...
[INFO] [stderr] 10 |     fn get_single_input(&mut self) -> Option<ControlMessage> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 16 |     fn notify_multiple(&mut self, notifications: Vec<Notification>);
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `send_messages` is never used
[INFO] [stderr]    --> src/communication/osc.rs:209:8
[INFO] [stderr]     |
[INFO] [stderr]  97 | impl OscNetHandler {
[INFO] [stderr]     | ------------------ method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 209 |     fn send_messages(&mut self, messages: Vec<OscMessage>) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/main.rs:75:9
[INFO] [stderr]    |
[INFO] [stderr] 75 |         child.wait();
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 75 |         let _ = child.wait();
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/main.rs:124:21
[INFO] [stderr]     |
[INFO] [stderr] 124 |                     boot::write_config(config.clone());
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 124 |                     let _ = boot::write_config(config.clone());
[INFO] [stderr]     |                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/audio/handler.rs:211:9
[INFO] [stderr]     |
[INFO] [stderr] 211 | /         match self.jack_server_process.as_mut() {
[INFO] [stderr] 212 | |             None => return,
[INFO] [stderr] 213 | |             Some(val) => val.kill(),
[INFO] [stderr] 214 | |         };
[INFO] [stderr]     | |_________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 211 |         let _ = match self.jack_server_process.as_mut() {
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/boot.rs:95:9
[INFO] [stderr]    |
[INFO] [stderr] 95 |         write_default_config();
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 95 |         let _ = write_default_config();
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/boot.rs:114:5
[INFO] [stderr]     |
[INFO] [stderr] 114 | /     std::fs::create_dir_all(
[INFO] [stderr] 115 | |         get_config_path()
[INFO] [stderr] 116 | |             .parent()
[INFO] [stderr] 117 | |             .expect("get_config_path() is constant and has a definite parent."),
[INFO] [stderr] 118 | |     );
[INFO] [stderr]     | |_____^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 114 |     let _ = std::fs::create_dir_all(
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/boot.rs:119:5
[INFO] [stderr]     |
[INFO] [stderr] 119 | /     std::fs::write(
[INFO] [stderr] 120 | |         get_config_path(),
[INFO] [stderr] 121 | |         serde_json::to_string_pretty(&SystemConfiguration::default()).expect(
[INFO] [stderr] 122 | |             "SystemConfiguration::default() has trivial derived conversion and will never fail.",
[INFO] [stderr] 123 | |         ),
[INFO] [stderr] 124 | |     );
[INFO] [stderr]     | |_____^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 119 |     let _ = std::fs::write(
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/boot.rs:167:9
[INFO] [stderr]     |
[INFO] [stderr] 167 |         child.wait();
[INFO] [stderr]     |         ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 167 |         let _ = child.wait();
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/cbnet.rs:25:9
[INFO] [stderr]    |
[INFO] [stderr] 25 |         self.notif_tx.try_send(notif);
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 25 |         let _ = self.notif_tx.try_send(notif);
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/cbnet.rs:29:9
[INFO] [stderr]    |
[INFO] [stderr] 29 |         self.cmd_tx.try_send(cmd);
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 29 |         let _ = self.cmd_tx.try_send(cmd);
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/logger.rs:17:9
[INFO] [stderr]    |
[INFO] [stderr] 17 |         std::fs::create_dir(&log_path);
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 17 |         let _ = std::fs::create_dir(&log_path);
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused comparison that must be used
[INFO] [stderr]   --> src/logger.rs:34:17
[INFO] [stderr]    |
[INFO] [stderr] 34 | /                 f.metadata()
[INFO] [stderr] 35 | |                     .expect("Cannot reasonably fail")
[INFO] [stderr] 36 | |                     .modified()
[INFO] [stderr] 37 | |                     .expect("Cannot reasonably fail on target platforms")
[INFO] [stderr] ...  |
[INFO] [stderr] 40 | |                     .as_secs()
[INFO] [stderr] 41 | |                     > 3600 * 24 * 7;
[INFO] [stderr]    | |___________________________________^ the comparison produces a value
[INFO] [stderr]    |
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 34 |                 let _ = f.metadata()
[INFO] [stderr]    |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/logger.rs:56:5
[INFO] [stderr]    |
[INFO] [stderr] 56 | /     std::fs::rename(
[INFO] [stderr] 57 | |         "log.txt",
[INFO] [stderr] 58 | |         log_path.join(
[INFO] [stderr] 59 | |             PathBuf::from_str(&format!("log_{time_hash}.txt"))
[INFO] [stderr] 60 | |                 .expect("(Semi-)constant path, cannot fail"),
[INFO] [stderr] 61 | |         ),
[INFO] [stderr] 62 | |     );
[INFO] [stderr]    | |_____^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 56 |     let _ = std::fs::rename(
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/logger.rs:63:5
[INFO] [stderr]    |
[INFO] [stderr] 63 |     std::fs::write("log.txt", []);
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 63 |     let _ = std::fs::write("log.txt", []);
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/logger.rs:91:5
[INFO] [stderr]    |
[INFO] [stderr] 91 |     file.write(log_line.as_bytes());
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 91 |     let _ = file.write(log_line.as_bytes());
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `clicks-rust` (bin "clicks-rust" test) generated 56 warnings (run `cargo fix --bin "clicks-rust" -p clicks-rust --tests` to apply 30 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.14s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/clicks_rust-8f249426f396decd)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test communication::osc::tests::valid_osc ... FAILED
[INFO] [stdout] test communication::osc::tests::invalid_osc ... FAILED
[INFO] [stdout] test audio::playback::tests::clips_counter ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- communication::osc::tests::valid_osc stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'communication::osc::tests::valid_osc' (27) panicked at src/communication/netport.rs:19:28:
[INFO] [stdout] Couldn't find IP: LocalIpAddressNotFound
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x598a931f9702 - std::backtrace_rs::backtrace::libunwind::trace::h16affffe904e891e
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x598a931f9702 - std::backtrace_rs::backtrace::trace_unsynchronized::h5c14b13373ed4150
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x598a931f9702 - std::sys::backtrace::_print_fmt::hcbb507f162c816cc
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x598a931f9702 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h8be9aa933f14675f
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x598a9320a79f - core::fmt::rt::Argument::fmt::h30ed739d33467c3a
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x598a9320a79f - core::fmt::write::hfd0efbb002ac7eea
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/core/src/fmt/mod.rs:1469:25
[INFO] [stdout]    6:     0x598a931c6653 - std::io::default_write_fmt::hd6d24501f2d7f8d3
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x598a931c6653 - std::io::Write::write_fmt::h79eca2f72fc24111
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x598a931d2c72 - std::sys::backtrace::BacktraceLock::print::hf2554f6030d393f7
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x598a931d77af - std::panicking::default_hook::{{closure}}::h8873121c56335b01
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/panicking.rs:301:27
[INFO] [stdout]   10:     0x598a931d7641 - std::panicking::default_hook::hbafefc2d196267a2
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/panicking.rs:325:9
[INFO] [stdout]   11:     0x598a9311029e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::ha834d5846f91b30b
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   12:     0x598a9311029e - test::test_main_with_exit_callback::{{closure}}::h63c167737eecb025
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x598a931d7dbf - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hbf9b0f7a281291fd
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   14:     0x598a931d7dbf - std::panicking::panic_with_hook::h9f5b09d5adc1a745
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/panicking.rs:842:13
[INFO] [stdout]   15:     0x598a931d7c1a - std::panicking::panic_handler::{{closure}}::h08111e483bdf6a89
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/panicking.rs:707:13
[INFO] [stdout]   16:     0x598a931d2da9 - std::sys::backtrace::__rust_end_short_backtrace::h1b86e3414ecbbe8d
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/sys/backtrace.rs:174:18
[INFO] [stdout]   17:     0x598a931bae1d - __rustc[b292c645e8102103]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/panicking.rs:698:5
[INFO] [stdout]   18:     0x598a932137e0 - core::panicking::panic_fmt::h31cc490ecc8cc1fa
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x598a93212e26 - core::result::unwrap_failed::he05762ef9e6bdf9c
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/core/src/result.rs:1862:5
[INFO] [stdout]   20:     0x598a930ece8b - core::result::Result<T,E>::expect::h239d9b0354edda70
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x598a930db07c - clicks_rust::communication::netport::NetworkPort::new::h8088720304c35916
[INFO] [stdout]                                at /opt/rustwide/workdir/src/communication/netport.rs:19:28
[INFO] [stdout]   22:     0x598a930e3e2f - clicks_rust::communication::osc::OscNetHandler::new::h07a8b8a8794db5d2
[INFO] [stdout]                                at /opt/rustwide/workdir/src/communication/osc.rs:101:19
[INFO] [stdout]   23:     0x598a930ea074 - clicks_rust::communication::osc::tests::valid_osc::h2b6efcec31e419eb
[INFO] [stdout]                                at /opt/rustwide/workdir/src/communication/osc.rs:467:27
[INFO] [stdout]   24:     0x598a930ea4a7 - clicks_rust::communication::osc::tests::valid_osc::{{closure}}::h122767a65a70aac1
[INFO] [stdout]                                at /opt/rustwide/workdir/src/communication/osc.rs:425:19
[INFO] [stdout]   25:     0x598a930eb276 - core::ops::function::FnOnce::call_once::h7e8645b56d3bb9d4
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x598a9311009b - core::ops::function::FnOnce::call_once::h2b2de5fdd23aab3e
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   27:     0x598a9311009b - test::__rust_begin_short_backtrace::he551dd004770be01
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/test/src/lib.rs:663:18
[INFO] [stdout]   28:     0x598a931240fd - test::run_test_in_process::{{closure}}::h5f0b44080a35ed87
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/test/src/lib.rs:686:74
[INFO] [stdout]   29:     0x598a931240fd - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h4dbf65d14893ecf5
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   30:     0x598a931240fd - std::panicking::catch_unwind::do_call::hc37c563b8a006285
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/panicking.rs:590:40
[INFO] [stdout]   31:     0x598a931240fd - std::panicking::catch_unwind::h616b6e2e7a27f612
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/panicking.rs:553:19
[INFO] [stdout]   32:     0x598a931240fd - std::panic::catch_unwind::h1e788dd57758e6d8
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/panic.rs:359:14
[INFO] [stdout]   33:     0x598a931240fd - test::run_test_in_process::hf073c2764f29f8ad
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/test/src/lib.rs:686:27
[INFO] [stdout]   34:     0x598a931240fd - test::run_test::{{closure}}::h3dc46b7a0c340fa6
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/test/src/lib.rs:607:43
[INFO] [stdout]   35:     0x598a930fd644 - test::run_test::{{closure}}::h6a4da3c57ef4505f
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/test/src/lib.rs:637:41
[INFO] [stdout]   36:     0x598a930fd644 - std::sys::backtrace::__rust_begin_short_backtrace::hfd8e44bc311a5d57
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   37:     0x598a93100e9a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h57c4ddec344fe24c
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/thread/mod.rs:562:17
[INFO] [stdout]   38:     0x598a93100e9a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hd7cbe09591f06dfb
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   39:     0x598a93100e9a - std::panicking::catch_unwind::do_call::hdcd076e8e993dfbc
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/panicking.rs:590:40
[INFO] [stdout]   40:     0x598a93100e9a - std::panicking::catch_unwind::h8f9f675f3756eab1
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/panicking.rs:553:19
[INFO] [stdout]   41:     0x598a93100e9a - std::panic::catch_unwind::he8f74a93abeceb9b
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/panic.rs:359:14
[INFO] [stdout]   42:     0x598a93100e9a - std::thread::Builder::spawn_unchecked_::{{closure}}::he43db13a2caa41d5
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/thread/mod.rs:560:30
[INFO] [stdout]   43:     0x598a93100e9a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h8f3531a7e0d83514
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   44:     0x598a931ce1af - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6ff05134d80ef20e
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/alloc/src/boxed.rs:2085:9
[INFO] [stdout]   45:     0x598a931ce1af - std::sys::thread::unix::Thread::new::thread_start::h9a4a41a076a486e0
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/sys/thread/unix.rs:124:17
[INFO] [stdout]   46:     0x7a4fc6c4caa4 - <unknown>
[INFO] [stdout]   47:     0x7a4fc6cd9a64 - clone
[INFO] [stdout]   48:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- communication::osc::tests::invalid_osc stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'communication::osc::tests::invalid_osc' (26) panicked at src/communication/netport.rs:19:28:
[INFO] [stdout] Couldn't find IP: LocalIpAddressNotFound
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x598a931f9702 - std::backtrace_rs::backtrace::libunwind::trace::h16affffe904e891e
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x598a931f9702 - std::backtrace_rs::backtrace::trace_unsynchronized::h5c14b13373ed4150
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x598a931f9702 - std::sys::backtrace::_print_fmt::hcbb507f162c816cc
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x598a931f9702 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h8be9aa933f14675f
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x598a9320a79f - core::fmt::rt::Argument::fmt::h30ed739d33467c3a
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x598a9320a79f - core::fmt::write::hfd0efbb002ac7eea
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/core/src/fmt/mod.rs:1469:25
[INFO] [stdout]    6:     0x598a931c6653 - std::io::default_write_fmt::hd6d24501f2d7f8d3
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x598a931c6653 - std::io::Write::write_fmt::h79eca2f72fc24111
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x598a931d2c72 - std::sys::backtrace::BacktraceLock::print::hf2554f6030d393f7
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x598a931d77af - std::panicking::default_hook::{{closure}}::h8873121c56335b01
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/panicking.rs:301:27
[INFO] [stdout]   10:     0x598a931d7641 - std::panicking::default_hook::hbafefc2d196267a2
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/panicking.rs:325:9
[INFO] [stdout]   11:     0x598a9311029e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::ha834d5846f91b30b
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   12:     0x598a9311029e - test::test_main_with_exit_callback::{{closure}}::h63c167737eecb025
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x598a931d7dbf - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hbf9b0f7a281291fd
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   14:     0x598a931d7dbf - std::panicking::panic_with_hook::h9f5b09d5adc1a745
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/panicking.rs:842:13
[INFO] [stdout]   15:     0x598a931d7c1a - std::panicking::panic_handler::{{closure}}::h08111e483bdf6a89
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/panicking.rs:707:13
[INFO] [stdout]   16:     0x598a931d2da9 - std::sys::backtrace::__rust_end_short_backtrace::h1b86e3414ecbbe8d
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/sys/backtrace.rs:174:18
[INFO] [stdout]   17:     0x598a931bae1d - __rustc[b292c645e8102103]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/panicking.rs:698:5
[INFO] [stdout]   18:     0x598a932137e0 - core::panicking::panic_fmt::h31cc490ecc8cc1fa
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x598a93212e26 - core::result::unwrap_failed::he05762ef9e6bdf9c
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/core/src/result.rs:1862:5
[INFO] [stdout]   20:     0x598a930ece8b - core::result::Result<T,E>::expect::h239d9b0354edda70
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x598a930db07c - clicks_rust::communication::netport::NetworkPort::new::h8088720304c35916
[INFO] [stdout]                                at /opt/rustwide/workdir/src/communication/netport.rs:19:28
[INFO] [stdout]   22:     0x598a930e3e2f - clicks_rust::communication::osc::OscNetHandler::new::h07a8b8a8794db5d2
[INFO] [stdout]                                at /opt/rustwide/workdir/src/communication/osc.rs:101:19
[INFO] [stdout]   23:     0x598a930e8816 - clicks_rust::communication::osc::tests::invalid_osc::hd165995d21c773e8
[INFO] [stdout]                                at /opt/rustwide/workdir/src/communication/osc.rs:397:27
[INFO] [stdout]   24:     0x598a930e9137 - clicks_rust::communication::osc::tests::invalid_osc::{{closure}}::hc7c2ea5dd4b71155
[INFO] [stdout]                                at /opt/rustwide/workdir/src/communication/osc.rs:396:21
[INFO] [stdout]   25:     0x598a930eb236 - core::ops::function::FnOnce::call_once::h7d06434c3d935dfd
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x598a9311009b - core::ops::function::FnOnce::call_once::h2b2de5fdd23aab3e
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   27:     0x598a9311009b - test::__rust_begin_short_backtrace::he551dd004770be01
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/test/src/lib.rs:663:18
[INFO] [stdout]   28:     0x598a931240fd - test::run_test_in_process::{{closure}}::h5f0b44080a35ed87
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/test/src/lib.rs:686:74
[INFO] [stdout]   29:     0x598a931240fd - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h4dbf65d14893ecf5
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   30:     0x598a931240fd - std::panicking::catch_unwind::do_call::hc37c563b8a006285
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/panicking.rs:590:40
[INFO] [stdout]   31:     0x598a931240fd - std::panicking::catch_unwind::h616b6e2e7a27f612
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/panicking.rs:553:19
[INFO] [stdout]   32:     0x598a931240fd - std::panic::catch_unwind::h1e788dd57758e6d8
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/panic.rs:359:14
[INFO] [stdout]   33:     0x598a931240fd - test::run_test_in_process::hf073c2764f29f8ad
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/test/src/lib.rs:686:27
[INFO] [stdout]   34:     0x598a931240fd - test::run_test::{{closure}}::h3dc46b7a0c340fa6
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/test/src/lib.rs:607:43
[INFO] [stdout]   35:     0x598a930fd644 - test::run_test::{{closure}}::h6a4da3c57ef4505f
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/test/src/lib.rs:637:41
[INFO] [stdout]   36:     0x598a930fd644 - std::sys::backtrace::__rust_begin_short_backtrace::hfd8e44bc311a5d57
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   37:     0x598a93100e9a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h57c4ddec344fe24c
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/thread/mod.rs:562:17
[INFO] [stdout]   38:     0x598a93100e9a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hd7cbe09591f06dfb
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   39:     0x598a93100e9a - std::panicking::catch_unwind::do_call::hdcd076e8e993dfbc
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/panicking.rs:590:40
[INFO] [stdout]   40:     0x598a93100e9a - std::panicking::catch_unwind::h8f9f675f3756eab1
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/panicking.rs:553:19
[INFO] [stdout]   41:     0x598a93100e9a - std::panic::catch_unwind::he8f74a93abeceb9b
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/panic.rs:359:14
[INFO] [stdout]   42:     0x598a93100e9a - std::thread::Builder::spawn_unchecked_::{{closure}}::he43db13a2caa41d5
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/thread/mod.rs:560:30
[INFO] [stdout]   43:     0x598a93100e9a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h8f3531a7e0d83514
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   44:     0x598a931ce1af - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6ff05134d80ef20e
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/alloc/src/boxed.rs:2085:9
[INFO] [stdout]   45:     0x598a931ce1af - std::sys::thread::unix::Thread::new::thread_start::h9a4a41a076a486e0
[INFO] [stdout]                                at /rustc/9f93af291970322f4f1c6315ccde4d7078201159/library/std/src/sys/thread/unix.rs:124:17
[INFO] [stdout]   46:     0x7a4fc6c4caa4 - <unknown>
[INFO] [stdout]   47:     0x7a4fc6cd9a64 - clone
[INFO] [stdout]   48:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     communication::osc::tests::invalid_osc
[INFO] [stdout]     communication::osc::tests::valid_osc
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 1 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin clicks-rust`
[INFO] running `Command { std: "docker" "inspect" "27ee930951bb083608f1e1968e869b9d220c22d9641d640dbc9fa91cdf4f1e06", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "27ee930951bb083608f1e1968e869b9d220c22d9641d640dbc9fa91cdf4f1e06", kill_on_drop: false }`
[INFO] [stdout] 27ee930951bb083608f1e1968e869b9d220c22d9641d640dbc9fa91cdf4f1e06
