[INFO] cloning repository https://github.com/IlumCI/GLaDOS
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/IlumCI/GLaDOS" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIlumCI%2FGLaDOS", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIlumCI%2FGLaDOS'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8149030277170abd1462715660a52c7bc384fbed
[INFO] checking IlumCI/GLaDOS against 5c543b0b8c73c7b72bc8284ced4fb22ead15734d for pr-160186
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIlumCI%2FGLaDOS" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-2-tc1/source/.cargo/config.toml
[INFO] removed /workspace/builds/worker-2-tc1/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/IlumCI/GLaDOS
[INFO] finished tweaking git repo https://github.com/IlumCI/GLaDOS
[INFO] tweaked toml for git repo https://github.com/IlumCI/GLaDOS written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/IlumCI/GLaDOS on toolchain 5c543b0b8c73c7b72bc8284ced4fb22ead15734d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/IlumCI/GLaDOS 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" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded core_maths v0.1.1
[INFO] [stderr]   Downloaded fontdue v0.9.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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] bf9634705d9229e0ee7088aaac47ad87e43084b81b8e2b79912867397713c7e4
[INFO] running `Command { std: "docker" "start" "bf9634705d9229e0ee7088aaac47ad87e43084b81b8e2b79912867397713c7e4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bf9634705d9229e0ee7088aaac47ad87e43084b81b8e2b79912867397713c7e4", 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" "bf9634705d9229e0ee7088aaac47ad87e43084b81b8e2b79912867397713c7e4" "/opt/rustwide/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bf9634705d9229e0ee7088aaac47ad87e43084b81b8e2b79912867397713c7e4", 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" "bf9634705d9229e0ee7088aaac47ad87e43084b81b8e2b79912867397713c7e4" "/opt/rustwide/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libm v0.2.16
[INFO] [stderr]     Checking allocator-api2 v0.2.21
[INFO] [stderr]     Checking equivalent v1.0.2
[INFO] [stderr]     Checking foldhash v0.1.5
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]     Checking core_maths v0.1.1
[INFO] [stderr]     Checking ttf-parser v0.25.1
[INFO] [stderr]     Checking fontdue v0.9.4
[INFO] [stderr]     Checking glados v1.4.2 (/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:1990:19
[INFO] [stdout]      |
[INFO] [stdout] 1990 | pub use futures::{project, Projection, Branch, snapshot_now, futures_report};
[INFO] [stdout]      |                   ^^^^^^^  ^^^^^^^^^^  ^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Placed`
[INFO] [stdout]   --> src/dev/iwx/gen3.rs:45:30
[INFO] [stdout]    |
[INFO] [stdout] 45 | use super::ctxt::{self, Dma, Placed, Rings};
[INFO] [stdout]    |                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::string::String`
[INFO] [stdout]   --> src/dev/iwx/power.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | use alloc::string::String;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::font`
[INFO] [stdout]   --> src/gfx/ui.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | use super::font;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]    --> src/aiksi/kernel.rs:954:37
[INFO] [stdout]     |
[INFO] [stdout] 954 |                     _ => 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] 954 -                     _ => return Err(("hexdec: not hex".to_string())),
[INFO] [stdout] 954 +                     _ => 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:430:9
[INFO] [stdout]     |
[INFO] [stdout] 430 |     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:1561:9
[INFO] [stdout]      |
[INFO] [stdout] 1561 |         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:2994:13
[INFO] [stdout]      |
[INFO] [stdout] 2994 |         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 does not need to be mutable
[INFO] [stdout]    --> src/voice/style.rs:107:9
[INFO] [stdout]     |
[INFO] [stdout] 107 |     let mut flush = |word: &mut String, toks: &mut Vec<Tok>| {
[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/voice/style.rs:281:9
[INFO] [stdout]     |
[INFO] [stdout] 281 |     let mut out: Vec<f32> = pul.iter().zip(&nz).map(|(a, b)| a + b).collect();
[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/dev/hda/mod.rs:419:13
[INFO] [stdout]     |
[INFO] [stdout] 419 |         let mut say = |h: &mut Hda, nid: u16, v: u32| h.ask(addr, nid, v).ok_or(Fault::NoCommand);
[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:480:21
[INFO] [stdout]     |
[INFO] [stdout] 480 |                 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:482:21
[INFO] [stdout]     |
[INFO] [stdout] 482 |                     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: unreachable pattern
[INFO] [stdout]     --> src/gfx/desk.rs:4589:9
[INFO] [stdout]      |
[INFO] [stdout] 4589 |         _ => 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:4589:9
[INFO] [stdout]      |
[INFO] [stdout] 4571 |         Content::Browser(b) => {
[INFO] [stdout]      |         ------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 4577 |         Content::Panel(p) => p.wheel(notches),
[INFO] [stdout]      |         ----------------- matches some of the same values
[INFO] [stdout] 4578 |         Content::App(a) => {
[INFO] [stdout]      |         --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 4588 |         Content::Terminal(ch) => super::console::scroll_view(*ch, -(notches * 3) as isize),
[INFO] [stdout]      |         --------------------- matches some of the same values
[INFO] [stdout] 4589 |         _ => 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:5973:9
[INFO] [stdout]      |
[INFO] [stdout] 5973 |     let mut paint = |y: u32, xa: u32, xb: u32, row: &mut Vec<u32>| {
[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:1616:9
[INFO] [stdout]      |
[INFO] [stdout] 1616 |     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:4586:9
[INFO] [stdout]      |
[INFO] [stdout] 4586 |     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:6316:9
[INFO] [stdout]      |
[INFO] [stdout] 6316 |         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:6913:9
[INFO] [stdout]      |
[INFO] [stdout] 6913 |     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:7116:9
[INFO] [stdout]      |
[INFO] [stdout] 7107 |         SYS_SET_TID_ADDRESS => "set_tid_address",
[INFO] [stdout]      |         ------------------- matches all the relevant values
[INFO] [stdout] ...
[INFO] [stdout] 7116 |         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:372:9
[INFO] [stdout]     |
[INFO] [stdout] 372 |     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:480:13
[INFO] [stdout]     |
[INFO] [stdout] 467 |     macro_rules! flush_block {
[INFO] [stdout] ...
[INFO] [stdout] 480 |             heading = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 625 |     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:481:13
[INFO] [stdout]     |
[INFO] [stdout] 467 |     macro_rules! flush_block {
[INFO] [stdout] ...
[INFO] [stdout] 481 |             item = false;
[INFO] [stdout]     |             ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 625 |     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:481:13
[INFO] [stdout]     |
[INFO] [stdout] 467 |     macro_rules! flush_block {
[INFO] [stdout] ...
[INFO] [stdout] 481 |             item = false;
[INFO] [stdout]     |             ^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 600 |                 flush_block!();
[INFO] [stdout]     |                 -------------- in this macro invocation
[INFO] [stdout] 601 |                 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:984:9
[INFO] [stdout]     |
[INFO] [stdout] 984 |     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:251:22
[INFO] [stdout]     |
[INFO] [stdout] 251 |     cpu::set_runtime(unsafe { (*st).runtime_services });
[INFO] [stdout]     |                      ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chat` is never used
[INFO] [stdout]     --> src/ai/mod.rs:2376:8
[INFO] [stdout]      |
[INFO] [stdout] 2376 | pub fn chat(question: &str, opts: &GenOpts) {
[INFO] [stdout]      |        ^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[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:1271:8
[INFO] [stdout]      |
[INFO] [stdout] 1271 | 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:759:8
[INFO] [stdout]     |
[INFO] [stdout] 759 | 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: method `name` is never used
[INFO] [stdout]   --> src/ai/ctx.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 57 | impl Ctx {
[INFO] [stdout]    | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn name(self) -> &'static str {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `active` is never used
[INFO] [stdout]   --> src/ai/sched.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub fn active(c: Ctx) -> usize {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIND_DIR` is never used
[INFO] [stdout]    --> src/ai/initiative.rs:278:7
[INFO] [stdout]     |
[INFO] [stdout] 278 | 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:1560:12
[INFO] [stdout]      |
[INFO] [stdout] 1316 | impl Trial {
[INFO] [stdout]      | ---------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1560 |     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:524:10
[INFO] [stdout]     |
[INFO] [stdout] 524 | pub enum Parked {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `park` is never used
[INFO] [stdout]    --> src/ai/companion.rs:587:8
[INFO] [stdout]     |
[INFO] [stdout] 587 | pub fn park() -> Parked {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `applet` is never read
[INFO] [stdout]    --> src/ai/council.rs:332:9
[INFO] [stdout]     |
[INFO] [stdout] 331 | pub struct Verdict {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] 332 |     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:121:9
[INFO] [stdout]     |
[INFO] [stdout]  44 | pub struct Config {
[INFO] [stdout]     |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 121 |     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:775:12
[INFO] [stdout]     |
[INFO] [stdout] 758 | impl Tape {
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 775 |     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:338:9
[INFO] [stdout]     |
[INFO] [stdout] 329 | pub struct Stack {
[INFO] [stdout]     |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 338 |     pub prompt: String,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 339 |     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:263:9
[INFO] [stdout]     |
[INFO] [stdout] 255 | pub struct SeqRow {
[INFO] [stdout]     |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 263 |     pub trained_on: usize,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]    --> src/brain/mod.rs:197:9
[INFO] [stdout]     |
[INFO] [stdout] 196 | pub struct ReadoutView {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 197 |     pub name: String,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `synapses`, `t_ms`, `pace`, `awake`, and `raster` are never read
[INFO] [stdout]    --> src/brain/mod.rs:206:9
[INFO] [stdout]     |
[INFO] [stdout] 203 | pub struct View {
[INFO] [stdout]     |            ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 206 |     pub synapses: u64,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 207 |     pub t_ms: u64,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 208 |     pub pace: u64,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 209 |     pub awake: usize,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 221 |     pub raster: Vec<Vec<u8>>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `labels` is never read
[INFO] [stdout]   --> src/brain/lif.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct Connectome {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub labels: Vec<[u8; 8]>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tdiv` is never used
[INFO] [stdout]    --> src/brain/lif.rs:221:4
[INFO] [stdout]     |
[INFO] [stdout] 221 | fn tdiv(a: i64, b: i64) -> i64 {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `bias` is never used
[INFO] [stdout]    --> src/brain/lif.rs:715:12
[INFO] [stdout]     |
[INFO] [stdout] 349 | impl Sim {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 715 |     pub fn bias(&self) -> i64 {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `cout` is never read
[INFO] [stdout]    --> src/voice/kokoro.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout]  96 | struct Rb {
[INFO] [stdout]     |        -- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 104 |     cout: usize,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `ids` is never used
[INFO] [stdout]    --> src/voice/kokoro.rs:430:12
[INFO] [stdout]     |
[INFO] [stdout] 359 | impl Model {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 430 |     pub fn ids(&self, phonemes: &str) -> Result<Vec<u8>, char> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `len` is never used
[INFO] [stdout]   --> src/voice/vfile.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl Entry {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `len` is never used
[INFO] [stdout]    --> src/voice/vfile.rs:130:12
[INFO] [stdout]     |
[INFO] [stdout]  67 | impl VoiceFile {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub fn len(&self) -> 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: constant `SUPER_LAST` is never used
[INFO] [stdout]    --> src/dev/kbd.rs:537:11
[INFO] [stdout]     |
[INFO] [stdout] 537 | pub const SUPER_LAST: u8 = 0xE3;
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GET_CONNECTION_SELECT` is never used
[INFO] [stdout]   --> src/dev/hda/verb.rs:41:11
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub const GET_CONNECTION_SELECT: u32 = 0xF01;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FUNCTION_RESET` is never used
[INFO] [stdout]   --> src/dev/hda/verb.rs:49:11
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub const FUNCTION_RESET: u32 = 0x7FF;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `P_REVISION` is never used
[INFO] [stdout]   --> src/dev/hda/verb.rs:57:11
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub const P_REVISION: u8 = 0x02;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WCAP_STEREO` is never used
[INFO] [stdout]    --> src/dev/hda/verb.rs:108:11
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub const WCAP_STEREO: u32 = 1 << 0;
[INFO] [stdout]     |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WCAP_AMP_IN` is never used
[INFO] [stdout]    --> src/dev/hda/verb.rs:109:11
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub const WCAP_AMP_IN: u32 = 1 << 1;
[INFO] [stdout]     |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `bar0` and `desc` are never used
[INFO] [stdout]     --> src/dev/iwx/mod.rs:1652:12
[INFO] [stdout]      |
[INFO] [stdout] 1261 | impl Held {
[INFO] [stdout]      | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1652 |     pub fn bar0(&self) -> u64 {
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1656 |     pub fn desc(&self) -> usize {
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Write` is never constructed
[INFO] [stdout]     --> src/dev/iwx/mod.rs:1809:5
[INFO] [stdout]      |
[INFO] [stdout] 1800 | pub enum Step {
[INFO] [stdout]      |          ---- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 1809 |     Write(u64, u32),
[INFO] [stdout]      |     ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `Step` 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: variant `Mismatched` is never constructed
[INFO] [stdout]    --> src/dev/iwx/cmd.rs:112:5
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub enum CmdError {
[INFO] [stdout]     |          -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 112 |     Mismatched { want: (u8, u8), got: (u8, u8) },
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CmdError` 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: constant `RESERVED1` is never used
[INFO] [stdout]    --> src/dev/iwx/ctxt.rs:266:15
[INFO] [stdout]     |
[INFO] [stdout] 266 |     pub const RESERVED1: usize = 64;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RESERVED` is never used
[INFO] [stdout]   --> src/dev/iwx/gen3.rs:78:15
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub const RESERVED: usize = 76;
[INFO] [stdout]    |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TR_HEAD_IDX_ARR` is never used
[INFO] [stdout]    --> src/dev/iwx/gen3.rs:101:15
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub const TR_HEAD_IDX_ARR: usize = 40;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TR_IDX_ARR_SIZE` is never used
[INFO] [stdout]    --> src/dev/iwx/gen3.rs:103:15
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub const TR_IDX_ARR_SIZE: usize = 50;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MTR_DOORBELL_VEC` is never used
[INFO] [stdout]    --> src/dev/iwx/gen3.rs:110:15
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub const MTR_DOORBELL_VEC: usize = 72;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MCR_DOORBELL_VEC` is never used
[INFO] [stdout]    --> src/dev/iwx/gen3.rs:111:15
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub const MCR_DOORBELL_VEC: usize = 74;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MTR_MSI_VEC` is never used
[INFO] [stdout]    --> src/dev/iwx/gen3.rs:112:15
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub const MTR_MSI_VEC: usize = 76;
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MCR_MSI_VEC` is never used
[INFO] [stdout]    --> src/dev/iwx/gen3.rs:113:15
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub const MCR_MSI_VEC: usize = 78;
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MTR_OPT_FOOTER_SIZE` is never used
[INFO] [stdout]    --> src/dev/iwx/gen3.rs:115:15
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub const MTR_OPT_FOOTER_SIZE: usize = 81;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MCR_OPT_HEADER_SIZE` is never used
[INFO] [stdout]    --> src/dev/iwx/gen3.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |     pub const MCR_OPT_HEADER_SIZE: usize = 82;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MCR_OPT_FOOTER_SIZE` is never used
[INFO] [stdout]    --> src/dev/iwx/gen3.rs:117:15
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub const MCR_OPT_FOOTER_SIZE: usize = 83;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PRPH_INFO_MSI_VEC` is never used
[INFO] [stdout]    --> src/dev/iwx/gen3.rs:119:15
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub const PRPH_INFO_MSI_VEC: usize = 86;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RESERVED` is never used
[INFO] [stdout]    --> src/dev/iwx/gen3.rs:122:15
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub const RESERVED: usize = 100;
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FLAGS` is never used
[INFO] [stdout]    --> src/dev/iwx/nvm.rs:101:15
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub const FLAGS: usize = 0;
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SNOOZE_WINDOW` is never used
[INFO] [stdout]    --> src/dev/iwx/power.rs:168:15
[INFO] [stdout]     |
[INFO] [stdout] 168 |     pub const SNOOZE_WINDOW: usize = 28;
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SNOOZE_STEP` is never used
[INFO] [stdout]    --> src/dev/iwx/power.rs:169:15
[INFO] [stdout]     |
[INFO] [stdout] 169 |     pub const SNOOZE_STEP: usize = 30;
[INFO] [stdout]     |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QNDP_TID` is never used
[INFO] [stdout]    --> src/dev/iwx/power.rs:170:15
[INFO] [stdout]     |
[INFO] [stdout] 170 |     pub const QNDP_TID: usize = 31;
[INFO] [stdout]     |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEAVY_RX_THLD_PACKETS` is never used
[INFO] [stdout]    --> src/dev/iwx/power.rs:174:15
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub const HEAVY_RX_THLD_PACKETS: usize = 35;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEAVY_TX_THLD_PERCENTAGE` is never used
[INFO] [stdout]    --> src/dev/iwx/power.rs:175:15
[INFO] [stdout]     |
[INFO] [stdout] 175 |     pub const HEAVY_TX_THLD_PERCENTAGE: usize = 36;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEAVY_RX_THLD_PERCENTAGE` is never used
[INFO] [stdout]    --> src/dev/iwx/power.rs:176:15
[INFO] [stdout]     |
[INFO] [stdout] 176 |     pub const HEAVY_RX_THLD_PERCENTAGE: usize = 37;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROBE_BUF` is never used
[INFO] [stdout]   --> src/dev/iwx/scan.rs:69:7
[INFO] [stdout]    |
[INFO] [stdout] 69 | const PROBE_BUF: usize = 512;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SSID_SLOTS` is never used
[INFO] [stdout]   --> src/dev/iwx/scan.rs:70:7
[INFO] [stdout]    |
[INFO] [stdout] 70 | const SSID_SLOTS: usize = 20;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `raw` and `loadable` are never used
[INFO] [stdout]    --> src/dev/iwx/fw.rs:102:12
[INFO] [stdout]     |
[INFO] [stdout]  85 | impl Kind {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn raw(&self) -> u32 {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub fn loadable(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TX_FLAGS_HIGH_PRI` is never used
[INFO] [stdout]    --> src/dev/iwx/join.rs:483:11
[INFO] [stdout]     |
[INFO] [stdout] 483 | pub const TX_FLAGS_HIGH_PRI: u16 = 1 << 2;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `power_state` is never used
[INFO] [stdout]    --> src/dev/pci.rs:257:8
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub fn power_state(ecam: u64, d: &Device) -> Option<u8> {
[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:159:8
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub trait Radio {
[INFO] [stdout]     |           ----- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 159 |     fn stop(&mut self);
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generation` is never used
[INFO] [stdout]    --> src/dev/manager.rs:140:8
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub fn generation() -> u64 {
[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:745:8
[INFO] [stdout]     |
[INFO] [stdout] 745 | pub fn in_role(role: Role) -> Vec<&'static Node> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `take_relative` is never used
[INFO] [stdout]    --> src/dev/mouse.rs:239:8
[INFO] [stdout]     |
[INFO] [stdout] 239 | 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: 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 `usb_ethernet` is never used
[INFO] [stdout]    --> src/dev/xhci.rs:259:8
[INFO] [stdout]     |
[INFO] [stdout] 259 | pub fn usb_ethernet() -> Option<(u16, u16)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `vendor` is never used
[INFO] [stdout]     --> src/dev/xhci.rs:1092:12
[INFO] [stdout]      |
[INFO] [stdout]  739 | impl Controller {
[INFO] [stdout]      | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1092 |     pub fn vendor(
[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:273:5
[INFO] [stdout]     |
[INFO] [stdout] 271 | pub struct Shape {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] 272 |     rows: alloc::vec::Vec<(u32, u32)>,
[INFO] [stdout] 273 |     w: u32,
[INFO] [stdout]     |     ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `width` and `height` are never used
[INFO] [stdout]    --> src/gfx/mod.rs:342:12
[INFO] [stdout]     |
[INFO] [stdout] 276 | impl Shape {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 342 |     pub fn width(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 346 |     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:84:12
[INFO] [stdout]    |
[INFO] [stdout] 65 | impl Browser {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 84 |     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:1083:12
[INFO] [stdout]      |
[INFO] [stdout]  354 | impl Console {
[INFO] [stdout]      | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1083 |     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:1511:8
[INFO] [stdout]      |
[INFO] [stdout] 1511 | 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:459:8
[INFO] [stdout]     |
[INFO] [stdout] 459 | 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:463:8
[INFO] [stdout]     |
[INFO] [stdout] 463 | pub fn extra_count() -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TITLE_OFF` is never used
[INFO] [stdout]    --> src/gfx/theme.rs:165:11
[INFO] [stdout]     |
[INFO] [stdout] 165 | pub const TITLE_OFF: [(u8, Color); 6] = [
[INFO] [stdout]     |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `frame` is never read
[INFO] [stdout]    --> src/gfx/theme.rs:581:9
[INFO] [stdout]     |
[INFO] [stdout] 580 | pub struct Chrome {
[INFO] [stdout]     |            ------ field in this struct
[INFO] [stdout] 581 |     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:1080:8
[INFO] [stdout]      |
[INFO] [stdout] 1080 | pub fn separator_v(fb: &Framebuffer, x: u32, y: u32, h: u32) {
[INFO] [stdout]      |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gauge` is never used
[INFO] [stdout]     --> src/gfx/theme.rs:1104:8
[INFO] [stdout]      |
[INFO] [stdout] 1104 | 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:1142:8
[INFO] [stdout]      |
[INFO] [stdout] 1142 | 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:1192:8
[INFO] [stdout]      |
[INFO] [stdout] 1192 | 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:1208:8
[INFO] [stdout]      |
[INFO] [stdout] 1208 | 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:214:8
[INFO] [stdout]     |
[INFO] [stdout] 194 | impl Widget {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 214 |     fn trace(&self, focused: bool) -> (char, &str, usize) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_title` and `trace` are never used
[INFO] [stdout]    --> src/gfx/ui.rs:420:12
[INFO] [stdout]     |
[INFO] [stdout] 248 | impl Panel {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 420 |     pub fn set_title(&mut self, t: &str) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 667 |     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:805:4
[INFO] [stdout]     |
[INFO] [stdout] 805 | 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:2798:4
[INFO] [stdout]      |
[INFO] [stdout] 2798 | fn size_grip(frame: Rect) -> Rect {
[INFO] [stdout]      |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AMBER` is never used
[INFO] [stdout]    --> src/gfx/mod.rs:239:15
[INFO] [stdout]     |
[INFO] [stdout] 239 |     pub const AMBER: Color = Color::new(0xDD, 0xA3, 0x3C);
[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:1413:12
[INFO] [stdout]      |
[INFO] [stdout] 1356 | impl Interp {
[INFO] [stdout]      | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1413 |     pub fn caps(&self) -> Caps {
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1498 |     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: method `bytes_mut` is never used
[INFO] [stdout]    --> src/linux/fs.rs:222:12
[INFO] [stdout]     |
[INFO] [stdout] 209 | impl Memfd {
[INFO] [stdout]     | ---------- method in this implementation
[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:132:12
[INFO] [stdout]     |
[INFO] [stdout] 132 |     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] 132 -     Placed(Exec),
[INFO] [stdout] 132 +     Placed(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `holding` is never used
[INFO] [stdout]    --> src/linux/dev.rs:391:8
[INFO] [stdout]     |
[INFO] [stdout] 391 | 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 `delivered` is never used
[INFO] [stdout]    --> src/linux/signal.rs:310:8
[INFO] [stdout]     |
[INFO] [stdout] 310 | 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 `write_sockaddr` is never used
[INFO] [stdout]     --> src/linux/syscall.rs:2167:4
[INFO] [stdout]      |
[INFO] [stdout] 2167 | 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:246:15
[INFO] [stdout]     |
[INFO] [stdout] 243 | impl Perm {
[INFO] [stdout]     | --------- associated constants in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 246 |     pub const RX: Perm = Perm { present: true, write: false, exec: true, user: false };
[INFO] [stdout]     |               ^^
[INFO] [stdout] 247 |     pub const RWX: Perm = Perm { present: true, write: true, exec: true, user: false };
[INFO] [stdout] 248 |     pub const NONE: Perm = Perm { present: false, write: false, exec: false, user: false };
[INFO] [stdout]     |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `name` and `hash_cost` are never used
[INFO] [stdout]    --> src/mine/algo.rs:121:12
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl Algo {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] 121 |     pub fn name(&self) -> &'static str {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 221 |     pub fn hash_cost(&self) -> Option<f64> {
[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:230:8
[INFO] [stdout]     |
[INFO] [stdout] 230 | 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:295:8
[INFO] [stdout]     |
[INFO] [stdout] 295 | 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:324:8
[INFO] [stdout]     |
[INFO] [stdout] 324 | 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:487:8
[INFO] [stdout]     |
[INFO] [stdout] 487 | 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:495:8
[INFO] [stdout]     |
[INFO] [stdout] 495 | 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:507:8
[INFO] [stdout]     |
[INFO] [stdout] 507 | pub fn parse_hello(params: &Json) -> Option<Hello> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list` is never used
[INFO] [stdout]   --> src/mine/reward.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub fn list() -> alloc::string::String {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `MAX` and `is_zero` are never used
[INFO] [stdout]   --> src/mine/u256.rs:23:15
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl U256 {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub const MAX: U256 = U256 { w: [u32::MAX; 8] };
[INFO] [stdout]    |               ^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     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:264:9
[INFO] [stdout]     |
[INFO] [stdout] 255 | pub struct Snapshot {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 264 |     pub verified: bool,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `params` is never used
[INFO] [stdout]    --> src/mine/yespower.rs:227:12
[INFO] [stdout]     |
[INFO] [stdout] 164 | impl Yespower {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 227 |     pub fn params(&self) -> (u32, u32) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_ipv4_from` is never used
[INFO] [stdout]     --> src/net/mod.rs:1164:15
[INFO] [stdout]      |
[INFO] [stdout] 1164 | pub(crate) fn send_ipv4_from(src: Ipv4, dst: Ipv4, proto: u8, payload: &[u8]) -> bool {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `echo` is never used
[INFO] [stdout]    --> src/net/softmac.rs:451:12
[INFO] [stdout]     |
[INFO] [stdout] 428 | impl Loopback {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 451 |     pub fn echo(&mut self) {
[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: variant `Closed` is never constructed
[INFO] [stdout]   --> src/net/ws.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub enum Error {
[INFO] [stdout]    |          ----- variant in this enum
[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: field `0` is never read
[INFO] [stdout]    --> src/net/ws.rs:132:11
[INFO] [stdout]     |
[INFO] [stdout] 132 |     Close(u16),
[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] 132 -     Close(u16),
[INFO] [stdout] 132 +     Close(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_from` is never used
[INFO] [stdout]    --> src/net/udp.rs:184:8
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub fn send_from(src: Ipv4, dst: Ipv4, dst_port: u16, src_port: u16, payload: &[u8]) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SUBCLASS_OTHER` is never used
[INFO] [stdout]   --> src/net/wifi.rs:56:7
[INFO] [stdout]    |
[INFO] [stdout] 56 | 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:142:4
[INFO] [stdout]     |
[INFO] [stdout] 142 | 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:150:4
[INFO] [stdout]     |
[INFO] [stdout] 150 | 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: function `cpu_deposits` is never used
[INFO] [stdout]    --> src/rng/mod.rs:300:8
[INFO] [stdout]     |
[INFO] [stdout] 300 | pub fn cpu_deposits() -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `globals` is never used
[INFO] [stdout]    --> src/sky/client.rs:112:12
[INFO] [stdout]     |
[INFO] [stdout]  90 | impl Client {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn globals(&self) -> &[Global] {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clients` is never used
[INFO] [stdout]   --> src/sky/server.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub fn clients() -> usize {
[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:961:4
[INFO] [stdout]     |
[INFO] [stdout] 961 | 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:1165:8
[INFO] [stdout]      |
[INFO] [stdout] 1165 | 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:1170:8
[INFO] [stdout]      |
[INFO] [stdout] 1170 | 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:1198:8
[INFO] [stdout]      |
[INFO] [stdout] 1198 | pub fn ring3_stack() -> u64 {
[INFO] [stdout]      |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dump` is never used
[INFO] [stdout]     --> src/task.rs:1244:8
[INFO] [stdout]      |
[INFO] [stdout] 1244 | 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:157:34
[INFO] [stdout]     |
[INFO] [stdout] 157 |         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] 157 |         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:1422:60
[INFO] [stdout]      |
[INFO] [stdout] 1422 |         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] 1422 |         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:1437:70
[INFO] [stdout]      |
[INFO] [stdout] 1437 |             && 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] 1437 |             && 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:661:53
[INFO] [stdout]     |
[INFO] [stdout] 661 |         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] 661 |         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 25.19s
[INFO] running `Command { std: "docker" "inspect" "bf9634705d9229e0ee7088aaac47ad87e43084b81b8e2b79912867397713c7e4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bf9634705d9229e0ee7088aaac47ad87e43084b81b8e2b79912867397713c7e4", kill_on_drop: false }`
[INFO] [stdout] bf9634705d9229e0ee7088aaac47ad87e43084b81b8e2b79912867397713c7e4
