[INFO] cloning repository https://github.com/tkonolige/lightning-in-a-box
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tkonolige/lightning-in-a-box" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftkonolige%2Flightning-in-a-box", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftkonolige%2Flightning-in-a-box'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 78c26cfb19338b88718e659cc832b4b3aacfa506
[INFO] checking tkonolige/lightning-in-a-box against 36e0a7eac2392bdd51fab6e7ff1d8c0e42d33bf6 for pr-160581
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftkonolige%2Flightning-in-a-box" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-7-tc2/source/.cargo/config
[INFO] started tweaking git repo https://github.com/tkonolige/lightning-in-a-box
[INFO] finished tweaking git repo https://github.com/tkonolige/lightning-in-a-box
[INFO] tweaked toml for git repo https://github.com/tkonolige/lightning-in-a-box written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/tkonolige/lightning-in-a-box on toolchain 36e0a7eac2392bdd51fab6e7ff1d8c0e42d33bf6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+36e0a7eac2392bdd51fab6e7ff1d8c0e42d33bf6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/tkonolige/lightning-in-a-box 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" "+36e0a7eac2392bdd51fab6e7ff1d8c0e42d33bf6" "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 tkonolige/lightning-in-a-box against 36e0a7eac2392bdd51fab6e7ff1d8c0e42d33bf6 for pr-160581
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftkonolige%2Flightning-in-a-box" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-7-tc2/source/.cargo/config
[INFO] started tweaking git repo https://github.com/tkonolige/lightning-in-a-box
[INFO] finished tweaking git repo https://github.com/tkonolige/lightning-in-a-box
[INFO] tweaked toml for git repo https://github.com/tkonolige/lightning-in-a-box written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/tkonolige/lightning-in-a-box on toolchain 36e0a7eac2392bdd51fab6e7ff1d8c0e42d33bf6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+36e0a7eac2392bdd51fab6e7ff1d8c0e42d33bf6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/tkonolige/lightning-in-a-box 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" "+36e0a7eac2392bdd51fab6e7ff1d8c0e42d33bf6" "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 panic-probe v0.3.0
[INFO] [stderr]   Downloaded nb v1.0.0
[INFO] [stderr]   Downloaded defmt v0.3.2
[INFO] [stderr]   Downloaded rgb v0.8.32
[INFO] [stderr]   Downloaded rtic-monotonic v1.0.0
[INFO] [stderr]   Downloaded rtic-core v1.0.0
[INFO] [stderr]   Downloaded embedded-storage v0.3.0
[INFO] [stderr]   Downloaded riscv-target v0.1.2
[INFO] [stderr]   Downloaded bare-metal v1.0.0
[INFO] [stderr]   Downloaded atomic-polyfill v0.1.8
[INFO] [stderr]   Downloaded defmt-rtt v0.3.2
[INFO] [stderr]   Downloaded volatile-register v0.2.1
[INFO] [stderr]   Downloaded defmt-parser v0.3.1
[INFO] [stderr]   Downloaded critical-section v0.2.7
[INFO] [stderr]   Downloaded cortex-m-rtic-macros v1.1.4
[INFO] [stderr]   Downloaded az v1.2.0
[INFO] [stderr]   Downloaded defmt-macros v0.3.2
[INFO] [stderr]   Downloaded rtic-syntax v1.0.1
[INFO] [stderr]   Downloaded cortex-m-rt v0.7.1
[INFO] [stderr]   Downloaded indexmap v1.8.2
[INFO] [stderr]   Downloaded heapless v0.7.13
[INFO] [stderr]   Downloaded nrf-hal-common v0.15.1
[INFO] [stderr]   Downloaded libm v0.2.3
[INFO] [stderr]   Downloaded cortex-m v0.7.5
[INFO] [stderr]   Downloaded riscv v0.7.0
[INFO] [stderr]   Downloaded cortex-m-rtic v1.1.2
[INFO] [stderr]   Downloaded fixed v1.15.0
[INFO] [stderr]   Downloaded nrf52832-pac v0.11.0
[INFO] [stderr]   Downloaded ws2812-spi v0.4.0
[INFO] [stderr]   Downloaded nrf52832-hal v0.15.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 2c5fe4f485af2fbc05bd9fb1904c9d962a3faff04379ae6dc2fea4a5d8102269
[INFO] running `Command { std: "docker" "start" "2c5fe4f485af2fbc05bd9fb1904c9d962a3faff04379ae6dc2fea4a5d8102269", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2c5fe4f485af2fbc05bd9fb1904c9d962a3faff04379ae6dc2fea4a5d8102269", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2c5fe4f485af2fbc05bd9fb1904c9d962a3faff04379ae6dc2fea4a5d8102269" "/opt/rustwide/cargo-home/bin/cargo" "+36e0a7eac2392bdd51fab6e7ff1d8c0e42d33bf6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2c5fe4f485af2fbc05bd9fb1904c9d962a3faff04379ae6dc2fea4a5d8102269", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2c5fe4f485af2fbc05bd9fb1904c9d962a3faff04379ae6dc2fea4a5d8102269" "/opt/rustwide/cargo-home/bin/cargo" "+36e0a7eac2392bdd51fab6e7ff1d8c0e42d33bf6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.96
[INFO] [stderr]    Compiling cortex-m v0.7.5
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]     Checking nb v1.0.0
[INFO] [stderr]     Checking vcell v0.1.3
[INFO] [stderr]     Checking bytemuck v1.9.1
[INFO] [stderr]     Checking bitfield v0.13.2
[INFO] [stderr]    Compiling defmt v0.3.2
[INFO] [stderr]    Compiling cortex-m-rt v0.7.1
[INFO] [stderr]    Compiling defmt-macros v0.3.2
[INFO] [stderr]    Compiling indexmap v1.8.2
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling az v1.2.0
[INFO] [stderr]     Checking stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling nrf52832-pac v0.11.0
[INFO] [stderr]    Compiling defmt-parser v0.3.1
[INFO] [stderr]     Checking volatile-register v0.2.1
[INFO] [stderr]    Compiling fixed v1.15.0
[INFO] [stderr]    Compiling heapless v0.7.13
[INFO] [stderr]     Checking nb v0.1.3
[INFO] [stderr]     Checking byteorder v1.4.3
[INFO] [stderr]    Compiling critical-section v0.2.7
[INFO] [stderr]     Checking bare-metal v1.0.0
[INFO] [stderr]     Checking embedded-hal v0.2.7
[INFO] [stderr]     Checking rgb v0.8.32
[INFO] [stderr]    Compiling nrf-hal-common v0.15.1
[INFO] [stderr]     Checking half v1.8.2
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]     Checking hash32 v0.2.1
[INFO] [stderr]     Checking spin v0.9.3
[INFO] [stderr]     Checking embedded-dma v0.2.0
[INFO] [stderr]    Compiling cortex-m-rtic v1.1.2
[INFO] [stderr]    Compiling nrf52832-hal v0.15.1
[INFO] [stderr]    Compiling libm v0.2.3
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]     Checking smart-leds-trait v0.2.1
[INFO] [stderr]    Compiling defmt-rtt v0.3.2
[INFO] [stderr]     Checking embedded-storage v0.3.0
[INFO] [stderr]    Compiling panic-probe v0.3.0
[INFO] [stderr]     Checking rtic-monotonic v1.0.0
[INFO] [stderr]     Checking rtic-core v1.0.0
[INFO] [stderr]     Checking ws2812-spi v0.4.0
[INFO] [stderr]     Checking smart-leds v0.3.0
[INFO] [stderr]    Compiling bare-metal v0.2.5
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling rtic-syntax v1.0.1
[INFO] [stderr]    Compiling cortex-m-rt-macros v0.7.0
[INFO] [stderr]    Compiling cortex-m-rtic-macros v1.1.4
[INFO] [stderr]     Checking lightning-in-a-box v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `gamma`
[INFO] [stdout]    --> src/boxx.rs:197:22
[INFO] [stdout]     |
[INFO] [stdout] 197 |     use smart_leds::{gamma, hsv::hsv2rgb, hsv::Hsv};
[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: `gamma`
[INFO] [stdout]    --> src/boxx.rs:197:22
[INFO] [stdout]     |
[INFO] [stdout] 197 |     use smart_leds::{gamma, hsv::hsv2rgb, hsv::Hsv};
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/remote.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let mut radio = Radio::new(ctx.device.RADIO, 1, 0xf);
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/remote.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let mut radio = Radio::new(ctx.device.RADIO, 1, 0xf);
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cx`
[INFO] [stdout]    --> src/remote.rs:354:13
[INFO] [stdout]     |
[INFO] [stdout] 354 |     fn idle(cx: idle::Context) -> ! {
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_cx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cx`
[INFO] [stdout]    --> src/remote.rs:354:13
[INFO] [stdout]     |
[INFO] [stdout] 354 |     fn idle(cx: idle::Context) -> ! {
[INFO] [stdout]     |             ^^ help: if this is intentional, prefix it with an underscore: `_cx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/remote.rs:171:24
[INFO] [stdout]     |
[INFO] [stdout] 171 |             radio.send(&mut SEND_BUF);
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 171 |             radio.send(&raw mut SEND_BUF);
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/remote.rs:276:44
[INFO] [stdout]     |
[INFO] [stdout] 276 | ...                   radio.recv(&mut RECV_BUF);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 276 |                                 radio.recv(&raw mut RECV_BUF);
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/remote.rs:171:24
[INFO] [stdout]     |
[INFO] [stdout] 171 |             radio.send(&mut SEND_BUF);
[INFO] [stdout]     |                        ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 171 |             radio.send(&raw mut SEND_BUF);
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/remote.rs:276:44
[INFO] [stdout]     |
[INFO] [stdout] 276 | ...                   radio.recv(&mut RECV_BUF);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 276 |                                 radio.recv(&raw mut RECV_BUF);
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/boxx.rs:365:15
[INFO] [stdout]     |
[INFO] [stdout] 365 |     fn timer3(mut ctx: timer3::Context) {
[INFO] [stdout]     |               ----^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/boxx.rs:565:13
[INFO] [stdout]     |
[INFO] [stdout] 565 |             unsafe {
[INFO] [stdout]     |             ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]    --> src/boxx.rs:536:27
[INFO] [stdout]     |
[INFO] [stdout] 536 |             let (success, addr) = ctx.local.radio.read_packet();
[INFO] [stdout]     |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/boxx.rs:365:15
[INFO] [stdout]     |
[INFO] [stdout] 365 |     fn timer3(mut ctx: timer3::Context) {
[INFO] [stdout]     |               ----^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/boxx.rs:565:13
[INFO] [stdout]     |
[INFO] [stdout] 565 |             unsafe {
[INFO] [stdout]     |             ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]    --> src/boxx.rs:536:27
[INFO] [stdout]     |
[INFO] [stdout] 536 |             let (success, addr) = ctx.local.radio.read_packet();
[INFO] [stdout]     |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `serialize` is never used
[INFO] [stdout]   --> src/radio.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl Message {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] 52 |     pub fn serialize(&self) -> [u8; MESSAGE_LENGTH] {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `total_draw_mA` should have a snake case name
[INFO] [stdout]    --> src/boxx.rs:120:17
[INFO] [stdout]     |
[INFO] [stdout] 120 |         let mut total_draw_mA: usize = 0;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ help: convert the identifier to snake case: `total_draw_m_a`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/boxx.rs:266:22
[INFO] [stdout]     |
[INFO] [stdout] 266 |             unsafe { &mut LED_BITS1 },
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 266 |             unsafe { &raw mut LED_BITS1 },
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/boxx.rs:283:22
[INFO] [stdout]     |
[INFO] [stdout] 283 |             unsafe { &mut LED_BITS2 },
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 283 |             unsafe { &raw mut LED_BITS2 },
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/boxx.rs:300:22
[INFO] [stdout]     |
[INFO] [stdout] 300 |             unsafe { &mut LED_BITS3 },
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 300 |             unsafe { &raw mut LED_BITS3 },
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/boxx.rs:316:28
[INFO] [stdout]     |
[INFO] [stdout] 316 |                 radio.recv(&mut RECV_BUF);
[INFO] [stdout]     |                            ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 316 |                 radio.recv(&raw mut RECV_BUF);
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/boxx.rs:540:42
[INFO] [stdout]     |
[INFO] [stdout] 540 |                     ctx.local.radio.recv(&mut RECV_BUF);
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 540 |                     ctx.local.radio.recv(&raw mut RECV_BUF);
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/boxx.rs:545:50
[INFO] [stdout]     |
[INFO] [stdout] 545 |             let message = Message::from(unsafe { &RECV_BUF });
[INFO] [stdout]     |                                                  ^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 545 |             let message = Message::from(unsafe { &raw const RECV_BUF });
[INFO] [stdout]     |                                                   +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/boxx.rs:576:46
[INFO] [stdout]     |
[INFO] [stdout] 576 |                 ctx.local.radio.send_from(0, &mut SEND_BUF);
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 576 |                 ctx.local.radio.send_from(0, &raw mut SEND_BUF);
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/boxx.rs:581:38
[INFO] [stdout]     |
[INFO] [stdout] 581 |                 ctx.local.radio.recv(&mut RECV_BUF);
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 581 |                 ctx.local.radio.recv(&raw mut RECV_BUF);
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `serialize` is never used
[INFO] [stdout]   --> src/radio.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl Message {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] 52 |     pub fn serialize(&self) -> [u8; MESSAGE_LENGTH] {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `total_draw_mA` should have a snake case name
[INFO] [stdout]    --> src/boxx.rs:120:17
[INFO] [stdout]     |
[INFO] [stdout] 120 |         let mut total_draw_mA: usize = 0;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^ help: convert the identifier to snake case: `total_draw_m_a`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/boxx.rs:266:22
[INFO] [stdout]     |
[INFO] [stdout] 266 |             unsafe { &mut LED_BITS1 },
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 266 |             unsafe { &raw mut LED_BITS1 },
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/boxx.rs:283:22
[INFO] [stdout]     |
[INFO] [stdout] 283 |             unsafe { &mut LED_BITS2 },
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 283 |             unsafe { &raw mut LED_BITS2 },
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/boxx.rs:300:22
[INFO] [stdout]     |
[INFO] [stdout] 300 |             unsafe { &mut LED_BITS3 },
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 300 |             unsafe { &raw mut LED_BITS3 },
[INFO] [stdout]     |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/boxx.rs:316:28
[INFO] [stdout]     |
[INFO] [stdout] 316 |                 radio.recv(&mut RECV_BUF);
[INFO] [stdout]     |                            ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 316 |                 radio.recv(&raw mut RECV_BUF);
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/boxx.rs:540:42
[INFO] [stdout]     |
[INFO] [stdout] 540 |                     ctx.local.radio.recv(&mut RECV_BUF);
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 540 |                     ctx.local.radio.recv(&raw mut RECV_BUF);
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/boxx.rs:545:50
[INFO] [stdout]     |
[INFO] [stdout] 545 |             let message = Message::from(unsafe { &RECV_BUF });
[INFO] [stdout]     |                                                  ^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 545 |             let message = Message::from(unsafe { &raw const RECV_BUF });
[INFO] [stdout]     |                                                   +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/boxx.rs:576:46
[INFO] [stdout]     |
[INFO] [stdout] 576 |                 ctx.local.radio.send_from(0, &mut SEND_BUF);
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 576 |                 ctx.local.radio.send_from(0, &raw mut SEND_BUF);
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/boxx.rs:581:38
[INFO] [stdout]     |
[INFO] [stdout] 581 |                 ctx.local.radio.recv(&mut RECV_BUF);
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 581 |                 ctx.local.radio.recv(&raw mut RECV_BUF);
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 14.13s
[INFO] running `Command { std: "docker" "inspect" "2c5fe4f485af2fbc05bd9fb1904c9d962a3faff04379ae6dc2fea4a5d8102269", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2c5fe4f485af2fbc05bd9fb1904c9d962a3faff04379ae6dc2fea4a5d8102269", kill_on_drop: false }`
[INFO] [stdout] 2c5fe4f485af2fbc05bd9fb1904c9d962a3faff04379ae6dc2fea4a5d8102269
