[INFO] cloning repository https://github.com/shunonymous/mirmidivi-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/shunonymous/mirmidivi-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshunonymous%2Fmirmidivi-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshunonymous%2Fmirmidivi-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] dec69b68d031364446b2836a7547800103c26410
[INFO] checking shunonymous/mirmidivi-rs against try#943e2200e35c3825486c4671b6cab0107a07f8c1 for pr-148952
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshunonymous%2Fmirmidivi-rs" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/shunonymous/mirmidivi-rs
[INFO] finished tweaking git repo https://github.com/shunonymous/mirmidivi-rs
[INFO] tweaked toml for git repo https://github.com/shunonymous/mirmidivi-rs written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/shunonymous/mirmidivi-rs on toolchain 943e2200e35c3825486c4671b6cab0107a07f8c1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+943e2200e35c3825486c4671b6cab0107a07f8c1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/shunonymous/mirmidivi-rs 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" "+943e2200e35c3825486c4671b6cab0107a07f8c1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking shunonymous/mirmidivi-rs against try#943e2200e35c3825486c4671b6cab0107a07f8c1 for pr-148952
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshunonymous%2Fmirmidivi-rs" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/shunonymous/mirmidivi-rs
[INFO] finished tweaking git repo https://github.com/shunonymous/mirmidivi-rs
[INFO] tweaked toml for git repo https://github.com/shunonymous/mirmidivi-rs written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/shunonymous/mirmidivi-rs on toolchain 943e2200e35c3825486c4671b6cab0107a07f8c1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+943e2200e35c3825486c4671b6cab0107a07f8c1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/shunonymous/mirmidivi-rs 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" "+943e2200e35c3825486c4671b6cab0107a07f8c1" "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 pancurses v0.17.0
[INFO] [stderr]   Downloaded mopa v0.2.2
[INFO] [stderr]   Downloaded coremidi-sys v3.1.1
[INFO] [stderr]   Downloaded clap_lex v0.7.3
[INFO] [stderr]   Downloaded nodi v1.0.1
[INFO] [stderr]   Downloaded midly v0.5.3
[INFO] [stderr]   Downloaded midi-msg v0.7.3
[INFO] [stderr]   Downloaded clap v4.5.21
[INFO] [stderr]   Downloaded coremidi v0.8.0
[INFO] [stderr]   Downloaded midir v0.10.1
[INFO] [stderr]   Downloaded syn v2.0.89
[INFO] [stderr]   Downloaded clap_builder v4.5.21
[INFO] [stderr]   Downloaded micromath v1.1.1
[INFO] [stderr]   Downloaded bstr v1.11.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+943e2200e35c3825486c4671b6cab0107a07f8c1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] dffd0b3ad8cf4d01c2610578b778550725742cb095a147d009a08fdc28d58a1a
[INFO] running `Command { std: "docker" "start" "-a" "dffd0b3ad8cf4d01c2610578b778550725742cb095a147d009a08fdc28d58a1a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "dffd0b3ad8cf4d01c2610578b778550725742cb095a147d009a08fdc28d58a1a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dffd0b3ad8cf4d01c2610578b778550725742cb095a147d009a08fdc28d58a1a", kill_on_drop: false }`
[INFO] [stdout] dffd0b3ad8cf4d01c2610578b778550725742cb095a147d009a08fdc28d58a1a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "+943e2200e35c3825486c4671b6cab0107a07f8c1" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c5dce44cfb9d3d87dbfe5146a53690e666c0a4ede449c02f653d1a2209a71abb
[INFO] running `Command { std: "docker" "start" "-a" "c5dce44cfb9d3d87dbfe5146a53690e666c0a4ede449c02f653d1a2209a71abb", kill_on_drop: false }`
[INFO] [stderr]    Compiling crossbeam-utils v0.8.20
[INFO] [stderr]    Compiling libc v0.2.167
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling rustversion v1.0.18
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]     Checking bitflags v2.6.0
[INFO] [stderr]    Compiling cc v1.2.2
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]     Checking clap_lex v0.7.3
[INFO] [stderr]    Compiling syn v2.0.89
[INFO] [stderr]    Compiling anyhow v1.0.93
[INFO] [stderr]     Checking memchr v2.7.4
[INFO] [stderr]     Checking micromath v1.1.1
[INFO] [stderr]     Checking time v0.3.36
[INFO] [stderr]     Checking libloading v0.8.5
[INFO] [stderr]     Checking mopa v0.2.2
[INFO] [stderr]     Checking clap_builder v4.5.21
[INFO] [stderr]     Checking bstr v1.11.0
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking crossbeam-channel v0.5.13
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling ncurses v5.101.0
[INFO] [stderr]     Checking rayon-core v1.12.1
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking alsa v0.9.1
[INFO] [stderr]     Checking pancurses v0.17.0
[INFO] [stderr]     Checking ctrlc v3.4.5
[INFO] [stderr]     Checking midir v0.10.1
[INFO] [stderr]    Compiling strum_macros v0.24.3
[INFO] [stderr]    Compiling clap_derive v4.5.18
[INFO] [stderr]     Checking midly v0.5.3
[INFO] [stderr]     Checking strum v0.24.1
[INFO] [stderr]     Checking midi-msg v0.7.3
[INFO] [stderr]     Checking nodi v1.0.1
[INFO] [stderr]     Checking clap v4.5.21
[INFO] [stderr]     Checking mirmidivi-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/main.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::JoinHandle`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::thread::JoinHandle;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `time::Duration`
[INFO] [stdout]  --> src/midi/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ticker`
[INFO] [stdout]   --> src/midi/midi_player.rs:13:29
[INFO] [stdout]    |
[INFO] [stdout] 13 |     timers::{ControlTicker, Ticker},
[INFO] [stdout]    |                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/renderer/mod.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::JoinHandle`
[INFO] [stdout]  --> src/renderer/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::thread::JoinHandle;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::text::TextRenderer`
[INFO] [stdout]   --> src/renderer/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use self::text::TextRenderer;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MidiData`
[INFO] [stdout]  --> src/renderer/curses.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     MidiData,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Receiver`
[INFO] [stdout]   --> src/renderer/curses.rs:10:39
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crossbeam_channel::{select, tick, Receiver};
[INFO] [stdout]    |                                       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `JoinHandle`, `Mutex`, and `self`
[INFO] [stdout]   --> src/renderer/curses.rs:15:14
[INFO] [stdout]    |
[INFO] [stdout] 15 |         Arc, Mutex,
[INFO] [stdout]    |              ^^^^^
[INFO] [stdout] 16 |     },
[INFO] [stdout] 17 |     thread::{self, JoinHandle},
[INFO] [stdout]    |              ^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `JoinHandle`, `Mutex`, and `self`
[INFO] [stdout]  --> src/renderer/text.rs:4:37
[INFO] [stdout]   |
[INFO] [stdout] 4 |     sync::{atomic::AtomicBool, Arc, Mutex},
[INFO] [stdout]   |                                     ^^^^^
[INFO] [stdout] 5 |     thread::{self, JoinHandle},
[INFO] [stdout]   |              ^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Receiver`
[INFO] [stdout]  --> src/renderer/text.rs:9:39
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crossbeam_channel::{select, tick, Receiver, RecvError};
[INFO] [stdout]   |                                       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]   --> src/renderer/text.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::time::Instant;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/renderer_lib/pianoroll.rs:139:40
[INFO] [stdout]     |
[INFO] [stdout] 139 | ...                   .rfind(|n| (n.channel == channel && n.note == note))
[INFO] [stdout]     |                                  ^                                      ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 139 -                             .rfind(|n| (n.channel == channel && n.note == note))
[INFO] [stdout] 139 +                             .rfind(|n| n.channel == channel && n.note == note)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/main.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::JoinHandle`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::thread::JoinHandle;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `time::Duration`
[INFO] [stdout]  --> src/midi/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ticker`
[INFO] [stdout]   --> src/midi/midi_player.rs:13:29
[INFO] [stdout]    |
[INFO] [stdout] 13 |     timers::{ControlTicker, Ticker},
[INFO] [stdout]    |                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]   --> src/midi/midi_player.rs:96:9
[INFO] [stdout]    |
[INFO] [stdout] 96 |     use std::time::Instant;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/renderer/mod.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::JoinHandle`
[INFO] [stdout]  --> src/renderer/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::thread::JoinHandle;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::text::TextRenderer`
[INFO] [stdout]   --> src/renderer/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use self::text::TextRenderer;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MidiData`
[INFO] [stdout]  --> src/renderer/curses.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     MidiData,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Receiver`
[INFO] [stdout]   --> src/renderer/curses.rs:10:39
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crossbeam_channel::{select, tick, Receiver};
[INFO] [stdout]    |                                       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `JoinHandle`, `Mutex`, and `self`
[INFO] [stdout]   --> src/renderer/curses.rs:15:14
[INFO] [stdout]    |
[INFO] [stdout] 15 |         Arc, Mutex,
[INFO] [stdout]    |              ^^^^^
[INFO] [stdout] 16 |     },
[INFO] [stdout] 17 |     thread::{self, JoinHandle},
[INFO] [stdout]    |              ^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `JoinHandle`, `Mutex`, and `self`
[INFO] [stdout]  --> src/renderer/text.rs:4:37
[INFO] [stdout]   |
[INFO] [stdout] 4 |     sync::{atomic::AtomicBool, Arc, Mutex},
[INFO] [stdout]   |                                     ^^^^^
[INFO] [stdout] 5 |     thread::{self, JoinHandle},
[INFO] [stdout]   |              ^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Receiver`
[INFO] [stdout]  --> src/renderer/text.rs:9:39
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crossbeam_channel::{select, tick, Receiver, RecvError};
[INFO] [stdout]   |                                       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]   --> src/renderer/text.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::time::Instant;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/renderer_lib/pianoroll.rs:139:40
[INFO] [stdout]     |
[INFO] [stdout] 139 | ...                   .rfind(|n| (n.channel == channel && n.note == note))
[INFO] [stdout]     |                                  ^                                      ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 139 -                             .rfind(|n| (n.channel == channel && n.note == note))
[INFO] [stdout] 139 +                             .rfind(|n| n.channel == channel && n.note == note)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bounded`
[INFO] [stdout]    --> src/renderer_lib/pianoroll.rs:185:29
[INFO] [stdout]     |
[INFO] [stdout] 185 |     use crossbeam_channel::{bounded, unbounded};
[INFO] [stdout]     |                             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MidiMsg` and `ReceiverContext`
[INFO] [stdout]    --> src/renderer_lib/pianoroll.rs:186:20
[INFO] [stdout]     |
[INFO] [stdout] 186 |     use midi_msg::{MidiMsg, ReceiverContext};
[INFO] [stdout]     |                    ^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opts`
[INFO] [stdout]   --> src/midi/midi_in.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn new(opts: &Options) -> Self {
[INFO] [stdout]    |            ^^^^ help: if this is intentional, prefix it with an underscore: `_opts`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opts`
[INFO] [stdout]   --> src/midi/midi_in.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn new(opts: &Options) -> Self {
[INFO] [stdout]    |            ^^^^ help: if this is intentional, prefix it with an underscore: `_opts`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `midi_in`
[INFO] [stdout]   --> src/midi/midi_in.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let midi_in = MidiIn::new(&opts);
[INFO] [stdout]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_midi_in`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sample`
[INFO] [stdout]   --> src/renderer_lib/pianoroll.rs:98:13
[INFO] [stdout]    |
[INFO] [stdout] 98 |         for sample in 0..sample_num {
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sample`
[INFO] [stdout]   --> src/renderer_lib/pianoroll.rs:98:13
[INFO] [stdout]    |
[INFO] [stdout] 98 |         for sample in 0..sample_num {
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sample`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `pause_send` is never read
[INFO] [stdout]   --> src/midi/midi_player.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct MidiPlayer {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 21 |     epoch: Instant,
[INFO] [stdout] 22 |     pause_send: mpsc::Sender<()>,
[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 `pause_send` is never read
[INFO] [stdout]   --> src/midi/midi_player.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct MidiPlayer {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 21 |     epoch: Instant,
[INFO] [stdout] 22 |     pause_send: mpsc::Sender<()>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `toggle_pause_resume` is never used
[INFO] [stdout]   --> src/midi/midi_player.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 66 | impl MidiPlayer {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 67 |     pub fn toggle_pause_resume(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `toggle_pause_resume` is never used
[INFO] [stdout]   --> src/midi/midi_player.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 66 | impl MidiPlayer {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 67 |     pub fn toggle_pause_resume(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COLOR_LIGHTGREEN` is never used
[INFO] [stdout]   --> src/renderer/curses.rs:27:7
[INFO] [stdout]    |
[INFO] [stdout] 27 | const COLOR_LIGHTGREEN: i16 = 8;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COLOR_LIGHTGREEN` is never used
[INFO] [stdout]   --> src/renderer/curses.rs:27:7
[INFO] [stdout]    |
[INFO] [stdout] 27 | const COLOR_LIGHTGREEN: i16 = 8;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `velocity` is never read
[INFO] [stdout]   --> src/renderer_lib/pianoroll.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | struct Note {
[INFO] [stdout]    |        ---- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 25 |     velocity: u8,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Note` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `velocity` is never read
[INFO] [stdout]   --> src/renderer_lib/pianoroll.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | struct Note {
[INFO] [stdout]    |        ---- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 25 |     velocity: u8,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Note` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Atom` is never constructed
[INFO] [stdout]   --> src/renderer_lib/pianoroll.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct Atom {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `scale` and `channel` are never read
[INFO] [stdout]   --> src/renderer_lib/pianoroll.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct Atom {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 35 |     pub scale: u8,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 36 |     pub channel: Channel,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Atom` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Line` is never used
[INFO] [stdout]   --> src/renderer_lib/pianoroll.rs:39:10
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub type Line = Vec<Atom>;
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `draw` is never used
[INFO] [stdout]   --> src/renderer_lib/pianoroll.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl PianoRoll {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn draw(&self, range_begin: Duration, range_end: Duration, sample_num: u32) -> Vec<Line> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 13.39s
[INFO] running `Command { std: "docker" "inspect" "c5dce44cfb9d3d87dbfe5146a53690e666c0a4ede449c02f653d1a2209a71abb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c5dce44cfb9d3d87dbfe5146a53690e666c0a4ede449c02f653d1a2209a71abb", kill_on_drop: false }`
[INFO] [stdout] c5dce44cfb9d3d87dbfe5146a53690e666c0a4ede449c02f653d1a2209a71abb
