[INFO] cloning repository https://github.com/kaktinsmartins13-wq/DOS
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/kaktinsmartins13-wq/DOS" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkaktinsmartins13-wq%2FDOS", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkaktinsmartins13-wq%2FDOS'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 31dfc2aeb50615b0bfcffb8b431d6c535bb9e8b8
[INFO] checking kaktinsmartins13-wq/DOS against 895980e0290783bb09b1ccf1b11f14eb09b10430 for pr-160186
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkaktinsmartins13-wq%2FDOS" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-1-tc2/source/.cargo/config.toml
[INFO] removed /workspace/builds/worker-1-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/kaktinsmartins13-wq/DOS
[INFO] finished tweaking git repo https://github.com/kaktinsmartins13-wq/DOS
[INFO] tweaked toml for git repo https://github.com/kaktinsmartins13-wq/DOS written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/kaktinsmartins13-wq/DOS on toolchain 895980e0290783bb09b1ccf1b11f14eb09b10430
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/kaktinsmartins13-wq/DOS 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" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 21bb9d80ae109af7de5faaa071537ded54703e262b323d81147c5b7c7c948686
[INFO] running `Command { std: "docker" "start" "21bb9d80ae109af7de5faaa071537ded54703e262b323d81147c5b7c7c948686", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "21bb9d80ae109af7de5faaa071537ded54703e262b323d81147c5b7c7c948686", 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" "21bb9d80ae109af7de5faaa071537ded54703e262b323d81147c5b7c7c948686" "/opt/rustwide/cargo-home/bin/cargo" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "21bb9d80ae109af7de5faaa071537ded54703e262b323d81147c5b7c7c948686", 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" "21bb9d80ae109af7de5faaa071537ded54703e262b323d81147c5b7c7c948686" "/opt/rustwide/cargo-home/bin/cargo" "+895980e0290783bb09b1ccf1b11f14eb09b10430" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]     Checking glados v1.3.8 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::kprintln`
[INFO] [stdout]    --> src/ai/backward.rs:355:9
[INFO] [stdout]     |
[INFO] [stdout] 355 |     use crate::kprintln;
[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: `alloc::vec::Vec`
[INFO] [stdout]   --> src/ai/skill.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | use alloc::vec::Vec;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Branch`, `Projection`, `project`, and `snapshot_now`
[INFO] [stdout]     --> src/ai/mod.rs:1673:19
[INFO] [stdout]      |
[INFO] [stdout] 1673 | pub use futures::{project, Projection, Branch, snapshot_now, futures_report};
[INFO] [stdout]      |                   ^^^^^^^  ^^^^^^^^^^  ^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/aiksi/kernel.rs:946:37
[INFO] [stdout]     |
[INFO] [stdout] 946 |                     _ => return Err(("hexdec: not hex".to_string())),
[INFO] [stdout]     |                                     ^                             ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 946 -                     _ => return Err(("hexdec: not hex".to_string())),
[INFO] [stdout] 946 +                     _ => return Err("hexdec: not hex".to_string()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `clock::now_us`
[INFO] [stdout]   --> src/port/mod.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub use clock::now_us;
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::vec`
[INFO] [stdout]    --> src/store/cas.rs:698:9
[INFO] [stdout]     |
[INFO] [stdout] 698 |     use alloc::vec;
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::sync::Racy`
[INFO] [stdout]   --> src/task.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::sync::Racy;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::vec::Vec`
[INFO] [stdout]   --> src/update/manifest.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use alloc::vec::Vec;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/acpi/mod.rs:374:9
[INFO] [stdout]     |
[INFO] [stdout] 246 |     unsafe {
[INFO] [stdout]     |     ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 374 |         unsafe { *PARSED.get() = Some(acpi) };
[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: variable does not need to be mutable
[INFO] [stdout]    --> src/ai/backward.rs:430:13
[INFO] [stdout]     |
[INFO] [stdout] 430 |         let mut reported = false;
[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: `i`
[INFO] [stdout]    --> src/ai/backward.rs:650:43
[INFO] [stdout]     |
[INFO] [stdout] 650 |     let rz: Vec<f32> = (0..2 * half).map(|i| rng.f32() + 0.5).collect();
[INFO] [stdout]     |                                           ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rr`
[INFO] [stdout]    --> src/ai/backward.rs:649:9
[INFO] [stdout]     |
[INFO] [stdout] 649 |     let rr = rot(&z);
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_rr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ai/initiative.rs:340:9
[INFO] [stdout]     |
[INFO] [stdout] 340 |     let mut buf = unsafe { &mut *JOURNAL.get() };
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]     --> src/ai/train.rs:1560:9
[INFO] [stdout]      |
[INFO] [stdout] 1560 |         e: &mut super::Engine,
[INFO] [stdout]      |         ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/ai/harness.rs:2952:13
[INFO] [stdout]      |
[INFO] [stdout] 2952 |         let mut tally = |rule: Rule, bucket: &mut (usize, usize, usize, usize)| -> bool {
[INFO] [stdout]      |             ----^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ai/lex.rs:464:13
[INFO] [stdout]     |
[INFO] [stdout] 464 |         let mut take = |n: usize, at: &mut usize| -> Vec<u32> {
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `kept` is assigned to, but never used
[INFO] [stdout]    --> src/dev/xhci.rs:471:21
[INFO] [stdout]     |
[INFO] [stdout] 471 |                 let mut kept = false;
[INFO] [stdout]     |                     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_kept` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `kept` is never read
[INFO] [stdout]    --> src/dev/xhci.rs:473:21
[INFO] [stdout]     |
[INFO] [stdout] 473 |                     kept = true;
[INFO] [stdout]     |                     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rows`
[INFO] [stdout]    --> src/gfx/oracle.rs:462:13
[INFO] [stdout]     |
[INFO] [stdout] 462 |         let rows = (godel::CELLS as u32 / cols).max(1);
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_rows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `focused`
[INFO] [stdout]    --> src/gfx/oracle.rs:576:55
[INFO] [stdout]     |
[INFO] [stdout] 576 |     fn draw_in(&self, fb: &Framebuffer, client: Rect, focused: bool) {
[INFO] [stdout]     |                                                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_focused`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/gfx/desk.rs:3714:9
[INFO] [stdout]      |
[INFO] [stdout] 3714 |         _ => false,
[INFO] [stdout]      |         ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/gfx/desk.rs:3714:9
[INFO] [stdout]      |
[INFO] [stdout] 3703 |         Content::Browser(b) => {
[INFO] [stdout]      |         ------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 3709 |         Content::Panel(p) => p.wheel(notches),
[INFO] [stdout]      |         ----------------- matches some of the same values
[INFO] [stdout] 3710 |         Content::App(a) => a.wheel(notches),
[INFO] [stdout]      |         --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 3713 |         Content::Terminal(ch) => super::console::scroll_view(*ch, (notches * 3) as isize),
[INFO] [stdout]      |         --------------------- matches some of the same values
[INFO] [stdout] 3714 |         _ => false,
[INFO] [stdout]      |         ^ collectively making this unreachable
[INFO] [stdout]      = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/gfx/desk.rs:4296:21
[INFO] [stdout]      |
[INFO] [stdout] 4296 |                 let mut client = c.client;
[INFO] [stdout]      |                     ----^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/gfx/mod.rs:1188:9
[INFO] [stdout]      |
[INFO] [stdout] 1188 |     let mut best_of = |f: &mut dyn FnMut()| -> (u64, u64) {
[INFO] [stdout]      |         ----^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/aiksi/jit.rs:541:9
[INFO] [stdout]     |
[INFO] [stdout] 541 |     let mut abort = |a: &mut Asm, st: u64| -> usize {
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/linux/syscall.rs:4375:9
[INFO] [stdout]      |
[INFO] [stdout] 4375 |     let mut give = |bytes: &[u8]| -> u64 {
[INFO] [stdout]      |         ----^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `buf` is never read
[INFO] [stdout]     --> src/linux/syscall.rs:5853:9
[INFO] [stdout]      |
[INFO] [stdout] 5853 |         buf[0] = 0;
[INFO] [stdout]      |         ^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/linux/syscall.rs:6336:9
[INFO] [stdout]      |
[INFO] [stdout] 6336 |     let mut put = |top: &mut usize, v: &str| -> Option<u64> {
[INFO] [stdout]      |         ----^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/linux/syscall.rs:6539:9
[INFO] [stdout]      |
[INFO] [stdout] 6530 |         SYS_SET_TID_ADDRESS => "set_tid_address",
[INFO] [stdout]      |         ------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 6539 |         218 => "set_tid_address",
[INFO] [stdout]      |         ^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mem/paging.rs:367:9
[INFO] [stdout]     |
[INFO] [stdout] 367 |     let mut note = |seen: &mut usize, bad: &mut Option<(u64, u64, &'static str)>,
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `heading` is never read
[INFO] [stdout]    --> src/net/html.rs:432:13
[INFO] [stdout]     |
[INFO] [stdout] 419 |     macro_rules! flush_block {
[INFO] [stdout] ...
[INFO] [stdout] 432 |             heading = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 563 |     flush_block!();
[INFO] [stdout]     |     -------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `item` is never read
[INFO] [stdout]    --> src/net/html.rs:433:13
[INFO] [stdout]     |
[INFO] [stdout] 419 |     macro_rules! flush_block {
[INFO] [stdout] ...
[INFO] [stdout] 433 |             item = false;
[INFO] [stdout]     |             ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 563 |     flush_block!();
[INFO] [stdout]     |     -------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `item` is never read
[INFO] [stdout]    --> src/net/html.rs:433:13
[INFO] [stdout]     |
[INFO] [stdout] 419 |     macro_rules! flush_block {
[INFO] [stdout] ...
[INFO] [stdout] 433 |             item = false;
[INFO] [stdout]     |             ^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 538 |                 flush_block!();
[INFO] [stdout]     |                 -------------- in this macro invocation
[INFO] [stdout] 539 |                 item = true;
[INFO] [stdout]     |                 ----------- `item` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/smp.rs:873:9
[INFO] [stdout]     |
[INFO] [stdout] 873 |     let mut run = |x: &mut Vec<f32>, out: &mut Vec<f32>| -> (u64, u64) {
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:223:22
[INFO] [stdout]     |
[INFO] [stdout] 223 |     cpu::set_runtime(unsafe { (*st).runtime_services });
[INFO] [stdout]     |                      ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `any_vital` is never used
[INFO] [stdout]    --> src/boot_report.rs:211:8
[INFO] [stdout]     |
[INFO] [stdout] 211 | pub fn any_vital() -> bool {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chat` is never used
[INFO] [stdout]     --> src/ai/mod.rs:2006:8
[INFO] [stdout]      |
[INFO] [stdout] 2006 | pub fn chat(question: &str, opts: &GenOpts) {
[INFO] [stdout]      |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ARGS_CLIP_BYTES` is never used
[INFO] [stdout]   --> src/ai/agent.rs:49:7
[INFO] [stdout]    |
[INFO] [stdout] 49 | const ARGS_CLIP_BYTES: usize = 96;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `last_outcome` is never used
[INFO] [stdout]    --> src/ai/agent.rs:910:8
[INFO] [stdout]     |
[INFO] [stdout] 910 | pub fn last_outcome() -> Option<Outcome> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Sees` is never used
[INFO] [stdout]    --> src/ai/answer.rs:219:10
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub enum Sees {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `VERBS` is never used
[INFO] [stdout]   --> src/ai/author.rs:91:15
[INFO] [stdout]    |
[INFO] [stdout] 65 | impl Req {
[INFO] [stdout]    | -------- associated constant in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub const VERBS: &'static [&'static str] = &["title", "fn", "widget", "calls", "rows"];
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `VERBS` is never used
[INFO] [stdout]    --> src/ai/author.rs:111:15
[INFO] [stdout]     |
[INFO] [stdout] 110 | impl Action {
[INFO] [stdout]     | ----------- associated constant in this implementation
[INFO] [stdout] 111 |     pub const VERBS: &'static [&'static str] = &["skel", "panel", "drop", "fn", "done"];
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `idle` is never used
[INFO] [stdout]    --> src/ai/author.rs:485:8
[INFO] [stdout]     |
[INFO] [stdout] 484 | impl Progress {
[INFO] [stdout]     | ------------- associated function in this implementation
[INFO] [stdout] 485 |     fn idle() -> Progress {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `action_verbs` is never used
[INFO] [stdout]    --> src/ai/author.rs:757:8
[INFO] [stdout]     |
[INFO] [stdout] 757 | pub fn action_verbs() -> Vec<&'static str> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SiteKind` is never used
[INFO] [stdout]    --> src/ai/adapter.rs:282:10
[INFO] [stdout]     |
[INFO] [stdout] 282 | pub enum SiteKind {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `scan` is never used
[INFO] [stdout]    --> src/ai/abstraction.rs:398:8
[INFO] [stdout]     |
[INFO] [stdout] 398 | pub fn scan() -> Vec<Candidate> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decisions` is never used
[INFO] [stdout]    --> src/ai/work.rs:689:8
[INFO] [stdout]     |
[INFO] [stdout] 689 | pub fn decisions(run: &str) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `switch_rate` and `touch_rate` are never read
[INFO] [stdout]   --> src/ai/context.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub struct Situation {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub switch_rate: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 64 |     pub touch_rate: f32,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `free_mib` is never used
[INFO] [stdout]   --> src/ai/context.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 89 | impl Situation {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 90 |     pub fn free_mib(&self) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIND_DIR` is never used
[INFO] [stdout]    --> src/ai/initiative.rs:189:7
[INFO] [stdout]     |
[INFO] [stdout] 189 | const MIND_DIR: &str = "/ai/mind";
[INFO] [stdout]     |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `examples` and `ms` are never read
[INFO] [stdout]    --> src/ai/train.rs:765:9
[INFO] [stdout]     |
[INFO] [stdout] 764 | pub struct FullReport {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] 765 |     pub examples: usize,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 769 |     pub ms: u64,
[INFO] [stdout]     |         ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `route_fresh` is never used
[INFO] [stdout]     --> src/ai/train.rs:1559:12
[INFO] [stdout]      |
[INFO] [stdout] 1315 | impl Trial {
[INFO] [stdout]      | ---------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1559 |     pub fn route_fresh(
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEAD_CLIP` is never used
[INFO] [stdout]   --> src/ai/forest.rs:49:7
[INFO] [stdout]    |
[INFO] [stdout] 49 | const HEAD_CLIP: usize = 100;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `body` and `position` are never used
[INFO] [stdout]    --> src/ai/forest.rs:338:12
[INFO] [stdout]     |
[INFO] [stdout] 306 | impl Index {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 338 |     pub fn body(&self, i: usize) -> Option<Vec<u8>> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 342 |     pub fn position(&self, path: &str) -> Option<usize> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VAR_NAMES` is never used
[INFO] [stdout]   --> src/ai/futures.rs:35:11
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub const VAR_NAMES: [&str; NVARS] = ["heap KiB", "switch/s", "touch/s", "tasks"];
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `hybrid` is never read
[INFO] [stdout]   --> src/ai/glance.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub struct Model {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 99 |     pub hybrid: bool,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Model` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ALPHA_TOTAL` is never used
[INFO] [stdout]     --> src/ai/godel.rs:3594:11
[INFO] [stdout]      |
[INFO] [stdout] 3594 | pub const ALPHA_TOTAL: f32 = 0.05;
[INFO] [stdout]      |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Parked` is never used
[INFO] [stdout]    --> src/ai/companion.rs:339:10
[INFO] [stdout]     |
[INFO] [stdout] 339 | pub enum Parked {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `park` is never used
[INFO] [stdout]    --> src/ai/companion.rs:393:8
[INFO] [stdout]     |
[INFO] [stdout] 393 | pub fn park() -> Parked {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `applet` is never read
[INFO] [stdout]    --> src/ai/council.rs:330:9
[INFO] [stdout]     |
[INFO] [stdout] 329 | pub struct Verdict {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] 330 |     pub applet: usize,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_USES` is never used
[INFO] [stdout]    --> src/ai/voter.rs:296:7
[INFO] [stdout]     |
[INFO] [stdout] 296 | const MIN_USES: u32 = 2;
[INFO] [stdout]     |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CUE_PURITY` is never used
[INFO] [stdout]    --> src/ai/voter.rs:324:7
[INFO] [stdout]     |
[INFO] [stdout] 324 | const CUE_PURITY: u32 = 100;
[INFO] [stdout]     |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cue_table` is never used
[INFO] [stdout]    --> src/ai/voter.rs:415:8
[INFO] [stdout]     |
[INFO] [stdout] 415 | pub fn cue_table(names: &[String]) -> Vec<(String, usize, u32)> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `with_alphabet_of` is never used
[INFO] [stdout]   --> src/ai/harness.rs:88:15
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub(crate) fn with_alphabet_of<R>(
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `experts_per_tok` is never read
[INFO] [stdout]    --> src/ai/model.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout]  43 | pub struct Config {
[INFO] [stdout]     |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub experts_per_tok: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Config` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `bytes` is never used
[INFO] [stdout]    --> src/ai/model.rs:774:12
[INFO] [stdout]     |
[INFO] [stdout] 757 | impl Tape {
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 774 |     pub fn bytes(&self) -> usize {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `at_s`, `act`, and `edge` are never read
[INFO] [stdout]   --> src/ai/trace.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct Decision {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 80 |     pub at_s: f32,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub act: Vec<f32>,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     pub edge: Vec<f32>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Decision` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `at` is never read
[INFO] [stdout]    --> src/ai/trace.rs:136:9
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub struct Fit {
[INFO] [stdout]     |            --- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub at: u64,
[INFO] [stdout]     |         ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Fit` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `prompt` and `at` are never read
[INFO] [stdout]    --> src/ai/trace.rs:319:9
[INFO] [stdout]     |
[INFO] [stdout] 310 | pub struct Stack {
[INFO] [stdout]     |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 319 |     pub prompt: String,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 320 |     pub at: u64,
[INFO] [stdout]     |         ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Stack` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `idf_pow` is never used
[INFO] [stdout]    --> src/ai/lex.rs:183:12
[INFO] [stdout]     |
[INFO] [stdout] 154 | impl Lex {
[INFO] [stdout]     | -------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 183 |     pub fn idf_pow() -> u32 {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pool` is never used
[INFO] [stdout]    --> src/ai/lex.rs:521:8
[INFO] [stdout]     |
[INFO] [stdout] 521 | pub fn pool(
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_empty` is never used
[INFO] [stdout]   --> src/ai/recall.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl Nodes {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_empty` is never used
[INFO] [stdout]   --> src/ai/route.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 64 | impl Table {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `trained_on` is never read
[INFO] [stdout]    --> src/ai/study.rs:249:9
[INFO] [stdout]     |
[INFO] [stdout] 241 | pub struct SeqRow {
[INFO] [stdout]     |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 249 |     pub trained_on: usize,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `all` is never used
[INFO] [stdout]    --> src/app/manifest.rs:372:8
[INFO] [stdout]     |
[INFO] [stdout] 372 | pub fn all() -> Vec<String> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_frame` is never read
[INFO] [stdout]    --> src/dev/radio.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout]  92 | pub struct Caps {
[INFO] [stdout]     |            ---- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub max_frame: usize,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Caps` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `idx`, `pairwise`, and `peer` are never read
[INFO] [stdout]    --> src/dev/radio.rs:107:9
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub struct Key {
[INFO] [stdout]     |            --- fields in this struct
[INFO] [stdout] 107 |     pub idx: u8,
[INFO] [stdout]     |         ^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub pairwise: bool,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 111 |     pub peer: [u8; 6],
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `stop` is never used
[INFO] [stdout]    --> src/dev/radio.rs:129:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub trait Radio {
[INFO] [stdout]     |           ----- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 129 |     fn stop(&mut self);
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `name` is never used
[INFO] [stdout]   --> src/dev/registry.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 75 | impl Role {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 76 |     pub fn name(self) -> &'static str {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `in_role` is never used
[INFO] [stdout]    --> src/dev/registry.rs:696:8
[INFO] [stdout]     |
[INFO] [stdout] 696 | pub fn in_role(role: Role) -> Vec<&'static Node> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `position` is never used
[INFO] [stdout]    --> src/dev/mouse.rs:117:8
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub fn position() -> Option<(u32, u32)> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `take_relative` is never used
[INFO] [stdout]    --> src/dev/mouse.rs:173:8
[INFO] [stdout]     |
[INFO] [stdout] 173 | pub fn take_relative() -> (i32, i32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `r32` is never used
[INFO] [stdout]    --> src/dev/rtl8168.rs:143:8
[INFO] [stdout]     |
[INFO] [stdout] 129 | impl Rtl8168 {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 143 |     fn r32(&self, off: u32) -> u32 {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_rf` is never used
[INFO] [stdout]    --> src/dev/rtl8188eu.rs:362:12
[INFO] [stdout]     |
[INFO] [stdout] 216 | impl Regs<'_> {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 362 |     pub fn read_rf(&mut self, reg: u8) -> Result<u32, &'static str> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `signature` is never read
[INFO] [stdout]    --> src/dev/rtl8188eu.rs:576:13
[INFO] [stdout]     |
[INFO] [stdout] 575 |     pub struct Firmware<'a> {
[INFO] [stdout]     |                -------- field in this struct
[INFO] [stdout] 576 |         pub signature: u16,
[INFO] [stdout]     |             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REG_FPGA0_XA_HSSI_PARM1` is never used
[INFO] [stdout]    --> src/dev/rtl8188eu_tables.rs:224:11
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub const REG_FPGA0_XA_HSSI_PARM1: u32 = 0x820;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REG_FPGA0_XA_HSSI_PARM2` is never used
[INFO] [stdout]    --> src/dev/rtl8188eu_tables.rs:225:11
[INFO] [stdout]     |
[INFO] [stdout] 225 | pub const REG_FPGA0_XA_HSSI_PARM2: u32 = 0x824;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REG_FPGA0_XA_LSSI_READBACK` is never used
[INFO] [stdout]    --> src/dev/rtl8188eu_tables.rs:227:11
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub const REG_FPGA0_XA_LSSI_READBACK: u32 = 0x8A0;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REG_HSPI_XA_READBACK` is never used
[INFO] [stdout]    --> src/dev/rtl8188eu_tables.rs:228:11
[INFO] [stdout]     |
[INFO] [stdout] 228 | pub const REG_HSPI_XA_READBACK: u32 = 0x8B8;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FPGA0_HSSI_PARM1_PI` is never used
[INFO] [stdout]    --> src/dev/rtl8188eu_tables.rs:229:11
[INFO] [stdout]     |
[INFO] [stdout] 229 | pub const FPGA0_HSSI_PARM1_PI: u32 = 0x100;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FPGA0_HSSI_PARM2_ADDR_SHIFT` is never used
[INFO] [stdout]    --> src/dev/rtl8188eu_tables.rs:230:11
[INFO] [stdout]     |
[INFO] [stdout] 230 | pub const FPGA0_HSSI_PARM2_ADDR_SHIFT: u32 = 0x17;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FPGA0_HSSI_PARM2_ADDR_MASK` is never used
[INFO] [stdout]    --> src/dev/rtl8188eu_tables.rs:231:11
[INFO] [stdout]     |
[INFO] [stdout] 231 | pub const FPGA0_HSSI_PARM2_ADDR_MASK: u32 = 0x7F800000;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FPGA0_HSSI_PARM2_EDGE_READ` is never used
[INFO] [stdout]    --> src/dev/rtl8188eu_tables.rs:232:11
[INFO] [stdout]     |
[INFO] [stdout] 232 | pub const FPGA0_HSSI_PARM2_EDGE_READ: u32 = 0x80000000;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REG_LLT_INIT` is never used
[INFO] [stdout]    --> src/dev/rtl8188eu_tables.rs:235:11
[INFO] [stdout]     |
[INFO] [stdout] 235 | pub const REG_LLT_INIT: u32 = 0x1E0;
[INFO] [stdout]     |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LLT_OP_INACTIVE` is never used
[INFO] [stdout]    --> src/dev/rtl8188eu_tables.rs:236:11
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub const LLT_OP_INACTIVE: u32 = 0x0;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LLT_OP_WRITE` is never used
[INFO] [stdout]    --> src/dev/rtl8188eu_tables.rs:237:11
[INFO] [stdout]     |
[INFO] [stdout] 237 | pub const LLT_OP_WRITE: u32 = 0x40000000;
[INFO] [stdout]     |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LLT_OP_READ` is never used
[INFO] [stdout]    --> src/dev/rtl8188eu_tables.rs:238:11
[INFO] [stdout]     |
[INFO] [stdout] 238 | pub const LLT_OP_READ: u32 = 0x80000000;
[INFO] [stdout]     |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LLT_OP_MASK` is never used
[INFO] [stdout]    --> src/dev/rtl8188eu_tables.rs:239:11
[INFO] [stdout]     |
[INFO] [stdout] 239 | pub const LLT_OP_MASK: u32 = 0xC0000000;
[INFO] [stdout]     |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REG_AUTO_LLT` is never used
[INFO] [stdout]    --> src/dev/rtl8188eu_tables.rs:240:11
[INFO] [stdout]     |
[INFO] [stdout] 240 | pub const REG_AUTO_LLT: u32 = 0x224;
[INFO] [stdout]     |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AUTO_LLT_INIT_LLT` is never used
[INFO] [stdout]    --> src/dev/rtl8188eu_tables.rs:241:11
[INFO] [stdout]     |
[INFO] [stdout] 241 | pub const AUTO_LLT_INIT_LLT: u32 = 0x10000;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REG_TRXFF_BNDY` is never used
[INFO] [stdout]    --> src/dev/rtl8188eu_tables.rs:242:11
[INFO] [stdout]     |
[INFO] [stdout] 242 | pub const REG_TRXFF_BNDY: u32 = 0x114;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REG_RQPN` is never used
[INFO] [stdout]    --> src/dev/rtl8188eu_tables.rs:243:11
[INFO] [stdout]     |
[INFO] [stdout] 243 | pub const REG_RQPN: u32 = 0x200;
[INFO] [stdout]     |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REG_RQPN_NPQ` is never used
[INFO] [stdout]    --> src/dev/rtl8188eu_tables.rs:244:11
[INFO] [stdout]     |
[INFO] [stdout] 244 | pub const REG_RQPN_NPQ: u32 = 0x214;
[INFO] [stdout]     |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REG_FIFOPAGE` is never used
[INFO] [stdout]    --> src/dev/rtl8188eu_tables.rs:245:11
[INFO] [stdout]     |
[INFO] [stdout] 245 | pub const REG_FIFOPAGE: u32 = 0x204;
[INFO] [stdout]     |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REG_TXPKTBUF_BCNQ_BDNY` is never used
[INFO] [stdout]    --> src/dev/rtl8188eu_tables.rs:246:11
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub const REG_TXPKTBUF_BCNQ_BDNY: u32 = 0x424;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REG_TXPKTBUF_MGQ_BDNY` is never used
[INFO] [stdout]    --> src/dev/rtl8188eu_tables.rs:247:11
[INFO] [stdout]     |
[INFO] [stdout] 247 | pub const REG_TXPKTBUF_MGQ_BDNY: u32 = 0x425;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REG_PBP` is never used
[INFO] [stdout]    --> src/dev/rtl8188eu_tables.rs:248:11
[INFO] [stdout]     |
[INFO] [stdout] 248 | pub const REG_PBP: u32 = 0x104;
[INFO] [stdout]     |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REG_TDECTRL` is never used
[INFO] [stdout]    --> src/dev/rtl8188eu_tables.rs:249:11
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub const REG_TDECTRL: u32 = 0x208;
[INFO] [stdout]     |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REG_TXDMA_OFFSET_CHK` is never used
[INFO] [stdout]    --> src/dev/rtl8188eu_tables.rs:250:11
[INFO] [stdout]     |
[INFO] [stdout] 250 | pub const REG_TXDMA_OFFSET_CHK: u32 = 0x20C;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REG_RD_CTRL` is never used
[INFO] [stdout]    --> src/dev/rtl8188eu_tables.rs:251:11
[INFO] [stdout]     |
[INFO] [stdout] 251 | pub const REG_RD_CTRL: u32 = 0x524;
[INFO] [stdout]     |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REG_CR` is never used
[INFO] [stdout]    --> src/dev/rtl8188eu_tables.rs:252:11
[INFO] [stdout]     |
[INFO] [stdout] 252 | pub const REG_CR: u32 = 0x100;
[INFO] [stdout]     |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CR_SCHEDULE_ENABLE` is never used
[INFO] [stdout]    --> src/dev/rtl8188eu_tables.rs:253:11
[INFO] [stdout]     |
[INFO] [stdout] 253 | pub const CR_SCHEDULE_ENABLE: u32 = 0x20;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CR_MAC_TX_ENABLE` is never used
[INFO] [stdout]    --> src/dev/rtl8188eu_tables.rs:254:11
[INFO] [stdout]     |
[INFO] [stdout] 254 | pub const CR_MAC_TX_ENABLE: u32 = 0x40;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CR_MAC_RX_ENABLE` is never used
[INFO] [stdout]    --> src/dev/rtl8188eu_tables.rs:255:11
[INFO] [stdout]     |
[INFO] [stdout] 255 | pub const CR_MAC_RX_ENABLE: u32 = 0x80;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REG_EFUSE_CTRL` is never used
[INFO] [stdout]    --> src/dev/rtl8188eu_tables.rs:256:11
[INFO] [stdout]     |
[INFO] [stdout] 256 | pub const REG_EFUSE_CTRL: u32 = 0x30;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REG_EFUSE_TEST` is never used
[INFO] [stdout]    --> src/dev/rtl8188eu_tables.rs:257:11
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub const REG_EFUSE_TEST: u32 = 0x34;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REG_MCU_FW_DL` is never used
[INFO] [stdout]    --> src/dev/rtl8188eu_tables.rs:258:11
[INFO] [stdout]     |
[INFO] [stdout] 258 | pub const REG_MCU_FW_DL: u32 = 0x80;
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MCU_FW_DL_ENABLE` is never used
[INFO] [stdout]    --> src/dev/rtl8188eu_tables.rs:259:11
[INFO] [stdout]     |
[INFO] [stdout] 259 | pub const MCU_FW_DL_ENABLE: u32 = 0x1;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MCU_FW_DL_READY` is never used
[INFO] [stdout]    --> src/dev/rtl8188eu_tables.rs:260:11
[INFO] [stdout]     |
[INFO] [stdout] 260 | pub const MCU_FW_DL_READY: u32 = 0x2;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MCU_FW_DL_CSUM_REPORT` is never used
[INFO] [stdout]    --> src/dev/rtl8188eu_tables.rs:261:11
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub const MCU_FW_DL_CSUM_REPORT: u32 = 0x4;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MCU_WINT_INIT_READY` is never used
[INFO] [stdout]    --> src/dev/rtl8188eu_tables.rs:262:11
[INFO] [stdout]     |
[INFO] [stdout] 262 | pub const MCU_WINT_INIT_READY: u32 = 0x40;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MCU_FW_RAM_SEL` is never used
[INFO] [stdout]    --> src/dev/rtl8188eu_tables.rs:263:11
[INFO] [stdout]     |
[INFO] [stdout] 263 | pub const MCU_FW_RAM_SEL: u32 = 0x80;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REG_FW_START_ADDRESS` is never used
[INFO] [stdout]    --> src/dev/rtl8188eu_tables.rs:264:11
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub const REG_FW_START_ADDRESS: u32 = 0x1000;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REG_RCR` is never used
[INFO] [stdout]    --> src/dev/rtl8188eu_tables.rs:265:11
[INFO] [stdout]     |
[INFO] [stdout] 265 | pub const REG_RCR: u32 = 0x608;
[INFO] [stdout]     |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REG_MACID` is never used
[INFO] [stdout]    --> src/dev/rtl8188eu_tables.rs:266:11
[INFO] [stdout]     |
[INFO] [stdout] 266 | pub const REG_MACID: u32 = 0x610;
[INFO] [stdout]     |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REG_RXFLTMAP2` is never used
[INFO] [stdout]    --> src/dev/rtl8188eu_tables.rs:267:11
[INFO] [stdout]     |
[INFO] [stdout] 267 | pub const REG_RXFLTMAP2: u32 = 0x6A4;
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TXDESC_QUEUE_BEACON` is never used
[INFO] [stdout]    --> src/dev/rtl8188eu_tables.rs:283:11
[INFO] [stdout]     |
[INFO] [stdout] 283 | pub const TXDESC_QUEUE_BEACON: u32 = 0x10;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TXDESC_QUEUE_BE` is never used
[INFO] [stdout]    --> src/dev/rtl8188eu_tables.rs:284:11
[INFO] [stdout]     |
[INFO] [stdout] 284 | pub const TXDESC_QUEUE_BE: u32 = 0x0;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TXDESC_QUEUE_VO` is never used
[INFO] [stdout]    --> src/dev/rtl8188eu_tables.rs:285:11
[INFO] [stdout]     |
[INFO] [stdout] 285 | pub const TXDESC_QUEUE_VO: u32 = 0x7;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RXDESC_PHY_STATS` is never used
[INFO] [stdout]    --> src/dev/rtl8188eu_tables.rs:303:11
[INFO] [stdout]     |
[INFO] [stdout] 303 | pub const RXDESC_PHY_STATS: (u32, u32, u32) = (0, 26, 1);
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WR_EC` is never used
[INFO] [stdout]   --> src/dev/ec.rs:44:7
[INFO] [stdout]    |
[INFO] [stdout] 44 | const WR_EC: u8 = 0x81;
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write` is never used
[INFO] [stdout]    --> src/dev/ec.rs:117:8
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub fn write(addr: u8, value: u8) -> bool {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `selftest` is never used
[INFO] [stdout]    --> src/dev/ec.rs:166:8
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub fn selftest() -> bool {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `attached` is never used
[INFO] [stdout]   --> src/dev/usbhid.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn attached() -> usize {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `usb_ethernet` is never used
[INFO] [stdout]    --> src/dev/xhci.rs:205:8
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub fn usb_ethernet() -> Option<(u16, u16)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Punct` is never constructed
[INFO] [stdout]    --> src/fmt/mod.rs:258:5
[INFO] [stdout]     |
[INFO] [stdout] 252 | pub enum Class {
[INFO] [stdout]     |          ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 258 |     Punct,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Class` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `w` is never read
[INFO] [stdout]    --> src/gfx/mod.rs:207:5
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub struct Shape {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] 206 |     rows: alloc::vec::Vec<(u32, u32)>,
[INFO] [stdout] 207 |     w: u32,
[INFO] [stdout]     |     ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `width` and `height` are never used
[INFO] [stdout]    --> src/gfx/mod.rs:276:12
[INFO] [stdout]     |
[INFO] [stdout] 210 | impl Shape {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 276 |     pub fn width(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 280 |     pub fn height(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `title` is never used
[INFO] [stdout]   --> src/gfx/browse.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | impl Browser {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 80 |     pub fn title(&self) -> &str {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `col` is never used
[INFO] [stdout]    --> src/gfx/console.rs:781:12
[INFO] [stdout]     |
[INFO] [stdout] 253 | impl Console {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 781 |     pub fn col(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cols` is never used
[INFO] [stdout]     --> src/gfx/console.rs:1053:8
[INFO] [stdout]      |
[INFO] [stdout] 1053 | pub fn cols() -> usize {
[INFO] [stdout]      |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extra_at` is never used
[INFO] [stdout]    --> src/gfx/font.rs:443:8
[INFO] [stdout]     |
[INFO] [stdout] 443 | pub fn extra_at(i: usize) -> Option<u32> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extra_count` is never used
[INFO] [stdout]    --> src/gfx/font.rs:447:8
[INFO] [stdout]     |
[INFO] [stdout] 447 | pub fn extra_count() -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `frame` is never read
[INFO] [stdout]    --> src/gfx/theme.rs:617:9
[INFO] [stdout]     |
[INFO] [stdout] 616 | pub struct Chrome {
[INFO] [stdout]     |            ------ field in this struct
[INFO] [stdout] 617 |     pub frame: Rect,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Chrome` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `separator_v` is never used
[INFO] [stdout]     --> src/gfx/theme.rs:1010:8
[INFO] [stdout]      |
[INFO] [stdout] 1010 | pub fn separator_v(fb: &Framebuffer, x: u32, y: u32, h: u32) {
[INFO] [stdout]      |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ICON_SPEC` is never used
[INFO] [stdout]     --> src/gfx/theme.rs:1071:11
[INFO] [stdout]      |
[INFO] [stdout] 1071 | pub const ICON_SPEC: Color = HILIGHT;
[INFO] [stdout]      |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gauge` is never used
[INFO] [stdout]     --> src/gfx/theme.rs:1115:8
[INFO] [stdout]      |
[INFO] [stdout] 1115 | pub fn gauge(fb: &Framebuffer, r: Rect, frac: u32, stops: &[(u8, Color)]) {
[INFO] [stdout]      |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tabs` is never used
[INFO] [stdout]     --> src/gfx/theme.rs:1153:8
[INFO] [stdout]      |
[INFO] [stdout] 1153 | pub fn tabs(fb: &Framebuffer, r: Rect, labels: &[&str], sel: usize) -> alloc::vec::Vec<Rect> {
[INFO] [stdout]      |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `kv` is never used
[INFO] [stdout]     --> src/gfx/theme.rs:1205:8
[INFO] [stdout]      |
[INFO] [stdout] 1205 | pub fn kv(fb: &Framebuffer, r: Rect, name: &str, value: &str, tone: Color) {
[INFO] [stdout]      |        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bubble` is never used
[INFO] [stdout]     --> src/gfx/theme.rs:1223:8
[INFO] [stdout]      |
[INFO] [stdout] 1223 | pub fn bubble(fb: &Framebuffer, r: Rect, lines: &[alloc::string::String], from_machine: bool) {
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `trace` is never used
[INFO] [stdout]    --> src/gfx/ui.rs:184:8
[INFO] [stdout]     |
[INFO] [stdout] 165 | impl Widget {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 184 |     fn trace(&self, focused: bool) -> (char, &str, usize) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `trace` is never used
[INFO] [stdout]    --> src/gfx/ui.rs:603:8
[INFO] [stdout]     |
[INFO] [stdout] 217 | impl Panel {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 603 |     fn trace(&self, event: &str) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `frame_for` is never used
[INFO] [stdout]    --> src/gfx/ui.rs:713:4
[INFO] [stdout]     |
[INFO] [stdout] 713 | fn frame_for(fb: &Framebuffer, panel: &Panel) -> Rect {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `size_grip` is never used
[INFO] [stdout]     --> src/gfx/desk.rs:2519:4
[INFO] [stdout]      |
[INFO] [stdout] 2519 | fn size_grip(frame: Rect) -> Rect {
[INFO] [stdout]      |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `at` is never read
[INFO] [stdout]    --> src/gpu/mod.rs:276:9
[INFO] [stdout]     |
[INFO] [stdout] 272 | pub struct Plan {
[INFO] [stdout]     |            ---- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 276 |     pub at: (u8, u8, u8),
[INFO] [stdout]     |         ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `caps` and `fn_names` are never used
[INFO] [stdout]     --> src/aiksi/eval.rs:1399:12
[INFO] [stdout]      |
[INFO] [stdout] 1350 | impl Interp {
[INFO] [stdout]      | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1399 |     pub fn caps(&self) -> Caps {
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1484 |     pub fn fn_names(&self) -> impl Iterator<Item = &String> {
[INFO] [stdout]      |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `params` is never used
[INFO] [stdout]    --> src/aiksi/jit.rs:158:12
[INFO] [stdout]     |
[INFO] [stdout] 157 | impl Program {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] 158 |     pub fn params(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PF_W` is never used
[INFO] [stdout]   --> src/linux/elf.rs:51:11
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub const PF_W: u32 = 2;
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `flags` and `align` are never read
[INFO] [stdout]   --> src/linux/elf.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct Segment {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub flags: u32,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 68 |     pub align: u64,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `writable` and `executable` are never used
[INFO] [stdout]   --> src/linux/elf.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 71 | impl Segment {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] 72 |     pub fn writable(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn executable(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]    --> src/linux/fs.rs:194:9
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub struct Memfd {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] 194 |     pub name: String,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `bytes` and `bytes_mut` are never used
[INFO] [stdout]    --> src/linux/fs.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 209 | impl Memfd {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 215 |     pub fn bytes(&self) -> &[u8] {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     pub fn bytes_mut(&mut self) -> &mut [u8] {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_dir` is never used
[INFO] [stdout]    --> src/linux/fs.rs:262:12
[INFO] [stdout]     |
[INFO] [stdout] 261 | impl Fd {
[INFO] [stdout]     | ------- method in this implementation
[INFO] [stdout] 262 |     pub fn is_dir(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/linux/load.rs:110:12
[INFO] [stdout]     |
[INFO] [stdout] 110 |     Placed(Exec),
[INFO] [stdout]     |     ------ ^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 110 -     Placed(Exec),
[INFO] [stdout] 110 +     Placed(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `holding` is never used
[INFO] [stdout]    --> src/linux/dev.rs:385:8
[INFO] [stdout]     |
[INFO] [stdout] 385 | pub fn holding() -> bool {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CLONE_SYSVSEM` is never used
[INFO] [stdout]   --> src/linux/thread.rs:80:11
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub const CLONE_SYSVSEM: u64 = 0x0004_0000;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `live` is never used
[INFO] [stdout]   --> src/linux/fork.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub fn live() -> usize {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SIGUSR1` is never used
[INFO] [stdout]   --> src/linux/signal.rs:56:11
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub const SIGUSR1: u32 = 10;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SIGSEGV` is never used
[INFO] [stdout]   --> src/linux/signal.rs:57:11
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub const SIGSEGV: u32 = 11;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SIGUSR2` is never used
[INFO] [stdout]   --> src/linux/signal.rs:58:11
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub const SIGUSR2: u32 = 12;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SIGTERM` is never used
[INFO] [stdout]   --> src/linux/signal.rs:59:11
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub const SIGTERM: u32 = 15;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delivered` is never used
[INFO] [stdout]    --> src/linux/signal.rs:188:8
[INFO] [stdout]     |
[INFO] [stdout] 188 | pub fn delivered() -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `other` is never used
[INFO] [stdout]    --> src/linux/unix.rs:109:8
[INFO] [stdout]     |
[INFO] [stdout] 108 | impl Side {
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] 109 |     fn other(self) -> Side {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `path` is never read
[INFO] [stdout]    --> src/linux/unix.rs:124:17
[INFO] [stdout]     |
[INFO] [stdout] 124 |     Listening { path: String, waiting: VecDeque<Rc<RefCell<Pipe>>> },
[INFO] [stdout]     |     ---------   ^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reset` is never used
[INFO] [stdout]    --> src/linux/unix.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 138 | pub fn reset() {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `len` is never used
[INFO] [stdout]   --> src/linux/epoll.rs:94:12
[INFO] [stdout]    |
[INFO] [stdout] 89 | impl Epoll {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 94 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SYS_GETSOCKNAME` is never used
[INFO] [stdout]    --> src/linux/syscall.rs:105:11
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub const SYS_GETSOCKNAME: u64 = 51;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SYS_GETPEERNAME` is never used
[INFO] [stdout]    --> src/linux/syscall.rs:106:11
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub const SYS_GETPEERNAME: u64 = 52;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `live_guests` is never used
[INFO] [stdout]     --> src/linux/syscall.rs:1012:8
[INFO] [stdout]      |
[INFO] [stdout] 1012 | pub fn live_guests() -> usize {
[INFO] [stdout]      |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_sockaddr` is never used
[INFO] [stdout]     --> src/linux/syscall.rs:2011:4
[INFO] [stdout]      |
[INFO] [stdout] 2011 | fn write_sockaddr(at: u64, len_at: u64, ip: crate::net::Ipv4, port: u16) -> u64 {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constants `RX` and `NONE` are never used
[INFO] [stdout]    --> src/mem/paging.rs:241:15
[INFO] [stdout]     |
[INFO] [stdout] 238 | impl Perm {
[INFO] [stdout]     | --------- associated constants in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 241 |     pub const RX: Perm = Perm { present: true, write: false, exec: true, user: false };
[INFO] [stdout]     |               ^^
[INFO] [stdout] 242 |     pub const RWX: Perm = Perm { present: true, write: true, exec: true, user: false };
[INFO] [stdout] 243 |     pub const NONE: Perm = Perm { present: false, write: false, exec: false, user: false };
[INFO] [stdout]     |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `name` is never used
[INFO] [stdout]   --> src/mine/algo.rs:94:12
[INFO] [stdout]    |
[INFO] [stdout] 93 | impl Algo {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 94 |     pub fn name(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Hello` is never constructed
[INFO] [stdout]    --> src/mine/proto.rs:131:12
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub struct Hello {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `slots` and `session` are never read
[INFO] [stdout]    --> src/mine/proto.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub struct Welcome {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub slots: u32,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 142 |     pub session: String,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `push_algo` is never used
[INFO] [stdout]    --> src/mine/proto.rs:183:4
[INFO] [stdout]     |
[INFO] [stdout] 183 | fn push_algo(s: &mut String, a: &Algo) {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_job` is never used
[INFO] [stdout]    --> src/mine/proto.rs:224:8
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub fn encode_job(j: &Job) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_welcome` is never used
[INFO] [stdout]    --> src/mine/proto.rs:276:8
[INFO] [stdout]     |
[INFO] [stdout] 276 | pub fn encode_welcome(id: u64, w: &Welcome) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `encode_work` is never used
[INFO] [stdout]    --> src/mine/proto.rs:305:8
[INFO] [stdout]     |
[INFO] [stdout] 305 | pub fn encode_work(id: u64, slot: u32) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_work` is never used
[INFO] [stdout]    --> src/mine/proto.rs:467:8
[INFO] [stdout]     |
[INFO] [stdout] 467 | pub fn parse_work(params: &Json) -> Option<u32> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_share` is never used
[INFO] [stdout]    --> src/mine/proto.rs:475:8
[INFO] [stdout]     |
[INFO] [stdout] 475 | pub fn parse_share(params: &Json) -> Option<Share> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_hello` is never used
[INFO] [stdout]    --> src/mine/proto.rs:487:8
[INFO] [stdout]     |
[INFO] [stdout] 487 | pub fn parse_hello(params: &Json) -> Option<Hello> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_zero` is never used
[INFO] [stdout]   --> src/mine/u256.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl U256 {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn is_zero(self) -> bool {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `verified` is never read
[INFO] [stdout]    --> src/mine/work.rs:248:9
[INFO] [stdout]     |
[INFO] [stdout] 239 | pub struct Snapshot {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 248 |     pub verified: bool,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `params` is never used
[INFO] [stdout]    --> src/mine/yespower.rs:208:12
[INFO] [stdout]     |
[INFO] [stdout] 164 | impl Yespower {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 208 |     pub fn params(&self) -> (u32, u32) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `echo` is never used
[INFO] [stdout]    --> src/net/softmac.rs:378:12
[INFO] [stdout]     |
[INFO] [stdout] 362 | impl Loopback {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 378 |     pub fn echo(&mut self) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_CONT` is never used
[INFO] [stdout]   --> src/net/ws.rs:35:7
[INFO] [stdout]    |
[INFO] [stdout] 35 | const OP_CONT: u8 = 0x0;
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_BIN` is never used
[INFO] [stdout]   --> src/net/ws.rs:37:7
[INFO] [stdout]    |
[INFO] [stdout] 37 | const OP_BIN: u8 = 0x2;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_CLOSE` is never used
[INFO] [stdout]   --> src/net/ws.rs:38:7
[INFO] [stdout]    |
[INFO] [stdout] 38 | const OP_CLOSE: u8 = 0x8;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_PING` is never used
[INFO] [stdout]   --> src/net/ws.rs:39:7
[INFO] [stdout]    |
[INFO] [stdout] 39 | const OP_PING: u8 = 0x9;
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_PONG` is never used
[INFO] [stdout]   --> src/net/ws.rs:40:7
[INFO] [stdout]    |
[INFO] [stdout] 40 | const OP_PONG: u8 = 0xA;
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/net/ws.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |     Tls(tls::Error),
[INFO] [stdout]    |     --- ^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 51 -     Tls(tls::Error),
[INFO] [stdout] 51 +     Tls(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Handshake`, `BadAccept`, and `Closed` are never constructed
[INFO] [stdout]   --> src/net/ws.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub enum Error {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] 51 |     Tls(tls::Error),
[INFO] [stdout] 52 |     Handshake,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     BadAccept,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     Closed,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Msg` is never used
[INFO] [stdout]    --> src/net/ws.rs:128:10
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub enum Msg {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Socket` is never constructed
[INFO] [stdout]    --> src/net/ws.rs:135:12
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub struct Socket {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `connect`, `send_text`, `send_raw`, `close`, and `recv` are never used
[INFO] [stdout]    --> src/net/ws.rs:151:12
[INFO] [stdout]     |
[INFO] [stdout] 149 | impl Socket {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] 150 |     /// Open a WebSocket to `host`, already resolved to `dst`.
[INFO] [stdout] 151 |     pub fn connect(dst: super::Ipv4, host: &str, port: u16, path: &str) -> Result<Socket, Error> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     pub fn send_text(&mut self, text: &str) -> Result<(), Error> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 220 |     fn send_raw(&mut self, op: u8, payload: &[u8]) -> Result<(), Error> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     pub fn close(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 |     pub fn recv(&mut self, timeout_ms: u64) -> Result<Option<Msg>, Error> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `finish` is never used
[INFO] [stdout]    --> src/net/ws.rs:338:4
[INFO] [stdout]     |
[INFO] [stdout] 338 | fn finish(op: u8, payload: Vec<u8>) -> Msg {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find` is never used
[INFO] [stdout]    --> src/net/ws.rs:439:4
[INFO] [stdout]     |
[INFO] [stdout] 439 | fn find(h: &[u8], needle: &[u8]) -> Option<usize> {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SUBCLASS_OTHER` is never used
[INFO] [stdout]   --> src/net/wifi.rs:55:7
[INFO] [stdout]    |
[INFO] [stdout] 55 | const SUBCLASS_OTHER: u8 = 0x80;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ethernet_driver` is never used
[INFO] [stdout]    --> src/net/wifi.rs:124:4
[INFO] [stdout]     |
[INFO] [stdout] 124 | fn ethernet_driver(vendor: u16, device: u16) -> Option<&'static str> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `describe_ethernet` is never used
[INFO] [stdout]    --> src/net/wifi.rs:132:4
[INFO] [stdout]     |
[INFO] [stdout] 132 | fn describe_ethernet(vendor: u16, device: u16) -> &'static str {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TAG_NULL` is never used
[INFO] [stdout]   --> src/net/x509.rs:45:11
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub const TAG_NULL: u8 = 0x05;
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TAG_UTF8` is never used
[INFO] [stdout]   --> src/net/x509.rs:47:11
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub const TAG_UTF8: u8 = 0x0C;
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TAG_PRINTABLE` is never used
[INFO] [stdout]   --> src/net/x509.rs:50:11
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub const TAG_PRINTABLE: u8 = 0x13;
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TAG_IA5` is never used
[INFO] [stdout]   --> src/net/x509.rs:51:11
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub const TAG_IA5: u8 = 0x16;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `UnsupportedKey` is never constructed
[INFO] [stdout]    --> src/net/x509.rs:231:5
[INFO] [stdout]     |
[INFO] [stdout] 229 | pub enum Error {
[INFO] [stdout]     |          ----- variant in this enum
[INFO] [stdout] 230 |     Malformed,
[INFO] [stdout] 231 |     UnsupportedKey,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Error` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Program` is never constructed
[INFO] [stdout]   --> src/port/mod.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct Program {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/port/mod.rs:56:18
[INFO] [stdout]    |
[INFO] [stdout] 55 | impl Program {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 56 |     pub const fn new(name: &'static str) -> Program {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `provide` is never used
[INFO] [stdout]   --> src/port/files.rs:43:15
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub(crate) fn provide(name: &'static str, bytes: &'static [u8]) {
[INFO] [stdout]    |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `W` is never used
[INFO] [stdout]   --> src/port/keys.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const W: u8 = kbd::SC_W;
[INFO] [stdout]    |           ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `A` is never used
[INFO] [stdout]   --> src/port/keys.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const A: u8 = kbd::SC_A;
[INFO] [stdout]    |           ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `S` is never used
[INFO] [stdout]   --> src/port/keys.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub const S: u8 = kbd::SC_S;
[INFO] [stdout]    |           ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `D` is never used
[INFO] [stdout]   --> src/port/keys.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub const D: u8 = kbd::SC_D;
[INFO] [stdout]    |           ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SPACE` is never used
[INFO] [stdout]   --> src/port/keys.rs:26:11
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const SPACE: u8 = kbd::SC_SPACE;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ESC` is never used
[INFO] [stdout]   --> src/port/keys.rs:27:11
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub const ESC: u8 = kbd::SC_ESC;
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LEFT` is never used
[INFO] [stdout]   --> src/port/keys.rs:28:11
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub const LEFT: u8 = kbd::SC_LEFT;
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RIGHT` is never used
[INFO] [stdout]   --> src/port/keys.rs:29:11
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub const RIGHT: u8 = kbd::SC_RIGHT;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UP` is never used
[INFO] [stdout]   --> src/port/keys.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const UP: u8 = kbd::SC_UP;
[INFO] [stdout]    |           ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DOWN` is never used
[INFO] [stdout]   --> src/port/keys.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const DOWN: u8 = kbd::SC_DOWN;
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CTRL` is never used
[INFO] [stdout]   --> src/port/keys.rs:32:11
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub const CTRL: u8 = kbd::SC_LCTRL;
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SHIFT` is never used
[INFO] [stdout]   --> src/port/keys.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub const SHIFT: u8 = kbd::SC_LSHIFT;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `USE` is never used
[INFO] [stdout]   --> src/port/keys.rs:35:11
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub const USE: u8 = kbd::SC_SPACE;
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FIRE` is never used
[INFO] [stdout]   --> src/port/keys.rs:39:11
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub const FIRE: u8 = kbd::SC_LCTRL;
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `down` is never used
[INFO] [stdout]   --> src/port/keys.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub fn down(code: u8) -> bool {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `snapshot` is never used
[INFO] [stdout]   --> src/port/keys.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub fn snapshot() -> Held {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Held` is never constructed
[INFO] [stdout]   --> src/port/keys.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub struct Held {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `down` and `is_empty` are never used
[INFO] [stdout]   --> src/port/keys.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | impl Held {
[INFO] [stdout]    | --------- methods in this implementation
[INFO] [stdout] 64 |     pub fn down(&self, code: u8) -> bool {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `force` is never used
[INFO] [stdout]   --> src/port/keys.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub fn force(code: u8, down: bool) {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear` is never used
[INFO] [stdout]   --> src/port/keys.rs:96:8
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub fn clear() {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `motion` is never used
[INFO] [stdout]   --> src/port/mouse.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub fn motion() -> (i32, i32) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `buttons` is never used
[INFO] [stdout]   --> src/port/mouse.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn buttons() -> (bool, bool) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `present` is never used
[INFO] [stdout]   --> src/port/mouse.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub fn present() -> bool {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_palette_rgb` and `clear` are never used
[INFO] [stdout]    --> src/port/surface.rs:116:12
[INFO] [stdout]     |
[INFO] [stdout]  48 | impl Surface {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn set_palette_rgb(&mut self, rgb: &[u8]) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub fn clear(&mut self, index: u8) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `globals` is never used
[INFO] [stdout]    --> src/sky/client.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout]  86 | impl Client {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn globals(&self) -> &[Global] {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/store/mod.rs:28:11
[INFO] [stdout]    |
[INFO] [stdout] 28 |     Store(cas::Error),
[INFO] [stdout]    |     ----- ^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `InitError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 28 -     Store(cas::Error),
[INFO] [stdout] 28 +     Store(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `base` and `reserved` are never read
[INFO] [stdout]   --> src/store/fat.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct Volume {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 40 |     /// LBA of the partition's first sector, so every offset here is relative.
[INFO] [stdout] 41 |     base: u64,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     reserved: u32,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cur_of` is never used
[INFO] [stdout]    --> src/task.rs:463:4
[INFO] [stdout]     |
[INFO] [stdout] 463 | fn cur_of(cpu: usize) -> usize {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `root_of` is never used
[INFO] [stdout]    --> src/task.rs:598:8
[INFO] [stdout]     |
[INFO] [stdout] 598 | pub fn root_of(idx: usize) -> u64 {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_ring3` is never used
[INFO] [stdout]    --> src/task.rs:603:8
[INFO] [stdout]     |
[INFO] [stdout] 603 | pub fn set_ring3(idx: usize, syscall_stack: u64) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ring3_stack` is never used
[INFO] [stdout]    --> src/task.rs:631:8
[INFO] [stdout]     |
[INFO] [stdout] 631 | pub fn ring3_stack() -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dump` is never used
[INFO] [stdout]    --> src/task.rs:677:8
[INFO] [stdout]     |
[INFO] [stdout] 677 | pub fn dump() {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> src/main.rs:141:34
[INFO] [stdout]     |
[INFO] [stdout] 141 |         let mut probe = efi_main as usize & !0xFFF;
[INFO] [stdout]     |                                  ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(function_casts_as_integer)]` on by default
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 141 |         let mut probe = efi_main as *const () as usize & !0xFFF;
[INFO] [stdout]     |                                  ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> src/repair.rs:960:21
[INFO] [stdout]     |
[INFO] [stdout] 960 |         rip: faults as usize as u64,
[INFO] [stdout]     |                     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 960 |         rip: faults as *const () as usize as u64,
[INFO] [stdout]     |                     ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]     --> src/linux/syscall.rs:1323:60
[INFO] [stdout]      |
[INFO] [stdout] 1323 |         crate::cpu::wrmsr(IA32_LSTAR, glados_syscall_entry as usize as u64);
[INFO] [stdout]      |                                                            ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]      |
[INFO] [stdout] 1323 |         crate::cpu::wrmsr(IA32_LSTAR, glados_syscall_entry as *const () as usize as u64);
[INFO] [stdout]      |                                                            ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]     --> src/linux/syscall.rs:1338:70
[INFO] [stdout]      |
[INFO] [stdout] 1338 |             && crate::cpu::rdmsr(IA32_LSTAR) == glados_syscall_entry as usize as u64
[INFO] [stdout]      |                                                                      ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]      |
[INFO] [stdout] 1338 |             && crate::cpu::rdmsr(IA32_LSTAR) == glados_syscall_entry as *const () as usize as u64
[INFO] [stdout]      |                                                                      ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: direct cast of function item into an integer
[INFO] [stdout]    --> src/smp.rs:558:53
[INFO] [stdout]     |
[INFO] [stdout] 558 |         params.add(1).write_volatile(glados_ap_main as usize as u64);
[INFO] [stdout]     |                                                     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: first cast to a pointer `as *const ()`
[INFO] [stdout]     |
[INFO] [stdout] 558 |         params.add(1).write_volatile(glados_ap_main as *const () as usize as u64);
[INFO] [stdout]     |                                                     ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [optimized + debuginfo] target(s) in 16.94s
[INFO] running `Command { std: "docker" "inspect" "21bb9d80ae109af7de5faaa071537ded54703e262b323d81147c5b7c7c948686", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "21bb9d80ae109af7de5faaa071537ded54703e262b323d81147c5b7c7c948686", kill_on_drop: false }`
[INFO] [stdout] 21bb9d80ae109af7de5faaa071537ded54703e262b323d81147c5b7c7c948686
