[INFO] cloning repository https://github.com/BashfulHippo/jerichoos
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/BashfulHippo/jerichoos" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBashfulHippo%2Fjerichoos", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBashfulHippo%2Fjerichoos'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a6f8266db4b1a9c08df17b3fc245afe0d2d6e0b8
[INFO] checking BashfulHippo/jerichoos against try#54cf65b8d066c082e536455049b95943cf30378f for pr-151920
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBashfulHippo%2Fjerichoos" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-7-tc2/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/BashfulHippo/jerichoos
[INFO] finished tweaking git repo https://github.com/BashfulHippo/jerichoos
[INFO] tweaked toml for git repo https://github.com/BashfulHippo/jerichoos written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/BashfulHippo/jerichoos on toolchain 54cf65b8d066c082e536455049b95943cf30378f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+54cf65b8d066c082e536455049b95943cf30378f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/BashfulHippo/jerichoos 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" "+54cf65b8d066c082e536455049b95943cf30378f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+54cf65b8d066c082e536455049b95943cf30378f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 20ad418bde5827c497031504ba18cc6d64fa9cc0cda51883b35b2e280ba1009c
[INFO] running `Command { std: "docker" "start" "-a" "20ad418bde5827c497031504ba18cc6d64fa9cc0cda51883b35b2e280ba1009c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "20ad418bde5827c497031504ba18cc6d64fa9cc0cda51883b35b2e280ba1009c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "20ad418bde5827c497031504ba18cc6d64fa9cc0cda51883b35b2e280ba1009c", kill_on_drop: false }`
[INFO] [stdout] 20ad418bde5827c497031504ba18cc6d64fa9cc0cda51883b35b2e280ba1009c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+54cf65b8d066c082e536455049b95943cf30378f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 82627f465875042810d3d16544d401e33517987d7cbb7f95882ac78dc5286bab
[INFO] running `Command { std: "docker" "start" "-a" "82627f465875042810d3d16544d401e33517987d7cbb7f95882ac78dc5286bab", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling const_fn v0.4.11
[INFO] [stderr]    Compiling x86 v0.52.0
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]    Compiling bootloader_api v0.11.13
[INFO] [stderr]     Checking bit_field v0.10.3
[INFO] [stderr]     Checking bitflags v2.10.0
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]    Compiling jericho_os v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking raw-cpuid v10.7.0
[INFO] [stderr]     Checking downcast-rs v1.2.1
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]     Checking libm v0.2.15
[INFO] [stderr]     Checking indexmap-nostd v0.4.0
[INFO] [stderr]     Checking volatile v0.4.6
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]   --> build.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |         return;
[INFO] [stdout]    |         ------ any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 26 |     let kernel_path_env = env::var("CARGO_BIN_FILE_JERICHO_OS_jericho_os").ok();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking spinning_top v0.2.5
[INFO] [stderr]     Checking lock_api v0.4.14
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking wasmi_arena v0.4.1
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking wasmparser-nostd v0.100.2
[INFO] [stderr]     Checking linked_list_allocator v0.10.5
[INFO] [stderr]     Checking volatile v0.2.7
[INFO] [stderr]     Checking pc-keyboard v0.7.0
[INFO] [stderr]     Checking x86_64 v0.15.4
[INFO] [stderr]     Checking wasmi_core v0.13.0
[INFO] [stderr]     Checking pic8259 v0.11.0
[INFO] [stderr]     Checking uart_16550 v0.3.2
[INFO] [stderr]     Checking wasmi v0.31.2
[INFO] [stdout] error[E0432]: unresolved import `crate::interrupts`
[INFO] [stdout]    --> src/benchmark.rs:111:16
[INFO] [stdout]     |
[INFO] [stdout] 111 |     use crate::interrupts::timer_ticks;  // x86 only, moved here to fix arm build
[INFO] [stdout]     |                ^^^^^^^^^^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                unresolved import
[INFO] [stdout]     |                help: a similar path exists: `x86_64::instructions::interrupts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::scheduler::task_yield`
[INFO] [stdout]    --> src/benchmark.rs:136:9
[INFO] [stdout]     |
[INFO] [stdout] 136 |     use crate::scheduler::task_yield;  // x86 only
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `task_yield` in `scheduler`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/arch/aarch64/mmu.rs:216:18
[INFO] [stdout]     |
[INFO] [stdout] 216 |         sctlr |= (1 << 0);   // M: Enable MMU
[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] 216 -         sctlr |= (1 << 0);   // M: Enable MMU
[INFO] [stdout] 216 +         sctlr |= 1 << 0;   // M: Enable MMU
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::ptr`
[INFO] [stdout]  --> src/arch/aarch64/scheduler.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use core::ptr;
[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: `crate::arch::task::TaskContext`
[INFO] [stdout]   --> src/main_aarch64.rs:64:13
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub use crate::arch::task::TaskContext;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::arch::scheduler::TaskState`
[INFO] [stdout]   --> src/main_aarch64.rs:65:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub use crate::arch::scheduler::TaskState;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::arch::scheduler::*`
[INFO] [stdout]   --> src/main_aarch64.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub use crate::arch::scheduler::*;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: formatting may not be suitable for sub-register argument
[INFO] [stdout]   --> src/arch/aarch64/timer.rs:32:33
[INFO] [stdout]    |
[INFO] [stdout] 32 |             "msr cntp_tval_el0, {0}",
[INFO] [stdout]    |                                 ^^^
[INFO] [stdout] 33 |             in(reg) ticks_per_10ms as u32,
[INFO] [stdout]    |                     --------------------- for this argument
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `{0:e}` to have the register formatted as `eax` (for 32-bit values)
[INFO] [stdout]    = help: or use `{0:r}` to keep the default formatting of `rax` (for 64-bit values)
[INFO] [stdout]    = note: `#[warn(asm_sub_register)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: formatting may not be suitable for sub-register argument
[INFO] [stdout]   --> src/arch/aarch64/timer.rs:43:32
[INFO] [stdout]    |
[INFO] [stdout] 43 |             "msr cntp_ctl_el0, {0}",
[INFO] [stdout]    |                                ^^^
[INFO] [stdout] 44 |             in(reg) ctl,
[INFO] [stdout]    |                     --- for this argument
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `{0:e}` to have the register formatted as `eax` (for 32-bit values)
[INFO] [stdout]    = help: or use `{0:r}` to keep the default formatting of `rax` (for 64-bit values)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: formatting may not be suitable for sub-register argument
[INFO] [stdout]   --> src/arch/aarch64/timer.rs:70:33
[INFO] [stdout]    |
[INFO] [stdout] 70 |             "msr cntp_tval_el0, {0}",
[INFO] [stdout]    |                                 ^^^
[INFO] [stdout] 71 |             in(reg) ticks_per_10ms as u32,
[INFO] [stdout]    |                     --------------------- for this argument
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `{0:e}` to have the register formatted as `eax` (for 32-bit values)
[INFO] [stdout]    = help: or use `{0:r}` to keep the default formatting of `rax` (for 64-bit values)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cap`
[INFO] [stdout]    --> src/syscall.rs:146:18
[INFO] [stdout]     |
[INFO] [stdout] 146 |             Some(cap) => {
[INFO] [stdout]     |                  ^^^ help: if this is intentional, prefix it with an underscore: `_cap`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/syscall.rs:159:29
[INFO] [stdout]     |
[INFO] [stdout] 159 |     fn sys_print(&mut self, value: u64) -> SyscallResult {
[INFO] [stdout]     |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/wasm_runtime.rs:66:49
[INFO] [stdout]    |
[INFO] [stdout] 66 | fn host_print(_caller: Caller<'_, WasmContext>, value: i32) {
[INFO] [stdout]    |                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ptr`
[INFO] [stdout]    --> src/wasm_runtime.rs:496:40
[INFO] [stdout]     |
[INFO] [stdout] 496 |                     Ok(Some(Value::I32(ptr))) => {
[INFO] [stdout]     |                                        ^^^ help: if this is intentional, prefix it with an underscore: `_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/demos/wasm_tests.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 |         Err(e) => {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/demos/wasm_tests.rs:45:13
[INFO] [stdout]    |
[INFO] [stdout] 45 |         Err(e) => serial_println!(" (error: {})", e),
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/demos/wasm_tests.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |         Err(e) => serial_println!(" (error: {})", e),
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/demos/wasm_tests.rs:73:13
[INFO] [stdout]    |
[INFO] [stdout] 73 |         Err(e) => serial_println!(" (error: {})", e),
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/demos/wasm_tests.rs:95:13
[INFO] [stdout]    |
[INFO] [stdout] 95 |         Err(e) => {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/demos/wasm_tests.rs:105:13
[INFO] [stdout]     |
[INFO] [stdout] 105 |         Err(e) => serial_println!("[FAIL] main() failed: {}", e),
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/demos/wasm_tests.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 |         Err(e) => serial_println!("[FAIL] print_range() failed: {}", e),
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/demos/wasm_tests.rs:134:13
[INFO] [stdout]     |
[INFO] [stdout] 134 |         Err(e) => {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/demos/wasm_tests.rs:144:13
[INFO] [stdout]     |
[INFO] [stdout] 144 |         Err(e) => serial_println!("[FAIL] Syscall failed: {}", e),
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/demos/wasm_tests.rs:158:13
[INFO] [stdout]     |
[INFO] [stdout] 158 |         Err(e) => serial_println!("[FAIL] Allocate failed: {}", e),
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/demos/wasm_tests.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |         Err(e) => serial_println!("[ OK ] Access denied via exception: {}", e),
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/demos/wasm_tests.rs:195:13
[INFO] [stdout]     |
[INFO] [stdout] 195 |         Err(e) => {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `code`
[INFO] [stdout]    --> src/demos/wasm_tests.rs:205:28
[INFO] [stdout]     |
[INFO] [stdout] 205 |         Ok(Some(Value::I32(code))) => {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/demos/wasm_tests.rs:213:13
[INFO] [stdout]     |
[INFO] [stdout] 213 |         Err(e) => {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/demos/wasm_tests.rs:227:13
[INFO] [stdout]     |
[INFO] [stdout] 227 |         Err(e) => {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `code`
[INFO] [stdout]    --> src/demos/wasm_tests.rs:237:28
[INFO] [stdout]     |
[INFO] [stdout] 237 |         Ok(Some(Value::I32(code))) => serial_println!("  (code: {})", code),
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/demos/wasm_tests.rs:239:13
[INFO] [stdout]     |
[INFO] [stdout] 239 |         Err(e) => serial_println!(" ({})", e),
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/demos/wasm_tests.rs:250:13
[INFO] [stdout]     |
[INFO] [stdout] 250 |         Err(e) => {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `code`
[INFO] [stdout]    --> src/demos/wasm_tests.rs:260:28
[INFO] [stdout]     |
[INFO] [stdout] 260 |         Ok(Some(Value::I32(code))) => serial_println!("  (code: {})", code),
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/demos/wasm_tests.rs:262:13
[INFO] [stdout]     |
[INFO] [stdout] 262 |         Err(e) => serial_println!(" ({})", e),
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `boot_pass`
[INFO] [stdout]   --> src/benchmark.rs:99:13
[INFO] [stdout]    |
[INFO] [stdout] 99 |         let boot_pass = if self.boot_time_us < 10_000 { "PASS" } else { "FAIL" };
[INFO] [stdout]    |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_boot_pass`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `switch_pass`
[INFO] [stdout]    --> src/benchmark.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 |         let switch_pass = if self.avg_context_switch_ns < 5_000 { "PASS" } else { "WARN" };
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_switch_pass`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `throughput`
[INFO] [stdout]    --> src/benchmark.rs:238:9
[INFO] [stdout]     |
[INFO] [stdout] 238 |     let throughput = if avg_cycles_per_msg > 0 {
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_throughput`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ipc_ns`
[INFO] [stdout]    --> src/benchmark.rs:268:9
[INFO] [stdout]     |
[INFO] [stdout] 268 |     let ipc_ns = cycles_to_ns(ipc_cycles);
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_ipc_ns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `syscall_pass`
[INFO] [stdout]    --> src/benchmark.rs:298:9
[INFO] [stdout]     |
[INFO] [stdout] 298 |     let syscall_pass = if syscall_ns < 1_000 { "PASS" } else { "WARN" };
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_syscall_pass`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `switch_pass`
[INFO] [stdout]    --> src/benchmark.rs:301:9
[INFO] [stdout]     |
[INFO] [stdout] 301 |     let switch_pass = if cycles_to_ns(avg_switch_cycles) < 5_000 { "PASS" } else { "WARN" };
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_switch_pass`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `jericho_os` (bin "jericho_os_arm64") due to 2 previous errors; 38 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: method `as_usize` is never used
[INFO] [stdout]   --> src/interrupts.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl InterruptIndex {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 33 |     fn as_usize(self) -> usize {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `NONE` is never used
[INFO] [stdout]   --> src/capability.rs:35:15
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl Rights {
[INFO] [stdout]    | ----------- associated constant in this implementation
[INFO] [stdout] 34 |     /// No permissions
[INFO] [stdout] 35 |     pub const NONE: Rights = Rights {
[INFO] [stdout]    |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Interrupt`, `Thread`, and `WasmModule` are never constructed
[INFO] [stdout]   --> src/capability.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub enum ResourceType {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] 89 |     Memory,
[INFO] [stdout] 90 |     Interrupt,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 91 |     Thread,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 92 |     Endpoint,  // For IPC
[INFO] [stdout] 93 |     WasmModule,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ResourceType` 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: methods `create` and `is_empty` are never used
[INFO] [stdout]    --> src/capability.rs:190:12
[INFO] [stdout]     |
[INFO] [stdout] 163 | impl CSpace {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 190 |     pub fn create(&mut self, resource_type: ResourceType, resource_id: u64, rights: Rights) -> CapabilityId {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 218 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `kernel_cspace` is never used
[INFO] [stdout]    --> src/capability.rs:238:8
[INFO] [stdout]     |
[INFO] [stdout] 238 | pub fn kernel_cspace() -> &'static Mutex<CSpace> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_user_cspace` is never used
[INFO] [stdout]    --> src/capability.rs:243:8
[INFO] [stdout]     |
[INFO] [stdout] 243 | pub fn create_user_cspace() -> CSpace {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `InvalidArgument` is never constructed
[INFO] [stdout]   --> src/syscall.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub enum SyscallError {
[INFO] [stdout]    |          ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 51 |     InvalidArgument,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SyscallError` 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: methods `grant_capability` and `capability_count` are never used
[INFO] [stdout]    --> src/wasm_runtime.rs:437:12
[INFO] [stdout]     |
[INFO] [stdout] 348 | impl WasmModule {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 437 |     pub fn grant_capability(&mut self, capability: Capability) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 444 |     pub fn capability_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_and_validate` is never used
[INFO] [stdout]    --> src/wasm_runtime.rs:455:8
[INFO] [stdout]     |
[INFO] [stdout] 455 | pub fn load_and_validate(wasm_bytes: &[u8]) -> Result<WasmModule, Error> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pending_message_count` is never used
[INFO] [stdout]    --> src/wasm_runtime.rs:565:8
[INFO] [stdout]     |
[INFO] [stdout] 565 | pub fn pending_message_count(client_id: u32) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_ipc_queue` is never used
[INFO] [stdout]    --> src/wasm_runtime.rs:571:8
[INFO] [stdout]     |
[INFO] [stdout] 571 | pub fn clear_ipc_queue() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Low`, `High`, and `Realtime` are never constructed
[INFO] [stdout]   --> src/task.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub enum Priority {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] 39 |     Low = 0,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 40 |     Normal = 1,
[INFO] [stdout] 41 |     High = 2,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 42 |     Realtime = 3,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Priority` 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: fields `stack` and `priority` are never read
[INFO] [stdout]    --> src/task.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub struct Task {
[INFO] [stdout]     |            ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 121 |     stack: Box<[u8; TASK_STACK_SIZE]>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     priority: Priority,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `priority` is never used
[INFO] [stdout]    --> src/task.rs:191:12
[INFO] [stdout]     |
[INFO] [stdout] 133 | impl Task {
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 191 |     pub fn priority(&self) -> Priority {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `remove`, `iter`, `iter_mut`, `len`, and `is_empty` are never used
[INFO] [stdout]    --> src/task.rs:242:12
[INFO] [stdout]     |
[INFO] [stdout] 216 | impl TaskList {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 242 |     pub fn remove(&mut self, id: TaskId) -> Option<Task> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 251 |     pub fn iter(&self) -> impl Iterator<Item = &Task> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 256 |     pub fn iter_mut(&mut self) -> impl Iterator<Item = &mut Task> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 261 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `task_count`, `yield_cpu`, and `block_current` are never used
[INFO] [stdout]    --> src/scheduler.rs:48:12
[INFO] [stdout]     |
[INFO] [stdout]  23 | impl Scheduler {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  48 |     pub fn task_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn yield_cpu(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub fn block_current(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `transferred_cap` is never read
[INFO] [stdout]   --> src/ipc.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Message {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub transferred_cap: Option<CapabilityId>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Message` 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: associated function `with_capability` is never used
[INFO] [stdout]   --> src/ipc.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Message {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn with_capability(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `has_messages` and `add_waiter` are never used
[INFO] [stdout]    --> src/ipc.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout]  72 | impl IpcEndpoint {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn has_messages(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn add_waiter(&mut self, task: TaskId) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_endpoint` is never used
[INFO] [stdout]    --> src/ipc.rs:161:8
[INFO] [stdout]     |
[INFO] [stdout] 135 | impl IpcRegistry {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 161 |     fn get_endpoint(&self, cap_id: CapabilityId) -> Option<&IpcEndpoint> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `NoMessage` is never constructed
[INFO] [stdout]    --> src/ipc.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 168 | pub enum IpcError {
[INFO] [stdout]     |          -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 182 |     NoMessage,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `IpcError` 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: function `receive_message_blocking` is never used
[INFO] [stdout]    --> src/ipc.rs:282:8
[INFO] [stdout]     |
[INFO] [stdout] 282 | pub fn receive_message_blocking(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `benchmark_context_switches` is never used
[INFO] [stdout]    --> src/benchmark.rs:135:8
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub fn benchmark_context_switches(iterations: u64) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/gdt.rs:26:59
[INFO] [stdout]    |
[INFO] [stdout] 26 |             let stack_start = VirtAddr::from_ptr(unsafe { &STACK });
[INFO] [stdout]    |                                                           ^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 26 |             let stack_start = VirtAddr::from_ptr(unsafe { &raw const STACK });
[INFO] [stdout]    |                                                            +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "82627f465875042810d3d16544d401e33517987d7cbb7f95882ac78dc5286bab", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "82627f465875042810d3d16544d401e33517987d7cbb7f95882ac78dc5286bab", kill_on_drop: false }`
[INFO] [stdout] 82627f465875042810d3d16544d401e33517987d7cbb7f95882ac78dc5286bab
