[INFO] cloning repository https://github.com/swilcox/led-kurokku-esp
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/swilcox/led-kurokku-esp" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fswilcox%2Fled-kurokku-esp", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fswilcox%2Fled-kurokku-esp'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1ab127dcbca035d606958ee1cd2a955abd03a5b0
[INFO] checking swilcox/led-kurokku-esp against try#50f413885985a8b0a0b6ca0766a0aedd45304953 for pr-155657
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fswilcox%2Fled-kurokku-esp" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-5-tc2/source/.cargo/config.toml
[INFO] removed /workspace/builds/worker-5-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/swilcox/led-kurokku-esp
[INFO] finished tweaking git repo https://github.com/swilcox/led-kurokku-esp
[INFO] tweaked toml for git repo https://github.com/swilcox/led-kurokku-esp written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/swilcox/led-kurokku-esp on toolchain 50f413885985a8b0a0b6ca0766a0aedd45304953
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+50f413885985a8b0a0b6ca0766a0aedd45304953" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/swilcox/led-kurokku-esp 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" "+50f413885985a8b0a0b6ca0766a0aedd45304953" "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 swilcox/led-kurokku-esp against try#50f413885985a8b0a0b6ca0766a0aedd45304953 for pr-155657
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fswilcox%2Fled-kurokku-esp" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-5-tc2/source/.cargo/config.toml
[INFO] removed /workspace/builds/worker-5-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/swilcox/led-kurokku-esp
[INFO] finished tweaking git repo https://github.com/swilcox/led-kurokku-esp
[INFO] tweaked toml for git repo https://github.com/swilcox/led-kurokku-esp written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/swilcox/led-kurokku-esp on toolchain 50f413885985a8b0a0b6ca0766a0aedd45304953
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+50f413885985a8b0a0b6ca0766a0aedd45304953" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/swilcox/led-kurokku-esp 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" "+50f413885985a8b0a0b6ca0766a0aedd45304953" "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 esp-idf-sys v0.36.1
[INFO] [stderr]   Downloaded envy v0.4.2
[INFO] [stderr]   Downloaded as-slice v0.2.1
[INFO] [stderr]   Downloaded defmt-parser v1.0.0
[INFO] [stderr]   Downloaded embassy-futures v0.1.2
[INFO] [stderr]   Downloaded cvt v0.1.2
[INFO] [stderr]   Downloaded aligned v0.4.3
[INFO] [stderr]   Downloaded embedded-hal-async v1.0.0
[INFO] [stderr]   Downloaded build-time v0.1.3
[INFO] [stderr]   Downloaded embedded-io-async v0.6.1
[INFO] [stderr]   Downloaded embedded-hal-nb v1.0.0
[INFO] [stderr]   Downloaded defmt v0.3.100
[INFO] [stderr]   Downloaded remove_dir_all v0.8.4
[INFO] [stderr]   Downloaded embedded-hal v0.2.7
[INFO] [stderr]   Downloaded defmt v1.0.1
[INFO] [stderr]   Downloaded const_format_proc_macros v0.2.34
[INFO] [stderr]   Downloaded enumset_derive v0.14.0
[INFO] [stderr]   Downloaded embedded-hal v1.0.0
[INFO] [stderr]   Downloaded embedded-svc v0.28.1
[INFO] [stderr]   Downloaded defmt-macros v1.0.1
[INFO] [stderr]   Downloaded enumset v1.1.10
[INFO] [stderr]   Downloaded fs_at v0.2.1
[INFO] [stderr]   Downloaded embassy-sync v0.6.2
[INFO] [stderr]   Downloaded const_format v0.2.35
[INFO] [stderr]   Downloaded esp-idf-hal v0.45.2
[INFO] [stderr]   Downloaded esp-idf-svc v0.50.1
[INFO] [stderr]   Downloaded embuild v0.33.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+50f413885985a8b0a0b6ca0766a0aedd45304953" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2bd45ab357cce43a87d26767f1decd4ffeb4de191b4013cb0905a24725d9c493
[INFO] running `Command { std: "docker" "start" "-a" "2bd45ab357cce43a87d26767f1decd4ffeb4de191b4013cb0905a24725d9c493", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2bd45ab357cce43a87d26767f1decd4ffeb4de191b4013cb0905a24725d9c493", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2bd45ab357cce43a87d26767f1decd4ffeb4de191b4013cb0905a24725d9c493", kill_on_drop: false }`
[INFO] [stdout] 2bd45ab357cce43a87d26767f1decd4ffeb4de191b4013cb0905a24725d9c493
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+50f413885985a8b0a0b6ca0766a0aedd45304953" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 975fbca97f6f0031d391c39acfef7ce33c78d2557257dd3971441634cfb5191b
[INFO] running `Command { std: "docker" "start" "-a" "975fbca97f6f0031d391c39acfef7ce33c78d2557257dd3971441634cfb5191b", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.184
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling cvt v0.1.2
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling normpath v1.5.0
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling home v0.5.12
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]     Checking log v0.4.29
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling which v4.4.2
[INFO] [stderr]    Compiling filetime v0.2.27
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling fs_at v0.2.1
[INFO] [stderr]    Compiling remove_dir_all v0.8.4
[INFO] [stderr]    Compiling strum_macros v0.24.3
[INFO] [stderr]    Compiling strum v0.24.1
[INFO] [stderr]    Compiling embuild v0.33.1
[INFO] [stderr]    Compiling led-kurokku-esp v0.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait `Display` is never used
[INFO] [stdout]  --> src/display/mod.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub trait Display: Send {
[INFO] [stdout]   |           ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PixelDisplay` is never used
[INFO] [stdout]   --> src/display/mod.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub trait PixelDisplay: Display {
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `SegmentDisplay` is never used
[INFO] [stdout]   --> src/display/mod.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub trait SegmentDisplay: Display {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AnyDisplay` is never used
[INFO] [stdout]   --> src/display/mod.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub enum AnyDisplay {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CMD_DATA_AUTO` is never used
[INFO] [stdout]  --> src/display/tm1637_proto.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const CMD_DATA_AUTO: u8 = 0x40; // write data, auto-increment address
[INFO] [stdout]   |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CMD_ADDR_START` is never used
[INFO] [stdout]  --> src/display/tm1637_proto.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const CMD_ADDR_START: u8 = 0xC0; // pointer to digit 0
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CMD_DISPLAY_ON` is never used
[INFO] [stdout]  --> src/display/tm1637_proto.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const CMD_DISPLAY_ON: u8 = 0x88; // display-on command; low 3 bits = brightness
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NUM_DIGITS` is never used
[INFO] [stdout]   --> src/display/tm1637_proto.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const NUM_DIGITS: usize = 4;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `data_mode_frame` is never used
[INFO] [stdout]   --> src/display/tm1637_proto.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn data_mode_frame() -> [u8; 1] {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `digit_frame` is never used
[INFO] [stdout]   --> src/display/tm1637_proto.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn digit_frame(segments: &[u16], colon: bool) -> [u8; 1 + NUM_DIGITS] {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `display_control_frame` is never used
[INFO] [stdout]   --> src/display/tm1637_proto.rs:37:8
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub fn display_control_frame(native_bright: u8) -> [u8; 1] {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `map_brightness` is never used
[INFO] [stdout]   --> src/display/tm1637_proto.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub fn map_brightness(level_0_15: u8) -> u8 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Glyph` is never used
[INFO] [stdout]  --> src/font.rs:7:6
[INFO] [stdout]   |
[INFO] [stdout] 7 | type Glyph = [u8; 5];
[INFO] [stdout]   |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `glyph` is never used
[INFO] [stdout]   --> src/font.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn glyph(ch: char) -> Glyph {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `katakana_glyph` is never used
[INFO] [stdout]   --> src/font.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn katakana_glyph(ch: char) -> Option<Glyph> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_text` is never used
[INFO] [stdout]    --> src/font.rs:103:8
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub fn render_text(s: &str) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEGREE_GLYPH` is never used
[INFO] [stdout]    --> src/font.rs:116:7
[INFO] [stdout]     |
[INFO] [stdout] 116 | const DEGREE_GLYPH: Glyph = [0x00, 0x02, 0x05, 0x02, 0x00];
[INFO] [stdout]     |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FONT5X7` is never used
[INFO] [stdout]    --> src/font.rs:119:7
[INFO] [stdout]     |
[INFO] [stdout] 119 | const FONT5X7: [Glyph; 95] = [
[INFO] [stdout]     |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode` is never used
[INFO] [stdout]   --> src/font_7seg.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn encode(c: char) -> Option<u8> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `digit` is never used
[INFO] [stdout]   --> src/font_7seg.rs:78:8
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub fn digit(d: u8) -> u8 {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_text` is never used
[INFO] [stdout]   --> src/font_7seg.rs:91:8
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub fn encode_text(s: &str) -> Vec<u8> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Frame` is never used
[INFO] [stdout]  --> src/framebuf.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub type Frame = [u8; 32];
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear` is never used
[INFO] [stdout]  --> src/framebuf.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn clear(frame: &mut Frame) {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_pixel` is never used
[INFO] [stdout]   --> src/framebuf.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn set_pixel(frame: &mut Frame, x: usize, y: usize, on: bool) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_pixel` is never used
[INFO] [stdout]   --> src/framebuf.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn get_pixel(frame: &Frame, x: usize, y: usize) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `blit_text` is never used
[INFO] [stdout]   --> src/framebuf.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn blit_text(frame: &mut Frame, text: &str, offset_x: usize) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `blit_text_centered` is never used
[INFO] [stdout]   --> src/framebuf.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn blit_text_centered(frame: &mut Frame, text: &str) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Display` is never used
[INFO] [stdout]  --> src/display/mod.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub trait Display: Send {
[INFO] [stdout]   |           ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PixelDisplay` is never used
[INFO] [stdout]   --> src/display/mod.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub trait PixelDisplay: Display {
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `SegmentDisplay` is never used
[INFO] [stdout]   --> src/display/mod.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub trait SegmentDisplay: Display {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AnyDisplay` is never used
[INFO] [stdout]   --> src/display/mod.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub enum AnyDisplay {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Glyph` is never used
[INFO] [stdout]  --> src/font.rs:7:6
[INFO] [stdout]   |
[INFO] [stdout] 7 | type Glyph = [u8; 5];
[INFO] [stdout]   |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `glyph` is never used
[INFO] [stdout]   --> src/font.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn glyph(ch: char) -> Glyph {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `katakana_glyph` is never used
[INFO] [stdout]   --> src/font.rs:24:4
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn katakana_glyph(ch: char) -> Option<Glyph> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_text` is never used
[INFO] [stdout]    --> src/font.rs:103:8
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub fn render_text(s: &str) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEGREE_GLYPH` is never used
[INFO] [stdout]    --> src/font.rs:116:7
[INFO] [stdout]     |
[INFO] [stdout] 116 | const DEGREE_GLYPH: Glyph = [0x00, 0x02, 0x05, 0x02, 0x00];
[INFO] [stdout]     |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FONT5X7` is never used
[INFO] [stdout]    --> src/font.rs:119:7
[INFO] [stdout]     |
[INFO] [stdout] 119 | const FONT5X7: [Glyph; 95] = [
[INFO] [stdout]     |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Frame` is never used
[INFO] [stdout]  --> src/framebuf.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub type Frame = [u8; 32];
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear` is never used
[INFO] [stdout]  --> src/framebuf.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn clear(frame: &mut Frame) {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_pixel` is never used
[INFO] [stdout]   --> src/framebuf.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn set_pixel(frame: &mut Frame, x: usize, y: usize, on: bool) {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_pixel` is never used
[INFO] [stdout]   --> src/framebuf.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn get_pixel(frame: &Frame, x: usize, y: usize) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `blit_text` is never used
[INFO] [stdout]   --> src/framebuf.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn blit_text(frame: &mut Frame, text: &str, offset_x: usize) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `blit_text_centered` is never used
[INFO] [stdout]   --> src/framebuf.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn blit_text_centered(frame: &mut Frame, text: &str) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [optimized + debuginfo] target(s) in 10.25s
[INFO] running `Command { std: "docker" "inspect" "975fbca97f6f0031d391c39acfef7ce33c78d2557257dd3971441634cfb5191b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "975fbca97f6f0031d391c39acfef7ce33c78d2557257dd3971441634cfb5191b", kill_on_drop: false }`
[INFO] [stdout] 975fbca97f6f0031d391c39acfef7ce33c78d2557257dd3971441634cfb5191b
