[INFO] cloning repository https://github.com/paxswill/hub75-bcm
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/paxswill/hub75-bcm" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpaxswill%2Fhub75-bcm", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpaxswill%2Fhub75-bcm'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 057bfd7c8e6c612702854e6959c67a57684a1b17
[INFO] checking paxswill/hub75-bcm against try#1bd50d4315eb15970d395b6be5823f9384707693 for pr-140151
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpaxswill%2Fhub75-bcm" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/paxswill/hub75-bcm on toolchain 1bd50d4315eb15970d395b6be5823f9384707693
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1bd50d4315eb15970d395b6be5823f9384707693" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] removed /workspace/builds/worker-4-tc2/source/.cargo/config.toml
[INFO] removed /workspace/builds/worker-4-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/paxswill/hub75-bcm
[INFO] finished tweaking git repo https://github.com/paxswill/hub75-bcm
[INFO] tweaked toml for git repo https://github.com/paxswill/hub75-bcm written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/paxswill/hub75-bcm 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" "+1bd50d4315eb15970d395b6be5823f9384707693" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating git repository `https://github.com/paxswill/esp-hal.git`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Updating git repository `https://github.com/esp-rs/esp-pacs`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking paxswill/hub75-bcm against try#1bd50d4315eb15970d395b6be5823f9384707693 for pr-140151
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpaxswill%2Fhub75-bcm" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/paxswill/hub75-bcm on toolchain 1bd50d4315eb15970d395b6be5823f9384707693
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1bd50d4315eb15970d395b6be5823f9384707693" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] removed /workspace/builds/worker-4-tc2/source/.cargo/config.toml
[INFO] removed /workspace/builds/worker-4-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/paxswill/hub75-bcm
[INFO] finished tweaking git repo https://github.com/paxswill/hub75-bcm
[INFO] tweaked toml for git repo https://github.com/paxswill/hub75-bcm written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/paxswill/hub75-bcm 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" "+1bd50d4315eb15970d395b6be5823f9384707693" "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
[ERROR] error running command: no output for 300 seconds
[INFO] checking paxswill/hub75-bcm against try#1bd50d4315eb15970d395b6be5823f9384707693 for pr-140151
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpaxswill%2Fhub75-bcm" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/paxswill/hub75-bcm on toolchain 1bd50d4315eb15970d395b6be5823f9384707693
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1bd50d4315eb15970d395b6be5823f9384707693" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] removed /workspace/builds/worker-4-tc2/source/.cargo/config.toml
[INFO] removed /workspace/builds/worker-4-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/paxswill/hub75-bcm
[INFO] finished tweaking git repo https://github.com/paxswill/hub75-bcm
[INFO] tweaked toml for git repo https://github.com/paxswill/hub75-bcm written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/paxswill/hub75-bcm 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" "+1bd50d4315eb15970d395b6be5823f9384707693" "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
[ERROR] error running command: no output for 300 seconds
[INFO] checking paxswill/hub75-bcm against try#1bd50d4315eb15970d395b6be5823f9384707693 for pr-140151
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpaxswill%2Fhub75-bcm" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/paxswill/hub75-bcm on toolchain 1bd50d4315eb15970d395b6be5823f9384707693
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1bd50d4315eb15970d395b6be5823f9384707693" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] removed /workspace/builds/worker-4-tc2/source/.cargo/config.toml
[INFO] removed /workspace/builds/worker-4-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/paxswill/hub75-bcm
[INFO] finished tweaking git repo https://github.com/paxswill/hub75-bcm
[INFO] tweaked toml for git repo https://github.com/paxswill/hub75-bcm written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/paxswill/hub75-bcm 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" "+1bd50d4315eb15970d395b6be5823f9384707693" "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
[ERROR] error running command: no output for 300 seconds
[INFO] checking paxswill/hub75-bcm against try#1bd50d4315eb15970d395b6be5823f9384707693 for pr-140151
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpaxswill%2Fhub75-bcm" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/paxswill/hub75-bcm on toolchain 1bd50d4315eb15970d395b6be5823f9384707693
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1bd50d4315eb15970d395b6be5823f9384707693" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] removed /workspace/builds/worker-4-tc2/source/.cargo/config.toml
[INFO] removed /workspace/builds/worker-4-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/paxswill/hub75-bcm
[INFO] finished tweaking git repo https://github.com/paxswill/hub75-bcm
[INFO] tweaked toml for git repo https://github.com/paxswill/hub75-bcm written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/paxswill/hub75-bcm 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" "+1bd50d4315eb15970d395b6be5823f9384707693" "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 xtensa-lx v0.8.0
[INFO] [stderr]   Downloaded usb-device v0.3.1
[INFO] [stderr]   Downloaded ral-registers v0.1.3
[INFO] [stderr]   Downloaded esp-synopsys-usb-otg v0.4.0
[INFO] [stderr]   Downloaded embassy-executor v0.5.0
[INFO] [stderr]   Downloaded embassy-executor-macros v0.4.1
[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:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+1bd50d4315eb15970d395b6be5823f9384707693" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 46e6bc38eed4edcddc3ddcd9bfeb5063b2b8dc304cbbf4d85d4309980fc15a1d
[INFO] running `Command { std: "docker" "start" "-a" "46e6bc38eed4edcddc3ddcd9bfeb5063b2b8dc304cbbf4d85d4309980fc15a1d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "46e6bc38eed4edcddc3ddcd9bfeb5063b2b8dc304cbbf4d85d4309980fc15a1d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "46e6bc38eed4edcddc3ddcd9bfeb5063b2b8dc304cbbf4d85d4309980fc15a1d", kill_on_drop: false }`
[INFO] [stdout] 46e6bc38eed4edcddc3ddcd9bfeb5063b2b8dc304cbbf4d85d4309980fc15a1d
[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:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+1bd50d4315eb15970d395b6be5823f9384707693" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 720ad493598f152c9c6d663fc530c7f7a58707f14d75aa1fd5e880897b133d6f
[INFO] running `Command { std: "docker" "start" "-a" "720ad493598f152c9c6d663fc530c7f7a58707f14d75aa1fd5e880897b133d6f", kill_on_drop: false }`
[INFO] [stderr]    Compiling az v1.2.1
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking gcd v2.3.0
[INFO] [stderr]     Checking log v0.4.21
[INFO] [stderr]     Checking fugit v0.3.7
[INFO] [stderr]     Checking embedded-graphics-core v0.4.0
[INFO] [stderr]     Checking hub75-bcm v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/buffer.rs:417:17
[INFO] [stdout]     |
[INFO] [stdout] 417 |                 (x + ((y / Self::SCANLINES_PER_FRAME) * Self::WIDTH) % Self::WORDS_PER_PLANE);
[INFO] [stdout]     |                 ^                                                                           ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 417 -                 (x + ((y / Self::SCANLINES_PER_FRAME) * Self::WIDTH) % Self::WORDS_PER_PLANE);
[INFO] [stdout] 417 +                 x + ((y / Self::SCANLINES_PER_FRAME) * Self::WIDTH) % Self::WORDS_PER_PLANE;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util::Sealed`
[INFO] [stdout]  --> src/config.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::util::Sealed;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::iter`
[INFO] [stdout]  --> src/rgb_matrix.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::iter;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DerefMut` and `Deref`
[INFO] [stdout]  --> src/rgb_matrix.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use core::ops::{Deref, DerefMut};
[INFO] [stdout]   |                 ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/buffer.rs:417:17
[INFO] [stdout]     |
[INFO] [stdout] 417 |                 (x + ((y / Self::SCANLINES_PER_FRAME) * Self::WIDTH) % Self::WORDS_PER_PLANE);
[INFO] [stdout]     |                 ^                                                                           ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 417 -                 (x + ((y / Self::SCANLINES_PER_FRAME) * Self::WIDTH) % Self::WORDS_PER_PLANE);
[INFO] [stdout] 417 +                 x + ((y / Self::SCANLINES_PER_FRAME) * Self::WIDTH) % Self::WORDS_PER_PLANE;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: duplicated attribute
[INFO] [stdout]    --> src/buffer.rs:740:5
[INFO] [stdout]     |
[INFO] [stdout] 740 |     #[test]
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(duplicate_macro_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util::Sealed`
[INFO] [stdout]  --> src/config.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::util::Sealed;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::iter`
[INFO] [stdout]  --> src/rgb_matrix.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::iter;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DerefMut` and `Deref`
[INFO] [stdout]  --> src/rgb_matrix.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use core::ops::{Deref, DerefMut};
[INFO] [stdout]   |                 ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `brightness`
[INFO] [stdout]    --> src/buffer.rs:372:76
[INFO] [stdout]     |
[INFO] [stdout] 372 |     pub(crate) fn set_brightness_bits(&mut self, latch_blanking_count: u8, brightness: u8) {
[INFO] [stdout]     |                                                                            ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_brightness`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scanline`
[INFO] [stdout]    --> src/buffer.rs:413:13
[INFO] [stdout]     |
[INFO] [stdout] 413 |         let scanline = self.scanline_for(y);
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scanline`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `buffer_ptr_iter` is never used
[INFO] [stdout]    --> src/buffer.rs:443:19
[INFO] [stdout]     |
[INFO] [stdout] 214 | / impl<
[INFO] [stdout] 215 | |         const WIDTH: usize,
[INFO] [stdout] 216 | |         const HEIGHT: usize,
[INFO] [stdout] 217 | |         const CHAIN_LENGTH: usize,
[INFO] [stdout] ...   |
[INFO] [stdout] 230 | |         SCANLINES_PER_FRAME,
[INFO] [stdout] 231 | |     >
[INFO] [stdout]     | |_____- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 443 |       pub(crate) fn buffer_ptr_iter<'a>(&'a self) -> impl Iterator<Item = (*const u8, usize)> + 'a {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClockDivider` is never constructed
[INFO] [stdout]  --> src/clock_divider.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct ClockDivider {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_clkm` is never used
[INFO] [stdout]   --> src/clock_divider.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn calculate_clkm(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_output_frequency` is never used
[INFO] [stdout]   --> src/clock_divider.rs:36:4
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn calculate_output_frequency(source_frequency: usize, divider: &ClockDivider) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_closest_divider` is never used
[INFO] [stdout]   --> src/clock_divider.rs:61:4
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn calculate_closest_divider(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hcf` is never used
[INFO] [stdout]    --> src/clock_divider.rs:119:10
[INFO] [stdout]     |
[INFO] [stdout] 119 | const fn hcf(a: usize, b: usize) -> usize {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Fraction` is never constructed
[INFO] [stdout]    --> src/clock_divider.rs:127:8
[INFO] [stdout]     |
[INFO] [stdout] 127 | struct Fraction {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `farey_sequence` is never used
[INFO] [stdout]    --> src/clock_divider.rs:133:4
[INFO] [stdout]     |
[INFO] [stdout] 133 | fn farey_sequence(denominator: usize) -> impl Iterator<Item = Fraction> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/config.rs:51:11
[INFO] [stdout]     |
[INFO] [stdout] 41  | / impl<
[INFO] [stdout] 42  | |         const WIDTH: usize,
[INFO] [stdout] 43  | |         const HEIGHT: usize,
[INFO] [stdout] 44  | |         const CHAIN_LENGTH: usize,
[INFO] [stdout] 45  | |         const COLOR_DEPTH: usize,
[INFO] [stdout] 46  | |         const PER_FRAME_DENOMINATOR: u8,
[INFO] [stdout] 47  | |     > MatrixConfig<WIDTH, HEIGHT, CHAIN_LENGTH, COLOR_DEPTH, PER_FRAME_DENOMINATOR>
[INFO] [stdout]     | |___________________________________________________________________________________- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 51  |       const LATCH_BLANKING_COUNT_MAX: u8 = 4;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 52  |
[INFO] [stdout] 53  |       const_not_zero!(WIDTH, usize);
[INFO] [stdout]     |                       ^^^^^
[INFO] [stdout] 54  |       const_not_zero!(HEIGHT, usize);
[INFO] [stdout]     |                       ^^^^^^
[INFO] [stdout] 55  |       const_not_zero!(CHAIN_LENGTH, usize);
[INFO] [stdout]     |                       ^^^^^^^^^^^^
[INFO] [stdout] 56  |       const_not_zero!(COLOR_DEPTH, usize);
[INFO] [stdout]     |                       ^^^^^^^^^^^
[INFO] [stdout] 57  |       const_not_zero!(PER_FRAME_DENOMINATOR, u8);
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76  |       const WORDS_PER_SCANLINE: usize = {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85  |       const SCANLINES_PER_FRAME: usize = {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90  |       const WORDS_PER_FRAME: usize = { Self::WORDS_PER_SCANLINE * Self::SCANLINES_PER_FRAME };
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |       pub(crate) const fn words_per_scanline(&self) -> usize {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |       pub(crate) const fn scanlines_per_frame(&self) -> usize {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |       pub(crate) const fn words_per_frame(&self) -> usize {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `const_not_zero` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `matrix_dma` and `frame_buffer` are never read
[INFO] [stdout]   --> src/dma/mod.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 7  | pub struct Transfer<
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 28 |     matrix_dma: M,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 29 |
[INFO] [stdout] 30 |     frame_buffer: &'a mut FrameBuffer<
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Transfer` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `MAX_WIDTH`, `MAX_HEIGHT`, and `panel_width` are never used
[INFO] [stdout]    --> src/rgb_matrix.rs:110:11
[INFO] [stdout]     |
[INFO] [stdout] 56  | / impl<
[INFO] [stdout] 57  | |         'a,
[INFO] [stdout] 58  | |         ColorType,
[INFO] [stdout] 59  | |         const WIDTH: usize,
[INFO] [stdout] ...   |
[INFO] [stdout] 78  | |         BITMAP_ELEMENTS,
[INFO] [stdout] 79  | |     >
[INFO] [stdout]     | |_____- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 110 |       const MAX_WIDTH: usize = Self::CHAIN_WIDTH - 1;
[INFO] [stdout]     |             ^^^^^^^^^
[INFO] [stdout] 111 |
[INFO] [stdout] 112 |       const MAX_HEIGHT: usize = Self::HEIGHT - 1;
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |       const fn panel_width(&self) -> usize {
[INFO] [stdout]     |                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Sealed` is never used
[INFO] [stdout]  --> src/util.rs:1:18
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub(crate) trait Sealed {}
[INFO] [stdout]   |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `output_enable` found for type `u16` in the current scope
[INFO] [stdout]    --> src/buffer.rs:670:34
[INFO] [stdout]     |
[INFO] [stdout] 670 | ...                   word.output_enable(),
[INFO] [stdout]     |                            ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/matrix_word.rs:55:8
[INFO] [stdout]     |
[INFO] [stdout] 55  |     fn output_enable(&self) -> bool;
[INFO] [stdout]     |        ------------- the method is available for `u16` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `MatrixWord` which provides `output_enable` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout] 525 +     use crate::matrix_word::MatrixWord;
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `set_output_enable` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 670 |                             word.set_output_enable(),
[INFO] [stdout]     |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `output_enable` found for type `u16` in the current scope
[INFO] [stdout]    --> src/buffer.rs:681:34
[INFO] [stdout]     |
[INFO] [stdout] 681 | ...                   word.output_enable(),
[INFO] [stdout]     |                            ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/matrix_word.rs:55:8
[INFO] [stdout]     |
[INFO] [stdout] 55  |     fn output_enable(&self) -> bool;
[INFO] [stdout]     |        ------------- the method is available for `u16` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `MatrixWord` which provides `output_enable` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout] 525 +     use crate::matrix_word::MatrixWord;
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `set_output_enable` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 681 |                             word.set_output_enable(),
[INFO] [stdout]     |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `output_enable` found for type `u16` in the current scope
[INFO] [stdout]    --> src/buffer.rs:689:35
[INFO] [stdout]     |
[INFO] [stdout] 689 | ...                   !word.output_enable(),
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/matrix_word.rs:55:8
[INFO] [stdout]     |
[INFO] [stdout] 55  |     fn output_enable(&self) -> bool;
[INFO] [stdout]     |        ------------- the method is available for `u16` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `MatrixWord` which provides `output_enable` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout] 525 +     use crate::matrix_word::MatrixWord;
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `set_output_enable` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 689 |                             !word.set_output_enable(),
[INFO] [stdout]     |                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `latch` found for type `u16` in the current scope
[INFO] [stdout]    --> src/buffer.rs:699:34
[INFO] [stdout]     |
[INFO] [stdout] 699 | ...                   word.latch(),
[INFO] [stdout]     |                            ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/matrix_word.rs:52:8
[INFO] [stdout]     |
[INFO] [stdout] 52  |     fn latch(&self) -> bool;
[INFO] [stdout]     |        ----- the method is available for `u16` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `MatrixWord` which provides `latch` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout] 525 +     use crate::matrix_word::MatrixWord;
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `set_latch` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 699 |                             word.set_latch(),
[INFO] [stdout]     |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `latch` found for type `u16` in the current scope
[INFO] [stdout]    --> src/buffer.rs:707:35
[INFO] [stdout]     |
[INFO] [stdout] 707 | ...                   !word.latch(),
[INFO] [stdout]     |                             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/matrix_word.rs:52:8
[INFO] [stdout]     |
[INFO] [stdout] 52  |     fn latch(&self) -> bool;
[INFO] [stdout]     |        ----- the method is available for `u16` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: trait `MatrixWord` which provides `latch` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout] 525 +     use crate::matrix_word::MatrixWord;
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `set_latch` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 707 |                             !word.set_latch(),
[INFO] [stdout]     |                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `address` found for type `u16` in the current scope
[INFO] [stdout]    --> src/buffer.rs:723:34
[INFO] [stdout]     |
[INFO] [stdout] 723 | ...                   word.address(),
[INFO] [stdout]     |                            ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/matrix_word.rs:60:8
[INFO] [stdout]     |
[INFO] [stdout] 60  |     fn address(&self) -> u8;
[INFO] [stdout]     |        ------- the method is available for `u16` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: there is a method `set_address` with a similar name, but with different arguments
[INFO] [stdout]    --> src/matrix_word.rs:132:5
[INFO] [stdout]     |
[INFO] [stdout] 132 |     fn set_address(&mut self, address: u8);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: trait `MatrixWord` which provides `address` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout] 525 +     use crate::matrix_word::MatrixWord;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `address` found for type `u16` in the current scope
[INFO] [stdout]    --> src/buffer.rs:729:34
[INFO] [stdout]     |
[INFO] [stdout] 729 | ...                   word.address(),
[INFO] [stdout]     |                            ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/matrix_word.rs:60:8
[INFO] [stdout]     |
[INFO] [stdout] 60  |     fn address(&self) -> u8;
[INFO] [stdout]     |        ------- the method is available for `u16` here
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is in scope
[INFO] [stdout] help: there is a method `set_address` with a similar name, but with different arguments
[INFO] [stdout]    --> src/matrix_word.rs:132:5
[INFO] [stdout]     |
[INFO] [stdout] 132 |     fn set_address(&mut self, address: u8);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: trait `MatrixWord` which provides `address` is implemented but not in scope; perhaps you want to import it
[INFO] [stdout]     |
[INFO] [stdout] 525 +     use crate::matrix_word::MatrixWord;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `brightness`
[INFO] [stdout]    --> src/buffer.rs:372:76
[INFO] [stdout]     |
[INFO] [stdout] 372 |     pub(crate) fn set_brightness_bits(&mut self, latch_blanking_count: u8, brightness: u8) {
[INFO] [stdout]     |                                                                            ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_brightness`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scanline`
[INFO] [stdout]    --> src/buffer.rs:413:13
[INFO] [stdout]     |
[INFO] [stdout] 413 |         let scanline = self.scanline_for(y);
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scanline`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `latch_blanking_count`
[INFO] [stdout]    --> src/buffer.rs:743:13
[INFO] [stdout]     |
[INFO] [stdout] 743 |         let latch_blanking_count = 0usize;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_latch_blanking_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/buffer.rs:742:13
[INFO] [stdout]     |
[INFO] [stdout] 742 |         let mut fb = declare_frame_buffer!(32, 32, 8, 1, 8);
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/buffer.rs:748:13
[INFO] [stdout]     |
[INFO] [stdout] 748 |         let mut fb = declare_frame_buffer!(32, 32, 8, 1, 8);
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `latch_blanking_count`
[INFO] [stdout]    --> src/buffer.rs:755:13
[INFO] [stdout]     |
[INFO] [stdout] 755 |         let latch_blanking_count = 0usize;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_latch_blanking_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/buffer.rs:754:13
[INFO] [stdout]     |
[INFO] [stdout] 754 |         let mut fb = declare_frame_buffer!(32, 32, 8, 1, 16);
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `latch_blanking_count`
[INFO] [stdout]    --> src/buffer.rs:762:13
[INFO] [stdout]     |
[INFO] [stdout] 762 |         let latch_blanking_count = 0usize;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_latch_blanking_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/buffer.rs:761:13
[INFO] [stdout]     |
[INFO] [stdout] 761 |         let mut fb = declare_frame_buffer!(32, 32, 8, 1, 16);
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `hub75-bcm` (lib test) due to 7 previous errors; 14 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "720ad493598f152c9c6d663fc530c7f7a58707f14d75aa1fd5e880897b133d6f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "720ad493598f152c9c6d663fc530c7f7a58707f14d75aa1fd5e880897b133d6f", kill_on_drop: false }`
[INFO] [stdout] 720ad493598f152c9c6d663fc530c7f7a58707f14d75aa1fd5e880897b133d6f
