[INFO] fetching crate launchpad 0.1.1...
[INFO] checking launchpad-0.1.1 against master#39cb3386ddc6c71657418be28dbb3987eea4aa4b for pr-133536
[INFO] extracting crate launchpad 0.1.1 into /workspace/builds/worker-0-tc1/source
[INFO] validating manifest of crates.io crate launchpad 0.1.1 on toolchain 39cb3386ddc6c71657418be28dbb3987eea4aa4b
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+39cb3386ddc6c71657418be28dbb3987eea4aa4b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate launchpad 0.1.1
[INFO] finished tweaking crates.io crate launchpad 0.1.1
[INFO] tweaked toml for crates.io crate launchpad 0.1.1 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+39cb3386ddc6c71657418be28dbb3987eea4aa4b" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 1 package to latest compatible version
[INFO] [stderr]       Adding portmidi v0.2.6 (available: v0.3.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+39cb3386ddc6c71657418be28dbb3987eea4aa4b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded portmidi v0.2.6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+39cb3386ddc6c71657418be28dbb3987eea4aa4b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7bdcd23167959a6cebfa6a84afcc6930af3202f641a1fbf2665ca8a53fa609bb
[INFO] running `Command { std: "docker" "start" "-a" "7bdcd23167959a6cebfa6a84afcc6930af3202f641a1fbf2665ca8a53fa609bb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7bdcd23167959a6cebfa6a84afcc6930af3202f641a1fbf2665ca8a53fa609bb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7bdcd23167959a6cebfa6a84afcc6930af3202f641a1fbf2665ca8a53fa609bb", kill_on_drop: false }`
[INFO] [stdout] 7bdcd23167959a6cebfa6a84afcc6930af3202f641a1fbf2665ca8a53fa609bb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+39cb3386ddc6c71657418be28dbb3987eea4aa4b" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 916c54456030727425696e8473fe6a5329712046b94248b87105c7f99d8e5848
[INFO] running `Command { std: "docker" "start" "-a" "916c54456030727425696e8473fe6a5329712046b94248b87105c7f99d8e5848", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]     Checking portmidi v0.2.6
[INFO] [stderr]     Checking launchpad v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0106]: missing lifetime specifier
[INFO] [stdout]   --> src/launchpad.rs:15:21
[INFO] [stdout]    |
[INFO] [stdout] 15 |     input_port: pm::InputPort,
[INFO] [stdout]    |                     ^^^^^^^^^ expected named lifetime parameter
[INFO] [stdout]    |
[INFO] [stdout] help: consider introducing a named lifetime parameter
[INFO] [stdout]    |
[INFO] [stdout] 14 ~ pub struct LaunchpadMk2<'a> {
[INFO] [stdout] 15 ~     input_port: pm::InputPort<'a>,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0106]: missing lifetime specifier
[INFO] [stdout]   --> src/launchpad.rs:15:21
[INFO] [stdout]    |
[INFO] [stdout] 15 |     input_port: pm::InputPort,
[INFO] [stdout]    |                     ^^^^^^^^^ expected named lifetime parameter
[INFO] [stdout]    |
[INFO] [stdout] help: consider introducing a named lifetime parameter
[INFO] [stdout]    |
[INFO] [stdout] 14 ~ pub struct LaunchpadMk2<'a> {
[INFO] [stdout] 15 ~     input_port: pm::InputPort<'a>,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0106]: missing lifetime specifier
[INFO] [stdout]   --> src/launchpad.rs:16:22
[INFO] [stdout]    |
[INFO] [stdout] 16 |     output_port: pm::OutputPort,
[INFO] [stdout]    |                      ^^^^^^^^^^ expected named lifetime parameter
[INFO] [stdout]    |
[INFO] [stdout] help: consider introducing a named lifetime parameter
[INFO] [stdout]    |
[INFO] [stdout] 14 ~ pub struct LaunchpadMk2<'a> {
[INFO] [stdout] 15 |     input_port: pm::InputPort,
[INFO] [stdout] 16 ~     output_port: pm::OutputPort<'a>,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0106]: missing lifetime specifier
[INFO] [stdout]   --> src/launchpad.rs:16:22
[INFO] [stdout]    |
[INFO] [stdout] 16 |     output_port: pm::OutputPort,
[INFO] [stdout]    |                      ^^^^^^^^^^ expected named lifetime parameter
[INFO] [stdout]    |
[INFO] [stdout] help: consider introducing a named lifetime parameter
[INFO] [stdout]    |
[INFO] [stdout] 14 ~ pub struct LaunchpadMk2<'a> {
[INFO] [stdout] 15 |     input_port: pm::InputPort,
[INFO] [stdout] 16 ~     output_port: pm::OutputPort<'a>,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/launchpad.rs:245:11
[INFO] [stdout]     |
[INFO] [stdout] 245 |         11...19 => true,
[INFO] [stdout]     |           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/launchpad.rs:246:11
[INFO] [stdout]     |
[INFO] [stdout] 246 |         21...29 => true,
[INFO] [stdout]     |           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/launchpad.rs:247:11
[INFO] [stdout]     |
[INFO] [stdout] 247 |         31...39 => true,
[INFO] [stdout]     |           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/launchpad.rs:245:11
[INFO] [stdout]     |
[INFO] [stdout] 245 |         11...19 => true,
[INFO] [stdout]     |           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/launchpad.rs:248:11
[INFO] [stdout]     |
[INFO] [stdout] 248 |         41...49 => true,
[INFO] [stdout]     |           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/launchpad.rs:249:11
[INFO] [stdout]     |
[INFO] [stdout] 249 |         51...59 => true,
[INFO] [stdout]     |           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/launchpad.rs:246:11
[INFO] [stdout]     |
[INFO] [stdout] 246 |         21...29 => true,
[INFO] [stdout]     |           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/launchpad.rs:250:11
[INFO] [stdout]     |
[INFO] [stdout] 250 |         61...69 => true,
[INFO] [stdout]     |           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/launchpad.rs:247:11
[INFO] [stdout]     |
[INFO] [stdout] 247 |         31...39 => true,
[INFO] [stdout]     |           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/launchpad.rs:248:11
[INFO] [stdout]     |
[INFO] [stdout] 248 |         41...49 => true,
[INFO] [stdout]     |           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/launchpad.rs:251:11
[INFO] [stdout]     |
[INFO] [stdout] 251 |         71...79 => true,
[INFO] [stdout]     |           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/launchpad.rs:249:11
[INFO] [stdout]     |
[INFO] [stdout] 249 |         51...59 => true,
[INFO] [stdout]     |           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/launchpad.rs:252:11
[INFO] [stdout]     |
[INFO] [stdout] 252 |         81...89 => true,
[INFO] [stdout]     |           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/launchpad.rs:253:12
[INFO] [stdout]     |
[INFO] [stdout] 253 |         104...111 => true,
[INFO] [stdout]     |            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/launchpad.rs:250:11
[INFO] [stdout]     |
[INFO] [stdout] 250 |         61...69 => true,
[INFO] [stdout]     |           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/launchpad.rs:251:11
[INFO] [stdout]     |
[INFO] [stdout] 251 |         71...79 => true,
[INFO] [stdout]     |           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/launchpad.rs:252:11
[INFO] [stdout]     |
[INFO] [stdout] 252 |         81...89 => true,
[INFO] [stdout]     |           ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/launchpad.rs:253:12
[INFO] [stdout]     |
[INFO] [stdout] 253 |         104...111 => true,
[INFO] [stdout]     |            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MidiMessage: From<[u8; 3]>` is not satisfied
[INFO] [stdout]    --> src/launchpad.rs:123:40
[INFO] [stdout]     |
[INFO] [stdout] 123 |         self.output_port.write_message([0x91, led.position, led.color]).expect("Fail");
[INFO] [stdout]     |                          ------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `From<[u8; 3]>` is not implemented for `MidiMessage`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `From<T>`:
[INFO] [stdout]               `MidiMessage` implements `From<[u8; 4]>`
[INFO] [stdout]               `MidiMessage` implements `From<u32>`
[INFO] [stdout]     = note: required for `[u8; 3]` to implement `Into<MidiMessage>`
[INFO] [stdout] note: required by a bound in `OutputPort::<'a>::write_message`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/portmidi-0.2.6/src/io.rs:165:29
[INFO] [stdout]     |
[INFO] [stdout] 165 |     pub fn write_message<T: Into<MidiMessage>>(&mut self, midi_message: T) -> Result<()> {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^ required by this bound in `OutputPort::<'a>::write_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MidiMessage: From<[u8; 3]>` is not satisfied
[INFO] [stdout]    --> src/launchpad.rs:123:40
[INFO] [stdout]     |
[INFO] [stdout] 123 |         self.output_port.write_message([0x91, led.position, led.color]).expect("Fail");
[INFO] [stdout]     |                          ------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `From<[u8; 3]>` is not implemented for `MidiMessage`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `From<T>`:
[INFO] [stdout]               `MidiMessage` implements `From<[u8; 4]>`
[INFO] [stdout]               `MidiMessage` implements `From<u32>`
[INFO] [stdout]     = note: required for `[u8; 3]` to implement `Into<MidiMessage>`
[INFO] [stdout] note: required by a bound in `OutputPort::<'a>::write_message`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/portmidi-0.2.6/src/io.rs:165:29
[INFO] [stdout]     |
[INFO] [stdout] 165 |     pub fn write_message<T: Into<MidiMessage>>(&mut self, midi_message: T) -> Result<()> {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^ required by this bound in `OutputPort::<'a>::write_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MidiMessage: From<[u8; 3]>` is not satisfied
[INFO] [stdout]    --> src/launchpad.rs:132:40
[INFO] [stdout]     |
[INFO] [stdout] 132 |         self.output_port.write_message([0x92, led.position, led.color]).expect("Fail");
[INFO] [stdout]     |                          ------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `From<[u8; 3]>` is not implemented for `MidiMessage`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `From<T>`:
[INFO] [stdout]               `MidiMessage` implements `From<[u8; 4]>`
[INFO] [stdout]               `MidiMessage` implements `From<u32>`
[INFO] [stdout]     = note: required for `[u8; 3]` to implement `Into<MidiMessage>`
[INFO] [stdout] note: required by a bound in `OutputPort::<'a>::write_message`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/portmidi-0.2.6/src/io.rs:165:29
[INFO] [stdout]     |
[INFO] [stdout] 165 |     pub fn write_message<T: Into<MidiMessage>>(&mut self, midi_message: T) -> Result<()> {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^ required by this bound in `OutputPort::<'a>::write_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MidiMessage: From<[u8; 3]>` is not satisfied
[INFO] [stdout]    --> src/launchpad.rs:132:40
[INFO] [stdout]     |
[INFO] [stdout] 132 |         self.output_port.write_message([0x92, led.position, led.color]).expect("Fail");
[INFO] [stdout]     |                          ------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `From<[u8; 3]>` is not implemented for `MidiMessage`
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `From<T>`:
[INFO] [stdout]               `MidiMessage` implements `From<[u8; 4]>`
[INFO] [stdout]               `MidiMessage` implements `From<u32>`
[INFO] [stdout]     = note: required for `[u8; 3]` to implement `Into<MidiMessage>`
[INFO] [stdout] note: required by a bound in `OutputPort::<'a>::write_message`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/portmidi-0.2.6/src/io.rs:165:29
[INFO] [stdout]     |
[INFO] [stdout] 165 |     pub fn write_message<T: Into<MidiMessage>>(&mut self, midi_message: T) -> Result<()> {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^ required by this bound in `OutputPort::<'a>::write_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0106, E0277.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0106`.
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0106, E0277.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0106`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `launchpad` (lib test) due to 4 previous errors; 9 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `launchpad` (lib) due to 4 previous errors; 9 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "916c54456030727425696e8473fe6a5329712046b94248b87105c7f99d8e5848", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "916c54456030727425696e8473fe6a5329712046b94248b87105c7f99d8e5848", kill_on_drop: false }`
[INFO] [stdout] 916c54456030727425696e8473fe6a5329712046b94248b87105c7f99d8e5848
