[INFO] cloning repository https://github.com/ierwarf/rustos
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ierwarf/rustos" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fierwarf%2Frustos", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fierwarf%2Frustos'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b6f36b201461388f309b96cfe34b0f69bf40d10e
[INFO] checking ierwarf/rustos against try#012cd62c9add58ab3910e44c137d87db3ab70f61 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fierwarf%2Frustos" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-5-tc2/source/.cargo/config.toml
[INFO] removed /workspace/builds/worker-5-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/ierwarf/rustos
[INFO] finished tweaking git repo https://github.com/ierwarf/rustos
[INFO] tweaked toml for git repo https://github.com/ierwarf/rustos written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ierwarf/rustos on toolchain 012cd62c9add58ab3910e44c137d87db3ab70f61
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ierwarf/rustos 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" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b5179291dcf2e41f2c87b1a1b6f709b65f4ce47e1823446ed7fc80f59ca78893
[INFO] running `Command { std: "docker" "start" "-a" "b5179291dcf2e41f2c87b1a1b6f709b65f4ce47e1823446ed7fc80f59ca78893", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b5179291dcf2e41f2c87b1a1b6f709b65f4ce47e1823446ed7fc80f59ca78893", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b5179291dcf2e41f2c87b1a1b6f709b65f4ce47e1823446ed7fc80f59ca78893", kill_on_drop: false }`
[INFO] [stdout] b5179291dcf2e41f2c87b1a1b6f709b65f4ce47e1823446ed7fc80f59ca78893
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c73ed7f9e160e2a63fee5cc3a56f954eb56a7f62f99b5a77311c5c468968dc0f
[INFO] running `Command { std: "docker" "start" "-a" "c73ed7f9e160e2a63fee5cc3a56f954eb56a7f62f99b5a77311c5c468968dc0f", kill_on_drop: false }`
[INFO] [stderr]     Checking bitflags v2.11.0
[INFO] [stderr]    Compiling const_fn v0.4.12
[INFO] [stderr]    Compiling az v1.2.1
[INFO] [stderr]    Compiling nucleus-core v0.1.0 (/opt/rustwide/workdir/kernel/nucleus-core)
[INFO] [stderr]    Compiling libc v0.2.184
[INFO] [stderr]     Checking boot-protocol v0.1.0 (/opt/rustwide/workdir/boot/boot-protocol)
[INFO] [stderr]     Checking os_observatory v0.1.1
[INFO] [stderr]     Checking rustos-observability v0.1.0 (/opt/rustwide/workdir/libs/rustos-observability)
[INFO] [stderr]     Checking rand_core v0.10.0
[INFO] [stderr]    Compiling object v0.38.1
[INFO] [stderr]     Checking volatile v0.4.6
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking spin v0.10.0
[INFO] [stderr]    Compiling kernel-mm v0.1.0 (/opt/rustwide/workdir/kernel/mm)
[INFO] [stderr]     Checking float-cmp v0.9.0
[INFO] [stderr]     Checking micromath v2.1.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]     Checking linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling kernel-hal v0.1.0 (/opt/rustwide/workdir/kernel/hal)
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]    Compiling heapless v0.9.3
[INFO] [stderr]    Compiling observability-client v0.1.0 (/opt/rustwide/workdir/libs/observability-client)
[INFO] [stderr]     Checking memchr v2.8.0
[INFO] [stderr]    Compiling wayland-sys v0.31.11
[INFO] [stderr]    Compiling kernel-ps v0.1.0 (/opt/rustwide/workdir/kernel/ps)
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]    Compiling cc v1.2.59
[INFO] [stderr]     Checking num-traits v0.2.19
[INFO] [stderr]    Compiling smoltcp v0.13.0
[INFO] [stderr]     Checking lock_api v0.4.14
[INFO] [stderr]     Checking bit_field v0.10.3
[INFO] [stderr]    Compiling hidreport v0.6.0
[INFO] [stderr]     Checking buddy_system_allocator v0.12.0
[INFO] [stderr]     Checking driver-abi v0.1.0 (/opt/rustwide/workdir/drivers/libs/driver-abi)
[INFO] [stderr]     Checking fatfs v0.4.0 (https://github.com/rafalh/rust-fatfs#c4b88477)
[INFO] [stderr]    Compiling kernel-io-manager v0.1.0 (/opt/rustwide/workdir/kernel/io-manager)
[INFO] [stderr]     Checking pc-keyboard v0.8.0
[INFO] [stderr]     Checking x86_64 v0.15.4
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking rustos-user-abi v0.1.0 (/opt/rustwide/workdir/libs/rustos-user-abi)
[INFO] [stderr]     Checking keyboard-core v0.1.0 (/opt/rustwide/workdir/drivers/libs/keyboard-core)
[INFO] [stderr]     Checking log v0.4.29
[INFO] [stderr]    Compiling kernel-compat v0.1.0 (/opt/rustwide/workdir/kernel/compat)
[INFO] [stderr]     Checking embedded-graphics-core v0.4.1
[INFO] [stderr]     Checking storage-core v0.1.0 (/opt/rustwide/workdir/libs/storage-core)
[INFO] [stderr]     Checking vte v0.15.0
[INFO] [stderr]     Checking accessor v0.3.3
[INFO] [stderr]     Checking storage-fat v0.1.0 (/opt/rustwide/workdir/libs/storage-fat)
[INFO] [stderr]     Checking managed v0.8.0
[INFO] [stderr]     Checking cfg-if v1.0.4
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]     Checking embedded-graphics v0.8.2
[INFO] [stderr]     Checking tock-registers v0.10.1
[INFO] [stderr]     Checking elf v0.8.0
[INFO] [stderr]     Checking kernel-lowlevel v0.1.0 (/opt/rustwide/workdir/kernel/lowlevel)
[INFO] [stderr]     Checking pic8259 v0.11.0
[INFO] [stderr]     Checking hash32 v0.3.1
[INFO] [stderr]     Checking serde_core v1.0.228
[INFO] [stderr]    Compiling wayland-backend v0.3.15
[INFO] [stderr]     Checking downcast-rs v1.2.1
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking zero v0.1.3
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]     Checking stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling kernel-executive v0.1.0 (/opt/rustwide/workdir/kernel/executive)
[INFO] [stderr]     Checking xmas-elf v0.9.1
[INFO] [stderr]    Compiling fs-err v3.3.0
[INFO] [stderr]    Compiling ttf-parser v0.21.1
[INFO] [stderr]     Checking utf8parse v0.2.2
[INFO] [stderr]     Checking unicode-ident v1.0.24
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]     Checking anstyle-parse v1.0.0
[INFO] [stderr]     Checking proc-macro2 v1.0.106
[INFO] [stderr]     Checking runtime-control v0.1.0 (/opt/rustwide/workdir/libs/runtime-control)
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]     Checking colorchoice v1.0.5
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.2
[INFO] [stderr]     Checking equivalent v1.0.2
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]     Checking anstyle v1.0.14
[INFO] [stderr]     Checking anstyle-query v1.1.5
[INFO] [stderr]     Checking indexmap v2.13.1
[INFO] [stderr]     Checking anstream v1.0.0
[INFO] [stderr]     Checking quote v1.0.45
[INFO] [stderr]     Checking strsim v0.11.1
[INFO] [stderr]    Compiling runtimed v0.1.0 (/opt/rustwide/workdir/services/runtimed)
[INFO] [stderr]     Checking winnow v0.7.15
[INFO] [stderr]    Compiling inputd v0.1.0 (/opt/rustwide/workdir/services/inputd)
[INFO] [stderr]    Compiling fontdue v0.9.3
[INFO] [stderr]    Compiling nucleus v0.1.0 (/opt/rustwide/workdir/kernel)
[INFO] [stderr]    Compiling initd v0.1.0 (/opt/rustwide/workdir/services/initd)
[INFO] [stderr]    Compiling storaged v0.1.0 (/opt/rustwide/workdir/services/storaged)
[INFO] [stderr]    Compiling sessiond v0.1.0 (/opt/rustwide/workdir/services/sessiond)
[INFO] [stderr]     Checking clap_lex v1.1.0
[INFO] [stderr]     Checking toml_write v0.1.2
[INFO] [stderr]     Checking clap_builder v4.6.0
[INFO] [stderr]     Checking xhci v0.9.2
[INFO] [stderr]     Checking getrandom v0.4.2
[INFO] [stderr]     Checking driver-module-runtime v0.1.0 (/opt/rustwide/workdir/drivers/libs/driver-module-runtime)
[INFO] [stderr]     Checking once_cell v1.21.4
[INFO] [stderr]     Checking fastrand v2.4.1
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]    Compiling uiserver v0.1.0 (/opt/rustwide/workdir/services/uiserver)
[INFO] [stderr]    Compiling zerocopy-derive v0.8.48
[INFO] [stderr]    Compiling trace-loc-macro v0.1.0 (/opt/rustwide/workdir/libs/trace-loc-macro)
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling enumn v0.1.14
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking wayland-client v0.31.14
[INFO] [stderr]     Checking wayland-server v0.31.13
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]     Checking anyhow v1.0.102
[INFO] [stderr]     Checking rustos-amdgpu-driver v0.1.0 (/opt/rustwide/workdir/drivers/bridges/display/amdgpu)
[INFO] [stderr]     Checking rustos-bootfb-driver v0.1.0 (/opt/rustwide/workdir/drivers/bridges/display/bootfb)
[INFO] [stderr]     Checking rustos-keyboard-driver v0.1.0 (/opt/rustwide/workdir/drivers/bridges/input/keyboard)
[INFO] [stderr]     Checking zerocopy v0.8.48
[INFO] [stderr]     Checking wayland-protocols v0.32.12
[INFO] [stderr]     Checking clap v4.6.0
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking xtask v0.1.0 (/opt/rustwide/workdir/tools/xtask)
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking safe-mmio v0.3.0
[INFO] [stderr]     Checking rand_chacha v0.10.0
[INFO] [stderr]     Checking virtio-drivers v0.13.0
[INFO] [stderr]     Checking boot-random v0.1.0 (/opt/rustwide/workdir/libs/boot-random)
[INFO] [stderr]     Checking module-tests v0.1.0 (/opt/rustwide/workdir/tests/module-tests)
[INFO] [stdout] warning: unused import: `core::str`
[INFO] [stdout]  --> kernel/nucleus-core/src/debug/boot_trace.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use core::str;
[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: `core::str`
[INFO] [stdout]  --> kernel/nucleus-core/src/debug/boot_trace.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use core::str;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking kernel-object v0.1.0 (/opt/rustwide/workdir/kernel/object)
[INFO] [stdout] warning: associated function `for_tests` is never used
[INFO] [stdout]   --> kernel/object/src/session.rs:36:25
[INFO] [stdout]    |
[INFO] [stdout]  4 | impl ConsoleSessionHandle {
[INFO] [stdout]    | ------------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub(crate) const fn for_tests(slot_index: u32, generation: u32) -> Self {
[INFO] [stdout]    |                         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking kernel-ipc-runtime v0.1.0 (/opt/rustwide/workdir/kernel/ipc-runtime)
[INFO] [stdout] warning: unused import: `kernel_mm::api as memory`
[INFO] [stdout]   --> kernel/ipc-runtime/src/lib.rs:14:16
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub(crate) use kernel_mm::api as memory;
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PAGE_SIZE` is never used
[INFO] [stdout]   --> kernel/ipc-runtime/src/ipc/mod.rs:21:7
[INFO] [stdout]    |
[INFO] [stdout] 21 | const PAGE_SIZE: usize = 4096;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::str`
[INFO] [stdout]  --> kernel/nucleus-core/src/debug/boot_trace.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use core::str;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEAP_ORDER` is never used
[INFO] [stdout]   --> kernel/mm/src/memory/heap.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | const HEAP_ORDER: usize = 32;
[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 `PAGE_SIZE` is never used
[INFO] [stdout]   --> kernel/mm/src/memory/heap.rs:20:7
[INFO] [stdout]    |
[INFO] [stdout] 20 | const PAGE_SIZE: usize = 4096;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_HEAP_SIZE` is never used
[INFO] [stdout]   --> kernel/mm/src/memory/heap.rs:21:7
[INFO] [stdout]    |
[INFO] [stdout] 21 | const MIN_HEAP_SIZE: usize = 64 * 1024 * 1024;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_HEAP_SIZE` is never used
[INFO] [stdout]   --> kernel/mm/src/memory/heap.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const MAX_HEAP_SIZE: usize = 512 * 1024 * 1024;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `HEAP_INIT` is never used
[INFO] [stdout]   --> kernel/mm/src/memory/heap.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | static HEAP_INIT: Once<()> = Once::new();
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `ALLOCATION_TRACKER` is never used
[INFO] [stdout]   --> kernel/mm/src/memory/heap.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | static ALLOCATION_TRACKER: Mutex<AllocationTracker> = Mutex::new(AllocationTracker::new());
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `size` and `align` are never read
[INFO] [stdout]   --> kernel/mm/src/memory/heap.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 65 | struct FreedAllocEntry {
[INFO] [stdout]    |        --------------- fields in this struct
[INFO] [stdout] 66 |     ptr: usize,
[INFO] [stdout] 67 |     size: usize,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 68 |     align: usize,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FreedAllocEntry` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `recent_freed_layout`, `expected_layout`, and `occupancy` are never used
[INFO] [stdout]    --> kernel/mm/src/memory/heap.rs:216:8
[INFO] [stdout]     |
[INFO] [stdout]  99 | impl AllocationTracker {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 216 |     fn recent_freed_layout(&self, ptr: usize) -> Option<(usize, usize)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 |     fn expected_layout(&self, ptr: usize) -> Option<(usize, usize)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     fn occupancy(&self) -> TrackerOccupancy {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TrackerOccupancy` is never constructed
[INFO] [stdout]    --> kernel/mm/src/memory/heap.rs:262:8
[INFO] [stdout]     |
[INFO] [stdout] 262 | struct TrackerOccupancy {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `heap_violation_log` is never used
[INFO] [stdout]    --> kernel/mm/src/memory/heap.rs:368:4
[INFO] [stdout]     |
[INFO] [stdout] 368 | fn heap_violation_log(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `heap_tracker_overflow_log` is never used
[INFO] [stdout]    --> kernel/mm/src/memory/heap.rs:408:4
[INFO] [stdout]     |
[INFO] [stdout] 408 | fn heap_tracker_overflow_log(_ptr: usize, _layout: Layout, _occupancy: TrackerOccupancy) {}
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking wayclick v0.1.0 (/opt/rustwide/workdir/apps/wayclick)
[INFO] [stdout] warning: unused variable: `linux_irq_owner_count`
[INFO] [stdout]    --> kernel/hal/src/arch/rtc.rs:296:13
[INFO] [stdout]     |
[INFO] [stdout] 296 |         let linux_irq_owner_count = snapshot.linux_irq_owner_count;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_linux_irq_owner_count`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `linux_input_lock_active`
[INFO] [stdout]    --> kernel/hal/src/arch/rtc.rs:298:13
[INFO] [stdout]     |
[INFO] [stdout] 298 |         let linux_input_lock_active = snapshot.linux_input_lock_active;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_linux_input_lock_active`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `linux_input_lock_last_seq`
[INFO] [stdout]    --> kernel/hal/src/arch/rtc.rs:299:13
[INFO] [stdout]     |
[INFO] [stdout] 299 |         let linux_input_lock_last_seq = snapshot.linux_input_lock_last_seq;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_linux_input_lock_last_seq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xhci_delta`
[INFO] [stdout]    --> kernel/hal/src/arch/rtc.rs:300:13
[INFO] [stdout]     |
[INFO] [stdout] 300 |         let xhci_delta = xhci_transfer_count.saturating_sub(
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_xhci_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hid_pointer_delta`
[INFO] [stdout]    --> kernel/hal/src/arch/rtc.rs:303:13
[INFO] [stdout]     |
[INFO] [stdout] 303 |         let hid_pointer_delta = hid_pointer_report_count.saturating_sub(
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hid_pointer_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_packet_delta`
[INFO] [stdout]    --> kernel/hal/src/arch/rtc.rs:306:13
[INFO] [stdout]     |
[INFO] [stdout] 306 |         let input_packet_delta = input_snapshot.pointer_packet_submits.saturating_sub(
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_packet_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_absolute_delta`
[INFO] [stdout]    --> kernel/hal/src/arch/rtc.rs:310:13
[INFO] [stdout]     |
[INFO] [stdout] 310 |         let input_absolute_delta = input_snapshot.pointer_absolute_submits.saturating_sub(
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_absolute_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_read_call_delta`
[INFO] [stdout]    --> kernel/hal/src/arch/rtc.rs:314:13
[INFO] [stdout]     |
[INFO] [stdout] 314 |         let input_read_call_delta = input_snapshot.read_calls.saturating_sub(
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_read_call_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_read_event_delta`
[INFO] [stdout]    --> kernel/hal/src/arch/rtc.rs:317:13
[INFO] [stdout]     |
[INFO] [stdout] 317 |         let input_read_event_delta = input_snapshot.read_events.saturating_sub(
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_read_event_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `linux_irq_depth_delta`
[INFO] [stdout]    --> kernel/hal/src/arch/rtc.rs:320:13
[INFO] [stdout]     |
[INFO] [stdout] 320 |         let linux_irq_depth_delta = (linux_irq_total_depth as u64).saturating_sub(
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_linux_irq_depth_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `linux_irq_owner_count`
[INFO] [stdout]    --> kernel/hal/src/arch/rtc.rs:296:13
[INFO] [stdout]     |
[INFO] [stdout] 296 |         let linux_irq_owner_count = snapshot.linux_irq_owner_count;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_linux_irq_owner_count`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `linux_input_lock_active`
[INFO] [stdout]    --> kernel/hal/src/arch/rtc.rs:298:13
[INFO] [stdout]     |
[INFO] [stdout] 298 |         let linux_input_lock_active = snapshot.linux_input_lock_active;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_linux_input_lock_active`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `linux_input_lock_last_seq`
[INFO] [stdout]    --> kernel/hal/src/arch/rtc.rs:299:13
[INFO] [stdout]     |
[INFO] [stdout] 299 |         let linux_input_lock_last_seq = snapshot.linux_input_lock_last_seq;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_linux_input_lock_last_seq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xhci_delta`
[INFO] [stdout]    --> kernel/hal/src/arch/rtc.rs:300:13
[INFO] [stdout]     |
[INFO] [stdout] 300 |         let xhci_delta = xhci_transfer_count.saturating_sub(
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_xhci_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hid_pointer_delta`
[INFO] [stdout]    --> kernel/hal/src/arch/rtc.rs:303:13
[INFO] [stdout]     |
[INFO] [stdout] 303 |         let hid_pointer_delta = hid_pointer_report_count.saturating_sub(
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hid_pointer_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_packet_delta`
[INFO] [stdout]    --> kernel/hal/src/arch/rtc.rs:306:13
[INFO] [stdout]     |
[INFO] [stdout] 306 |         let input_packet_delta = input_snapshot.pointer_packet_submits.saturating_sub(
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_packet_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_absolute_delta`
[INFO] [stdout]    --> kernel/hal/src/arch/rtc.rs:310:13
[INFO] [stdout]     |
[INFO] [stdout] 310 |         let input_absolute_delta = input_snapshot.pointer_absolute_submits.saturating_sub(
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_absolute_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_read_call_delta`
[INFO] [stdout]    --> kernel/hal/src/arch/rtc.rs:314:13
[INFO] [stdout]     |
[INFO] [stdout] 314 |         let input_read_call_delta = input_snapshot.read_calls.saturating_sub(
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_read_call_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_read_event_delta`
[INFO] [stdout]    --> kernel/hal/src/arch/rtc.rs:317:13
[INFO] [stdout]     |
[INFO] [stdout] 317 |         let input_read_event_delta = input_snapshot.read_events.saturating_sub(
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_read_event_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `linux_irq_depth_delta`
[INFO] [stdout]    --> kernel/hal/src/arch/rtc.rs:320:13
[INFO] [stdout]     |
[INFO] [stdout] 320 |         let linux_irq_depth_delta = (linux_irq_total_depth as u64).saturating_sub(
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_linux_irq_depth_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_throttle_spin` is never used
[INFO] [stdout]    --> services/uiserver/src/profile.rs:128:15
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub(crate) fn record_throttle_spin() {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `linux_irq_owner_count`
[INFO] [stdout]    --> kernel/hal/src/arch/rtc.rs:296:13
[INFO] [stdout]     |
[INFO] [stdout] 296 |         let linux_irq_owner_count = snapshot.linux_irq_owner_count;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_linux_irq_owner_count`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `linux_input_lock_active`
[INFO] [stdout]    --> kernel/hal/src/arch/rtc.rs:298:13
[INFO] [stdout]     |
[INFO] [stdout] 298 |         let linux_input_lock_active = snapshot.linux_input_lock_active;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_linux_input_lock_active`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `linux_input_lock_last_seq`
[INFO] [stdout]    --> kernel/hal/src/arch/rtc.rs:299:13
[INFO] [stdout]     |
[INFO] [stdout] 299 |         let linux_input_lock_last_seq = snapshot.linux_input_lock_last_seq;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_linux_input_lock_last_seq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xhci_delta`
[INFO] [stdout]    --> kernel/hal/src/arch/rtc.rs:300:13
[INFO] [stdout]     |
[INFO] [stdout] 300 |         let xhci_delta = xhci_transfer_count.saturating_sub(
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_xhci_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hid_pointer_delta`
[INFO] [stdout]    --> kernel/hal/src/arch/rtc.rs:303:13
[INFO] [stdout]     |
[INFO] [stdout] 303 |         let hid_pointer_delta = hid_pointer_report_count.saturating_sub(
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hid_pointer_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_packet_delta`
[INFO] [stdout]    --> kernel/hal/src/arch/rtc.rs:306:13
[INFO] [stdout]     |
[INFO] [stdout] 306 |         let input_packet_delta = input_snapshot.pointer_packet_submits.saturating_sub(
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_packet_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_absolute_delta`
[INFO] [stdout]    --> kernel/hal/src/arch/rtc.rs:310:13
[INFO] [stdout]     |
[INFO] [stdout] 310 |         let input_absolute_delta = input_snapshot.pointer_absolute_submits.saturating_sub(
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_absolute_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_read_call_delta`
[INFO] [stdout]    --> kernel/hal/src/arch/rtc.rs:314:13
[INFO] [stdout]     |
[INFO] [stdout] 314 |         let input_read_call_delta = input_snapshot.read_calls.saturating_sub(
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_read_call_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_read_event_delta`
[INFO] [stdout]    --> kernel/hal/src/arch/rtc.rs:317:13
[INFO] [stdout]     |
[INFO] [stdout] 317 |         let input_read_event_delta = input_snapshot.read_events.saturating_sub(
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_read_event_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `linux_irq_depth_delta`
[INFO] [stdout]    --> kernel/hal/src/arch/rtc.rs:320:13
[INFO] [stdout]     |
[INFO] [stdout] 320 |         let linux_irq_depth_delta = (linux_irq_total_depth as u64).saturating_sub(
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_linux_irq_depth_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_throttle_spin` is never used
[INFO] [stdout]    --> services/uiserver/src/profile.rs:128:15
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub(crate) fn record_throttle_spin() {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::hint::spin_loop`
[INFO] [stdout]  --> kernel/io-manager/src/driver/linux/input.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use core::hint::spin_loop;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_driver_class` is never used
[INFO] [stdout]   --> kernel/io-manager/src/driver/mod.rs:53:15
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub(crate) fn parse_driver_class(name: &str) -> Option<DriverClass> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_driver_bus` is never used
[INFO] [stdout]   --> kernel/io-manager/src/driver/mod.rs:58:15
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub(crate) fn parse_driver_bus(name: &str) -> Option<DriverBus> {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `restore_interrupts` is never read
[INFO] [stdout]   --> kernel/io-manager/src/driver/linux/input.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 62 | struct InputDevicesLock {
[INFO] [stdout]    |        ---------------- field in this struct
[INFO] [stdout] 63 |     guard: Option<MutexGuard<'static, Vec<CompatInputDevice>>>,
[INFO] [stdout] 64 |     restore_interrupts: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_module_image` is never used
[INFO] [stdout]    --> kernel/io-manager/src/driver/loader.rs:256:15
[INFO] [stdout]     |
[INFO] [stdout] 256 | pub(super) fn validate_module_image(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `push_pointer_position` is never used
[INFO] [stdout]   --> kernel/io-manager/src/input/event_queue.rs:46:15
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub(crate) fn push_pointer_position(x: u32, y: u32) {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `push_pointer_scroll` is never used
[INFO] [stdout]   --> kernel/io-manager/src/input/event_queue.rs:56:15
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub(crate) fn push_pointer_scroll(vertical: i16, horizontal: i16) {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `copy_recent_output_for_tests` is never used
[INFO] [stdout]   --> kernel/io-manager/src/io/console.rs:57:15
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub(crate) fn copy_recent_output_for_tests(dest: &mut [u8]) -> usize {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `draw_bgra8888_frame_from_kernel` is never used
[INFO] [stdout]    --> kernel/io-manager/src/io/gui/framebuffer.rs:327:19
[INFO] [stdout]     |
[INFO] [stdout] 113 | impl Framebuffer {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 327 |     pub(crate) fn draw_bgra8888_frame_from_kernel(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PCI_CLASS_MASS_STORAGE` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | const PCI_CLASS_MASS_STORAGE: u8 = 0x01;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PCI_SUBCLASS_SATA` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | const PCI_SUBCLASS_SATA: u8 = 0x06;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PCI_PROG_IF_AHCI` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:20:7
[INFO] [stdout]    |
[INFO] [stdout] 20 | const PCI_PROG_IF_AHCI: u8 = 0x01;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AHCI_BAR_INDEX` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:21:7
[INFO] [stdout]    |
[INFO] [stdout] 21 | const AHCI_BAR_INDEX: usize = 5;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HBA_CAP` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:23:7
[INFO] [stdout]    |
[INFO] [stdout] 23 | const HBA_CAP: usize = 0x00;
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HBA_GHC` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 | const HBA_GHC: usize = 0x04;
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HBA_PI` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:25:7
[INFO] [stdout]    |
[INFO] [stdout] 25 | const HBA_PI: usize = 0x0c;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HBA_VS` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:26:7
[INFO] [stdout]    |
[INFO] [stdout] 26 | const HBA_VS: usize = 0x10;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HBA_PORT_BASE` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:27:7
[INFO] [stdout]    |
[INFO] [stdout] 27 | const HBA_PORT_BASE: usize = 0x100;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HBA_PORT_STRIDE` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:28:7
[INFO] [stdout]    |
[INFO] [stdout] 28 | const HBA_PORT_STRIDE: usize = 0x80;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PORT_CLB` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:30:7
[INFO] [stdout]    |
[INFO] [stdout] 30 | const PORT_CLB: usize = 0x00;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PORT_CLBU` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:31:7
[INFO] [stdout]    |
[INFO] [stdout] 31 | const PORT_CLBU: usize = 0x04;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PORT_FB` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:32:7
[INFO] [stdout]    |
[INFO] [stdout] 32 | const PORT_FB: usize = 0x08;
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PORT_FBU` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:33:7
[INFO] [stdout]    |
[INFO] [stdout] 33 | const PORT_FBU: usize = 0x0c;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PORT_IS` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:34:7
[INFO] [stdout]    |
[INFO] [stdout] 34 | const PORT_IS: usize = 0x10;
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PORT_IE` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:35:7
[INFO] [stdout]    |
[INFO] [stdout] 35 | const PORT_IE: usize = 0x14;
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PORT_CMD` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:36:7
[INFO] [stdout]    |
[INFO] [stdout] 36 | const PORT_CMD: usize = 0x18;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PORT_TFD` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:37:7
[INFO] [stdout]    |
[INFO] [stdout] 37 | const PORT_TFD: usize = 0x20;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PORT_SIG` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:38:7
[INFO] [stdout]    |
[INFO] [stdout] 38 | const PORT_SIG: usize = 0x24;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PORT_SSTS` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:39:7
[INFO] [stdout]    |
[INFO] [stdout] 39 | const PORT_SSTS: usize = 0x28;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PORT_SERR` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:40:7
[INFO] [stdout]    |
[INFO] [stdout] 40 | const PORT_SERR: usize = 0x30;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PORT_SACT` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:41:7
[INFO] [stdout]    |
[INFO] [stdout] 41 | const PORT_SACT: usize = 0x34;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PORT_CI` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:42:7
[INFO] [stdout]    |
[INFO] [stdout] 42 | const PORT_CI: usize = 0x38;
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GHC_AE` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:44:7
[INFO] [stdout]    |
[INFO] [stdout] 44 | const GHC_AE: u32 = 1 << 31;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CAP_S64A` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:45:7
[INFO] [stdout]    |
[INFO] [stdout] 45 | const CAP_S64A: u32 = 1 << 31;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PORT_CMD_ST` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:47:7
[INFO] [stdout]    |
[INFO] [stdout] 47 | const PORT_CMD_ST: u32 = 1 << 0;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PORT_CMD_FRE` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:48:7
[INFO] [stdout]    |
[INFO] [stdout] 48 | const PORT_CMD_FRE: u32 = 1 << 4;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PORT_CMD_FR` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:49:7
[INFO] [stdout]    |
[INFO] [stdout] 49 | const PORT_CMD_FR: u32 = 1 << 14;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PORT_CMD_CR` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:50:7
[INFO] [stdout]    |
[INFO] [stdout] 50 | const PORT_CMD_CR: u32 = 1 << 15;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PORT_TFD_ERR` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:52:7
[INFO] [stdout]    |
[INFO] [stdout] 52 | const PORT_TFD_ERR: u32 = 1 << 0;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PORT_TFD_DRQ` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:53:7
[INFO] [stdout]    |
[INFO] [stdout] 53 | const PORT_TFD_DRQ: u32 = 1 << 3;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PORT_TFD_BSY` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:54:7
[INFO] [stdout]    |
[INFO] [stdout] 54 | const PORT_TFD_BSY: u32 = 1 << 7;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PORT_SSTS_DET_MASK` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:56:7
[INFO] [stdout]    |
[INFO] [stdout] 56 | const PORT_SSTS_DET_MASK: u32 = 0x0f;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PORT_SSTS_IPM_MASK` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:57:7
[INFO] [stdout]    |
[INFO] [stdout] 57 | const PORT_SSTS_IPM_MASK: u32 = 0x0f00;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PORT_SSTS_DET_PRESENT` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:58:7
[INFO] [stdout]    |
[INFO] [stdout] 58 | const PORT_SSTS_DET_PRESENT: u32 = 0x03;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SATA_SIGNATURE_ATA` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:60:7
[INFO] [stdout]    |
[INFO] [stdout] 60 | const SATA_SIGNATURE_ATA: u32 = 0x0000_0101;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FIS_TYPE_REG_H2D` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:62:7
[INFO] [stdout]    |
[INFO] [stdout] 62 | const FIS_TYPE_REG_H2D: u8 = 0x27;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ATA_CMD_IDENTIFY_DEVICE` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:63:7
[INFO] [stdout]    |
[INFO] [stdout] 63 | const ATA_CMD_IDENTIFY_DEVICE: u8 = 0xec;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ATA_CMD_READ_DMA` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:64:7
[INFO] [stdout]    |
[INFO] [stdout] 64 | const ATA_CMD_READ_DMA: u8 = 0xc8;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ATA_CMD_READ_DMA_EXT` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:65:7
[INFO] [stdout]    |
[INFO] [stdout] 65 | const ATA_CMD_READ_DMA_EXT: u8 = 0x25;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ATA_CMD_WRITE_DMA` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:66:7
[INFO] [stdout]    |
[INFO] [stdout] 66 | const ATA_CMD_WRITE_DMA: u8 = 0xca;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ATA_CMD_WRITE_DMA_EXT` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:67:7
[INFO] [stdout]    |
[INFO] [stdout] 67 | const ATA_CMD_WRITE_DMA_EXT: u8 = 0x35;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ATA_CMD_FLUSH_CACHE_EXT` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:68:7
[INFO] [stdout]    |
[INFO] [stdout] 68 | const ATA_CMD_FLUSH_CACHE_EXT: u8 = 0xea;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COMMAND_FIS_DWORDS` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:70:7
[INFO] [stdout]    |
[INFO] [stdout] 70 | const COMMAND_FIS_DWORDS: u16 = 5;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COMMAND_LIST_BYTES` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:71:7
[INFO] [stdout]    |
[INFO] [stdout] 71 | const COMMAND_LIST_BYTES: usize = 1024;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RECEIVED_FIS_BYTES` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:72:7
[INFO] [stdout]    |
[INFO] [stdout] 72 | const RECEIVED_FIS_BYTES: usize = 256;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COMMAND_TABLE_BYTES` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:73:7
[INFO] [stdout]    |
[INFO] [stdout] 73 | const COMMAND_TABLE_BYTES: usize = 4096;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DMA_BUFFER_BYTES` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:74:7
[INFO] [stdout]    |
[INFO] [stdout] 74 | const DMA_BUFFER_BYTES: usize = 64 * 1024;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `COMMAND_SLOT` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:75:7
[INFO] [stdout]    |
[INFO] [stdout] 75 | const COMMAND_SLOT: u32 = 0;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AHCI_WAIT_SPINS` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:76:7
[INFO] [stdout]    |
[INFO] [stdout] 76 | const AHCI_WAIT_SPINS: usize = 1_000_000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LOGICAL_BLOCK_SIZE` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:77:7
[INFO] [stdout]    |
[INFO] [stdout] 77 | const LOGICAL_BLOCK_SIZE: usize = 512;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEBUG_BOUNDARY_16M_LBA` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:78:7
[INFO] [stdout]    |
[INFO] [stdout] 78 | const DEBUG_BOUNDARY_16M_LBA: u64 = (16 * 1024 * 1024) / LOGICAL_BLOCK_SIZE as u64;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `AHCI_16M_BOUNDARY_LOGGED` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:80:8
[INFO] [stdout]    |
[INFO] [stdout] 80 | static AHCI_16M_BOUNDARY_LOGGED: AtomicBool = AtomicBool::new(false);
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AhciCommandHeader` is never constructed
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:83:8
[INFO] [stdout]    |
[INFO] [stdout] 83 | struct AhciCommandHeader {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AhciPrdtEntry` is never constructed
[INFO] [stdout]   --> kernel/io-manager/src/storage/ahci.rs:93:8
[INFO] [stdout]    |
[INFO] [stdout] 93 | struct AhciPrdtEntry {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AhciCommandTable` is never constructed
[INFO] [stdout]    --> kernel/io-manager/src/storage/ahci.rs:101:8
[INFO] [stdout]     |
[INFO] [stdout] 101 | struct AhciCommandTable {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AhciController` is never constructed
[INFO] [stdout]    --> kernel/io-manager/src/storage/ahci.rs:108:8
[INFO] [stdout]     |
[INFO] [stdout] 108 | struct AhciController {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AhciPortRuntime` is never constructed
[INFO] [stdout]    --> kernel/io-manager/src/storage/ahci.rs:117:8
[INFO] [stdout]     |
[INFO] [stdout] 117 | struct AhciPortRuntime {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AhciBlockDevice` is never constructed
[INFO] [stdout]    --> kernel/io-manager/src/storage/ahci.rs:130:8
[INFO] [stdout]     |
[INFO] [stdout] 130 | struct AhciBlockDevice {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `probe_devices` is never used
[INFO] [stdout]    --> kernel/io-manager/src/storage/ahci.rs:142:15
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub(crate) fn probe_devices() -> Vec<Box<dyn BlockDeviceOps>> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `note_ahci_16m_boundary_once` is never used
[INFO] [stdout]    --> kernel/io-manager/src/storage/ahci.rs:286:4
[INFO] [stdout]     |
[INFO] [stdout] 286 | fn note_ahci_16m_boundary_once(lba: u64, blocks: u64, is_write: bool) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> kernel/io-manager/src/storage/ahci.rs:320:8
[INFO] [stdout]     |
[INFO] [stdout] 319 | impl AhciController {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] 320 |     fn read_u32(&self, offset: usize) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 325 |     fn write_u32(&self, offset: usize, value: u32) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 330 |     fn port_offset(&self, port: u8, reg: usize) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 334 |     fn read_port_u32(&self, port: u8, reg: usize) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |     fn write_port_u32(&self, port: u8, reg: usize, value: u32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 342 |     fn enable_ahci_mode(&self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 347 |     fn supports_64bit_dma(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 351 |     fn implemented_ports(&self) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 356 |     fn version(&self) -> u32 {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `execute_non_data_command`, `execute_dma_command`, `prepare_command`, and `issue_and_wait` are never used
[INFO] [stdout]    --> kernel/io-manager/src/storage/ahci.rs:362:8
[INFO] [stdout]     |
[INFO] [stdout] 361 | impl AhciBlockDevice {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] 362 |     fn execute_non_data_command(&self, runtime: &mut AhciPortRuntime, command: u8) -> IoResult<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 367 |     fn execute_dma_command(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 379 |     fn prepare_command(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 398 |     fn issue_and_wait(&self) -> IoResult<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `probe_controller` is never used
[INFO] [stdout]    --> kernel/io-manager/src/storage/ahci.rs:402:4
[INFO] [stdout]     |
[INFO] [stdout] 402 | fn probe_controller(pci: PciDevice) -> Result<Vec<Box<dyn BlockDeviceOps>>, DiskIoError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `probe_port` is never used
[INFO] [stdout]    --> kernel/io-manager/src/storage/ahci.rs:450:4
[INFO] [stdout]     |
[INFO] [stdout] 450 | fn probe_port(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `port_has_sata_device` is never used
[INFO] [stdout]    --> kernel/io-manager/src/storage/ahci.rs:480:4
[INFO] [stdout]     |
[INFO] [stdout] 480 | fn port_has_sata_device(controller: &AhciController, port: u8) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `stop_command_engine` is never used
[INFO] [stdout]    --> kernel/io-manager/src/storage/ahci.rs:490:4
[INFO] [stdout]     |
[INFO] [stdout] 490 | fn stop_command_engine(controller: &AhciController, port: u8) -> IoResult<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `start_command_engine` is never used
[INFO] [stdout]    --> kernel/io-manager/src/storage/ahci.rs:503:4
[INFO] [stdout]     |
[INFO] [stdout] 503 | fn start_command_engine(controller: &AhciController, port: u8) -> IoResult<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `allocate_port_runtime` is never used
[INFO] [stdout]    --> kernel/io-manager/src/storage/ahci.rs:512:4
[INFO] [stdout]     |
[INFO] [stdout] 512 | fn allocate_port_runtime(controller: &AhciController) -> IoResult<AhciPortRuntime> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `program_port_dma` is never used
[INFO] [stdout]    --> kernel/io-manager/src/storage/ahci.rs:569:4
[INFO] [stdout]     |
[INFO] [stdout] 569 | fn program_port_dma(controller: &AhciController, port: u8, runtime: &AhciPortRuntime) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `identify_port` is never used
[INFO] [stdout]    --> kernel/io-manager/src/storage/ahci.rs:579:4
[INFO] [stdout]     |
[INFO] [stdout] 579 | fn identify_port(
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode_identify_string` is never used
[INFO] [stdout]    --> kernel/io-manager/src/storage/ahci.rs:614:4
[INFO] [stdout]     |
[INFO] [stdout] 614 | fn decode_identify_string(words: &[u16], start: usize, word_count: usize) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prepare_port_command` is never used
[INFO] [stdout]    --> kernel/io-manager/src/storage/ahci.rs:626:4
[INFO] [stdout]     |
[INFO] [stdout] 626 | fn prepare_port_command(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dma_command_for_range` is never used
[INFO] [stdout]    --> kernel/io-manager/src/storage/ahci.rs:718:4
[INFO] [stdout]     |
[INFO] [stdout] 718 | fn dma_command_for_range(dma28: u8, dma48: u8, lba: u64, sector_count: usize) -> IoResult<u8> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `issue_port_command` is never used
[INFO] [stdout]    --> kernel/io-manager/src/storage/ahci.rs:729:4
[INFO] [stdout]     |
[INFO] [stdout] 729 | fn issue_port_command(controller: &AhciController, port: u8) -> IoResult<()> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wait_until` is never used
[INFO] [stdout]    --> kernel/io-manager/src/storage/ahci.rs:780:4
[INFO] [stdout]     |
[INFO] [stdout] 780 | fn wait_until(mut predicate: impl FnMut() -> bool) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PCI_CLASS_MASS_STORAGE` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/nvme.rs:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | const PCI_CLASS_MASS_STORAGE: u8 = 0x01;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PCI_SUBCLASS_NVM` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/nvme.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | const PCI_SUBCLASS_NVM: u8 = 0x08;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PCI_PROG_IF_NVME` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/nvme.rs:20:7
[INFO] [stdout]    |
[INFO] [stdout] 20 | const PCI_PROG_IF_NVME: u8 = 0x02;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVME_BAR_INDEX` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/nvme.rs:21:7
[INFO] [stdout]    |
[INFO] [stdout] 21 | const NVME_BAR_INDEX: usize = 0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVME_VS` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/nvme.rs:23:7
[INFO] [stdout]    |
[INFO] [stdout] 23 | const NVME_VS: usize = 0x08;
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVME_INTMS` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/nvme.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 | const NVME_INTMS: usize = 0x0c;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVME_INTMC` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/nvme.rs:25:7
[INFO] [stdout]    |
[INFO] [stdout] 25 | const NVME_INTMC: usize = 0x10;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVME_CC` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/nvme.rs:26:7
[INFO] [stdout]    |
[INFO] [stdout] 26 | const NVME_CC: usize = 0x14;
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVME_CSTS` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/nvme.rs:27:7
[INFO] [stdout]    |
[INFO] [stdout] 27 | const NVME_CSTS: usize = 0x1c;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVME_AQA` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/nvme.rs:28:7
[INFO] [stdout]    |
[INFO] [stdout] 28 | const NVME_AQA: usize = 0x24;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVME_ASQ` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/nvme.rs:29:7
[INFO] [stdout]    |
[INFO] [stdout] 29 | const NVME_ASQ: usize = 0x28;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVME_ACQ` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/nvme.rs:30:7
[INFO] [stdout]    |
[INFO] [stdout] 30 | const NVME_ACQ: usize = 0x30;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVME_DOORBELL_BASE` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/nvme.rs:31:7
[INFO] [stdout]    |
[INFO] [stdout] 31 | const NVME_DOORBELL_BASE: usize = 0x1000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVME_CC_EN` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/nvme.rs:33:7
[INFO] [stdout]    |
[INFO] [stdout] 33 | const NVME_CC_EN: u32 = 1 << 0;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVME_CC_IOSQES_SHIFT` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/nvme.rs:34:7
[INFO] [stdout]    |
[INFO] [stdout] 34 | const NVME_CC_IOSQES_SHIFT: u32 = 16;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVME_CC_IOCQES_SHIFT` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/nvme.rs:35:7
[INFO] [stdout]    |
[INFO] [stdout] 35 | const NVME_CC_IOCQES_SHIFT: u32 = 20;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVME_CSTS_RDY` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/nvme.rs:36:7
[INFO] [stdout]    |
[INFO] [stdout] 36 | const NVME_CSTS_RDY: u32 = 1 << 0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVME_ADMIN_OP_CREATE_IO_SQ` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/nvme.rs:38:7
[INFO] [stdout]    |
[INFO] [stdout] 38 | const NVME_ADMIN_OP_CREATE_IO_SQ: u8 = 0x01;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVME_ADMIN_OP_CREATE_IO_CQ` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/nvme.rs:39:7
[INFO] [stdout]    |
[INFO] [stdout] 39 | const NVME_ADMIN_OP_CREATE_IO_CQ: u8 = 0x05;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVME_ADMIN_OP_IDENTIFY` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/nvme.rs:40:7
[INFO] [stdout]    |
[INFO] [stdout] 40 | const NVME_ADMIN_OP_IDENTIFY: u8 = 0x06;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVME_ADMIN_OP_SET_FEATURES` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/nvme.rs:41:7
[INFO] [stdout]    |
[INFO] [stdout] 41 | const NVME_ADMIN_OP_SET_FEATURES: u8 = 0x09;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVME_NVM_OP_FLUSH` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/nvme.rs:42:7
[INFO] [stdout]    |
[INFO] [stdout] 42 | const NVME_NVM_OP_FLUSH: u8 = 0x00;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVME_NVM_OP_WRITE` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/nvme.rs:43:7
[INFO] [stdout]    |
[INFO] [stdout] 43 | const NVME_NVM_OP_WRITE: u8 = 0x01;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVME_NVM_OP_READ` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/nvme.rs:44:7
[INFO] [stdout]    |
[INFO] [stdout] 44 | const NVME_NVM_OP_READ: u8 = 0x02;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVME_IDENTIFY_CNS_NAMESPACE` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/nvme.rs:46:7
[INFO] [stdout]    |
[INFO] [stdout] 46 | const NVME_IDENTIFY_CNS_NAMESPACE: u32 = 0x00;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVME_IDENTIFY_CNS_CONTROLLER` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/nvme.rs:47:7
[INFO] [stdout]    |
[INFO] [stdout] 47 | const NVME_IDENTIFY_CNS_CONTROLLER: u32 = 0x01;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVME_FEATURE_NUM_QUEUES` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/nvme.rs:48:7
[INFO] [stdout]    |
[INFO] [stdout] 48 | const NVME_FEATURE_NUM_QUEUES: u32 = 0x07;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVME_ADMIN_QUEUE_DEPTH` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/nvme.rs:50:7
[INFO] [stdout]    |
[INFO] [stdout] 50 | const NVME_ADMIN_QUEUE_DEPTH: u16 = 16;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVME_IO_QUEUE_DEPTH` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/nvme.rs:51:7
[INFO] [stdout]    |
[INFO] [stdout] 51 | const NVME_IO_QUEUE_DEPTH: u16 = 16;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVME_IDENTIFY_BYTES` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/nvme.rs:52:7
[INFO] [stdout]    |
[INFO] [stdout] 52 | const NVME_IDENTIFY_BYTES: usize = 4096;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVME_DATA_BUFFER_BYTES` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/nvme.rs:53:7
[INFO] [stdout]    |
[INFO] [stdout] 53 | const NVME_DATA_BUFFER_BYTES: usize = 4096;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NVME_WAIT_SPINS` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/nvme.rs:54:7
[INFO] [stdout]    |
[INFO] [stdout] 54 | const NVME_WAIT_SPINS: usize = 5_000_000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `emit_nvme` is never used
[INFO] [stdout]   --> kernel/io-manager/src/storage/nvme.rs:56:4
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn emit_nvme(level: crate::debug::LogLevel, event_id: u16, object_id: u64, message: String) {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NvmeSubmission` is never constructed
[INFO] [stdout]   --> kernel/io-manager/src/storage/nvme.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 71 | struct NvmeSubmission {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NvmeCompletion` is never constructed
[INFO] [stdout]   --> kernel/io-manager/src/storage/nvme.rs:88:8
[INFO] [stdout]    |
[INFO] [stdout] 88 | struct NvmeCompletion {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NvmeController` is never constructed
[INFO] [stdout]   --> kernel/io-manager/src/storage/nvme.rs:97:8
[INFO] [stdout]    |
[INFO] [stdout] 97 | struct NvmeController {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NvmeQueue` is never constructed
[INFO] [stdout]    --> kernel/io-manager/src/storage/nvme.rs:109:8
[INFO] [stdout]     |
[INFO] [stdout] 109 | struct NvmeQueue {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NvmeRuntime` is never constructed
[INFO] [stdout]    --> kernel/io-manager/src/storage/nvme.rs:124:8
[INFO] [stdout]     |
[INFO] [stdout] 124 | struct NvmeRuntime {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NvmeBlockDevice` is never constructed
[INFO] [stdout]    --> kernel/io-manager/src/storage/nvme.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 138 | struct NvmeBlockDevice {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `probe_devices` is never used
[INFO] [stdout]    --> kernel/io-manager/src/storage/nvme.rs:151:15
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub(crate) fn probe_devices() -> Vec<Box<dyn BlockDeviceOps>> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> kernel/io-manager/src/storage/nvme.rs:379:8
[INFO] [stdout]     |
[INFO] [stdout] 378 | impl NvmeController {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] 379 |     fn write_u32(&self, offset: usize, value: u32) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 384 |     fn write_u64(&self, offset: usize, value: u64) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 389 |     fn read_u32(&self, offset: usize) -> u32 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 394 |     fn doorbell_offset(&self, qid: u16, is_cq: bool) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 399 |     fn ring_sq(&self, queue: &NvmeQueue) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 403 |     fn ring_cq(&self, queue: &NvmeQueue) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 407 |     fn disable(&self) -> IoResult<()> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 418 |     fn configure_admin_queue(&self, admin: &NvmeQueue) -> IoResult<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `alloc_cid` is never used
[INFO] [stdout]    --> kernel/io-manager/src/storage/nvme.rs:438:8
[INFO] [stdout]     |
[INFO] [stdout] 437 | impl NvmeQueue {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] 438 |     fn alloc_cid(&mut self) -> u16 {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `probe_controller` is never used
[INFO] [stdout]    --> kernel/io-manager/src/storage/nvme.rs:445:4
[INFO] [stdout]     |
[INFO] [stdout] 445 | fn probe_controller(pci: PciDevice) -> Result<Option<NvmeBlockDevice>, DiskIoError> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `allocate_queue` is never used
[INFO] [stdout]    --> kernel/io-manager/src/storage/nvme.rs:535:4
[INFO] [stdout]     |
[INFO] [stdout] 535 | fn allocate_queue(device: *mut c_void, qid: u16, entry_count: u16) -> IoResult<NvmeQueue> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `alloc_dma_buffer` is never used
[INFO] [stdout]    --> kernel/io-manager/src/storage/nvme.rs:554:4
[INFO] [stdout]     |
[INFO] [stdout] 554 | fn alloc_dma_buffer(device: *mut c_void, size: usize) -> IoResult<*mut u8> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `identify_controller_model` is never used
[INFO] [stdout]    --> kernel/io-manager/src/storage/nvme.rs:564:4
[INFO] [stdout]     |
[INFO] [stdout] 564 | fn identify_controller_model(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `configure_io_queues` is never used
[INFO] [stdout]    --> kernel/io-manager/src/storage/nvme.rs:592:4
[INFO] [stdout]     |
[INFO] [stdout] 592 | fn configure_io_queues(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `identify_namespace` is never used
[INFO] [stdout]    --> kernel/io-manager/src/storage/nvme.rs:647:4
[INFO] [stdout]     |
[INFO] [stdout] 647 | fn identify_namespace(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `issue_nvm_command` is never used
[INFO] [stdout]    --> kernel/io-manager/src/storage/nvme.rs:691:4
[INFO] [stdout]     |
[INFO] [stdout] 691 | fn issue_nvm_command(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `submit_and_wait` is never used
[INFO] [stdout]    --> kernel/io-manager/src/storage/nvme.rs:720:4
[INFO] [stdout]     |
[INFO] [stdout] 720 | fn submit_and_wait(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_cdw0` is never used
[INFO] [stdout]    --> kernel/io-manager/src/storage/nvme.rs:757:4
[INFO] [stdout]     |
[INFO] [stdout] 757 | fn build_cdw0(opcode: u8, cid: u16) -> u32 {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `command_cid` is never used
[INFO] [stdout]    --> kernel/io-manager/src/storage/nvme.rs:761:4
[INFO] [stdout]     |
[INFO] [stdout] 761 | fn command_cid(cmd: &NvmeSubmission) -> u16 {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `trim_ascii` is never used
[INFO] [stdout]    --> kernel/io-manager/src/storage/nvme.rs:765:4
[INFO] [stdout]     |
[INFO] [stdout] 765 | fn trim_ascii(bytes: &[u8]) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `le_u64` is never used
[INFO] [stdout]    --> kernel/io-manager/src/storage/nvme.rs:773:4
[INFO] [stdout]     |
[INFO] [stdout] 773 | fn le_u64(bytes: &[u8], offset: usize) -> u64 {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wait_until` is never used
[INFO] [stdout]    --> kernel/io-manager/src/storage/nvme.rs:786:4
[INFO] [stdout]     |
[INFO] [stdout] 786 | fn wait_until(mut predicate: impl FnMut() -> bool) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `draw_bgra8888_frame_from_kernel` is never used
[INFO] [stdout]    --> kernel/io-manager/src/io/gui/framebuffer.rs:327:19
[INFO] [stdout]     |
[INFO] [stdout] 113 | impl Framebuffer {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 327 |     pub(crate) fn draw_bgra8888_frame_from_kernel(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `draw_bgra8888_frame_from_kernel` is never used
[INFO] [stdout]    --> kernel/io-manager/src/io/gui/framebuffer.rs:327:19
[INFO] [stdout]     |
[INFO] [stdout] 113 | impl Framebuffer {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 327 |     pub(crate) fn draw_bgra8888_frame_from_kernel(
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_path_for_current_process_to_vec` is never used
[INFO] [stdout]    --> kernel/compat/src/user/sysops/file.rs:133:15
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub(crate) fn read_path_for_current_process_to_vec(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_path_for_current_process_bytes` is never used
[INFO] [stdout]    --> kernel/compat/src/user/sysops/file.rs:141:15
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub(crate) fn read_path_for_current_process_bytes(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: feature `abi_x86_interrupt` is declared but not used
[INFO] [stdout]  --> kernel/src/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(abi_x86_interrupt)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_features)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: feature `alloc_error_handler` is declared but not used
[INFO] [stdout]  --> kernel/src/main.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(alloc_error_handler)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: feature `abi_x86_interrupt` is declared but not used
[INFO] [stdout]  --> kernel/src/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(abi_x86_interrupt)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_features)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: feature `alloc_error_handler` is declared but not used
[INFO] [stdout]  --> kernel/src/main.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(alloc_error_handler)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 14s
[INFO] running `Command { std: "docker" "inspect" "c73ed7f9e160e2a63fee5cc3a56f954eb56a7f62f99b5a77311c5c468968dc0f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c73ed7f9e160e2a63fee5cc3a56f954eb56a7f62f99b5a77311c5c468968dc0f", kill_on_drop: false }`
[INFO] [stdout] c73ed7f9e160e2a63fee5cc3a56f954eb56a7f62f99b5a77311c5c468968dc0f
