[INFO] cloning repository https://github.com/lexag/clicks-core [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/lexag/clicks-core" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flexag%2Fclicks-core", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flexag%2Fclicks-core'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] eb049be295fead331093dd82e15ae2138d365581 [INFO] checking lexag/clicks-core against try#4f260f0f20b3133d20cfb50353c0221943af5796+rustflags=-Dunmustuse_in_always_ok for pr-148577 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flexag%2Fclicks-core" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-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-3-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/lexag/clicks-core on toolchain 4f260f0f20b3133d20cfb50353c0221943af5796 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "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" "+4f260f0f20b3133d20cfb50353c0221943af5796" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 45a8d45e2df4a70d8e56cc0651aba0215d7f71d0ae621fde5e3edf7c12bb72fa [INFO] running `Command { std: "docker" "start" "-a" "45a8d45e2df4a70d8e56cc0651aba0215d7f71d0ae621fde5e3edf7c12bb72fa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "45a8d45e2df4a70d8e56cc0651aba0215d7f71d0ae621fde5e3edf7c12bb72fa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "45a8d45e2df4a70d8e56cc0651aba0215d7f71d0ae621fde5e3edf7c12bb72fa", kill_on_drop: false }` [INFO] [stdout] 45a8d45e2df4a70d8e56cc0651aba0215d7f71d0ae621fde5e3edf7c12bb72fa [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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 -Dunmustuse_in_always_ok" "-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" "+4f260f0f20b3133d20cfb50353c0221943af5796" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 842a7876c8ba039e1ca30444f985ee09a36602c00ea4668174c2a706dd31a179 [INFO] running `Command { std: "docker" "start" "-a" "842a7876c8ba039e1ca30444f985ee09a36602c00ea4668174c2a706dd31a179", kill_on_drop: false }` [INFO] [stderr] Compiling jack-sys v0.5.1 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling thiserror-impl v2.0.12 [INFO] [stderr] Checking minimal-lexical v0.2.1 [INFO] [stderr] Compiling jack v0.13.3 [INFO] [stderr] Checking time v0.3.41 [INFO] [stderr] Checking serde_json v1.0.140 [INFO] [stderr] Checking clap_builder v4.5.40 [INFO] [stderr] Compiling clap_derive v4.5.40 [INFO] [stderr] Checking nom v7.1.3 [INFO] [stderr] Checking chrono v0.4.41 [INFO] [stderr] Checking hound v3.5.1 [INFO] [stderr] Checking thiserror v2.0.12 [INFO] [stderr] Checking clap v4.5.40 [INFO] [stderr] Checking common v1.0.1 (https://github.com/lexag/clicks-common.git?tag=v1.0.1#fd4bd6e6) [INFO] [stderr] Checking rosc v0.11.4 [INFO] [stderr] Compiling neli-proc-macros v0.1.4 [INFO] [stderr] Checking neli v0.6.5 [INFO] [stderr] Checking local-ip-address v0.6.5 [INFO] [stderr] Checking clicks-rust v1.0.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `AudioSourceState` [INFO] [stdout] --> src/audio/processor.rs:12:14 [INFO] [stdout] | [INFO] [stdout] 12 | status::{AudioSourceState, CombinedStatus, Notification, NotificationKind}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hidden lifetime parameters in types are deprecated [INFO] [stdout] --> src/boot.rs:16:37 [INFO] [stdout] | [INFO] [stdout] 16 | fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { [INFO] [stdout] | ----------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected lifetime parameter [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/main.rs:1:22 [INFO] [stdout] | [INFO] [stdout] 1 | #![warn(clippy::all, rust_2018_idioms)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(elided_lifetimes_in_paths)]` implied by `#[warn(rust_2018_idioms)]` [INFO] [stdout] help: indicate the anonymous lifetime [INFO] [stdout] | [INFO] [stdout] 16 | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `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] [stderr] error: could not compile `clicks-rust` (bin "clicks-rust") due to 7 previous errors; 54 warnings emitted [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 { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_limit` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [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) { [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 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 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 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | fn notify_multiple(&mut self, notifications: Vec); [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) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/main.rs:65:15 [INFO] [stdout] | [INFO] [stdout] 65 | match PathBuf::from_str(&args.show_path_override) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: requested on the command line with `-D unmustuse-in-always-ok` [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] error: this type will no longer be must used: Result [INFO] [stdout] --> src/boot.rs:83:27 [INFO] [stdout] | [INFO] [stdout] 83 | return Ok(PathBuf::from_str(path).expect("PathBuf cannot fail from_str")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/boot.rs:90:12 [INFO] [stdout] | [INFO] [stdout] 90 | return PathBuf::from_str(".config/clicks/clicks.conf").expect("PathBuf cannot fail from_str"); [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] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/communication/osc.rs:187:37 [INFO] [stdout] | [INFO] [stdout] 187 | if let Some(port) = self [INFO] [stdout] | _____________________________________^ [INFO] [stdout] 188 | | .get_arg(0) [INFO] [stdout] 189 | | .int() [INFO] [stdout] 190 | | .unwrap_or_default() [INFO] [stdout] 191 | | .try_into() [INFO] [stdout] | |_______________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/communication/osc.rs:369:38 [INFO] [stdout] | [INFO] [stdout] 369 | OscType::Int(state.beat.count.try_into().unwrap_or(0)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/logger.rs:10:20 [INFO] [stdout] | [INFO] [stdout] 10 | let log_path = PathBuf::from_str(LOG_PATH_STR).expect("Log path is constant."); [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] error: this type will no longer be must used: Result [INFO] [stdout] --> src/logger.rs:59:13 [INFO] [stdout] | [INFO] [stdout] 59 | PathBuf::from_str(&format!("log_{time_hash}.txt")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/logger.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 63 | std::fs::write("log.txt", []); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 63 | let _ = std::fs::write("log.txt", []); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/logger.rs:91:5 [INFO] [stdout] | [INFO] [stdout] 91 | file.write(log_line.as_bytes()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 91 | let _ = file.write(log_line.as_bytes()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused 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 { [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) { [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 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | fn notify_multiple(&mut self, notifications: Vec); [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) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/main.rs:65:15 [INFO] [stdout] | [INFO] [stdout] 65 | match PathBuf::from_str(&args.show_path_override) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: requested on the command line with `-D unmustuse-in-always-ok` [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] error: this type will no longer be must used: Result [INFO] [stdout] --> src/boot.rs:83:27 [INFO] [stdout] | [INFO] [stdout] 83 | return Ok(PathBuf::from_str(path).expect("PathBuf cannot fail from_str")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/boot.rs:90:12 [INFO] [stdout] | [INFO] [stdout] 90 | return PathBuf::from_str(".config/clicks/clicks.conf").expect("PathBuf cannot fail from_str"); [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] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/communication/osc.rs:187:37 [INFO] [stdout] | [INFO] [stdout] 187 | if let Some(port) = self [INFO] [stdout] | _____________________________________^ [INFO] [stdout] 188 | | .get_arg(0) [INFO] [stdout] 189 | | .int() [INFO] [stdout] 190 | | .unwrap_or_default() [INFO] [stdout] 191 | | .try_into() [INFO] [stdout] | |_______________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/communication/osc.rs:369:38 [INFO] [stdout] | [INFO] [stdout] 369 | OscType::Int(state.beat.count.try_into().unwrap_or(0)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/logger.rs:10:20 [INFO] [stdout] | [INFO] [stdout] 10 | let log_path = PathBuf::from_str(LOG_PATH_STR).expect("Log path is constant."); [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] error: this type will no longer be must used: Result [INFO] [stdout] --> src/logger.rs:59:13 [INFO] [stdout] | [INFO] [stdout] 59 | PathBuf::from_str(&format!("log_{time_hash}.txt")) [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] error: could not compile `clicks-rust` (bin "clicks-rust" test) due to 7 previous errors; 56 warnings emitted [INFO] running `Command { std: "docker" "inspect" "842a7876c8ba039e1ca30444f985ee09a36602c00ea4668174c2a706dd31a179", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "842a7876c8ba039e1ca30444f985ee09a36602c00ea4668174c2a706dd31a179", kill_on_drop: false }` [INFO] [stdout] 842a7876c8ba039e1ca30444f985ee09a36602c00ea4668174c2a706dd31a179