[INFO] cloning repository https://github.com/KFTamang/rv-emu
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/KFTamang/rv-emu" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKFTamang%2Frv-emu", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKFTamang%2Frv-emu'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 27e4294c77773e2e0bc66847b7e0c2d65733867d
[INFO] checking KFTamang/rv-emu against 5c543b0b8c73c7b72bc8284ced4fb22ead15734d for pr-160186
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKFTamang%2Frv-emu" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/KFTamang/rv-emu
[INFO] finished tweaking git repo https://github.com/KFTamang/rv-emu
[INFO] tweaked toml for git repo https://github.com/KFTamang/rv-emu written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/KFTamang/rv-emu on toolchain 5c543b0b8c73c7b72bc8284ced4fb22ead15734d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 109 packages to highest compatible versions
[INFO] [stderr]       Adding bincode v2.0.1 (available: v3.0.0)
[INFO] [stderr]       Adding clap v3.2.25 (available: v4.6.7)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded defmt v1.2.0
[INFO] [stderr]   Downloaded textwrap v0.16.4
[INFO] [stderr]   Downloaded serde-big-array v0.5.1
[INFO] [stderr]   Downloaded os_str_bytes v6.6.1
[INFO] [stderr]   Downloaded defmt-parser v1.1.0
[INFO] [stderr]   Downloaded clap_lex v0.2.4
[INFO] [stderr]   Downloaded jiff-static v0.2.38
[INFO] [stderr]   Downloaded managed v0.8.0
[INFO] [stderr]   Downloaded clap_derive v3.2.25
[INFO] [stderr]   Downloaded portable-atomic-util v0.2.8
[INFO] [stderr]   Downloaded defmt-macros v1.2.0
[INFO] [stderr]   Downloaded gdbstub_arch v0.3.3
[INFO] [stderr]   Downloaded jiff-core v0.1.1
[INFO] [stderr]   Downloaded gdbstub v0.7.10
[INFO] [stderr]   Downloaded portable-atomic v1.15.0
[INFO] [stderr]   Downloaded clap v3.2.25
[INFO] [stderr]   Downloaded jiff v0.2.38
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 2415c0818d8df27aff12f53aad8d41f38afdc9acf2b4c5219cde41c626e3e7ca
[INFO] running `Command { std: "docker" "start" "2415c0818d8df27aff12f53aad8d41f38afdc9acf2b4c5219cde41c626e3e7ca", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2415c0818d8df27aff12f53aad8d41f38afdc9acf2b4c5219cde41c626e3e7ca", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2415c0818d8df27aff12f53aad8d41f38afdc9acf2b4c5219cde41c626e3e7ca" "/opt/rustwide/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2415c0818d8df27aff12f53aad8d41f38afdc9acf2b4c5219cde41c626e3e7ca", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2415c0818d8df27aff12f53aad8d41f38afdc9acf2b4c5219cde41c626e3e7ca" "/opt/rustwide/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.27
[INFO] [stderr]     Checking utf8parse v0.2.2
[INFO] [stderr]     Checking anstyle-query v1.1.5
[INFO] [stderr]     Checking colorchoice v1.0.5
[INFO] [stderr]     Checking anstyle v1.0.14
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking memchr v2.8.3
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]     Checking anstyle-parse v1.0.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking regex-syntax v0.8.11
[INFO] [stderr]    Compiling proc-macro2 v1.0.107
[INFO] [stderr]     Checking log v0.4.34
[INFO] [stderr]    Compiling libc v0.2.191
[INFO] [stderr]     Checking anstream v1.0.0
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling pastey v0.2.3
[INFO] [stderr]     Checking managed v0.8.0
[INFO] [stderr]     Checking aho-corasick v1.1.5
[INFO] [stderr]     Checking os_str_bytes v6.6.1
[INFO] [stderr]    Compiling quote v1.0.47
[INFO] [stderr]    Compiling virtue v0.0.18
[INFO] [stderr]     Checking strsim v0.11.1
[INFO] [stderr]    Compiling syn v3.0.9
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]     Checking bitflags v2.13.2
[INFO] [stderr]     Checking jiff-core v0.1.1
[INFO] [stderr]     Checking cfg-if v1.0.5
[INFO] [stderr]     Checking clap_lex v1.1.1
[INFO] [stderr]    Compiling bincode_derive v2.0.1
[INFO] [stderr]     Checking clap_builder v4.6.7
[INFO] [stderr]     Checking regex-automata v0.4.18
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking gdbstub v0.7.10
[INFO] [stderr]     Checking jiff v0.2.38
[INFO] [stderr]     Checking clap_lex v0.2.4
[INFO] [stderr]     Checking strsim v0.10.0
[INFO] [stderr]     Checking termcolor v1.4.1
[INFO] [stderr]     Checking textwrap v0.16.4
[INFO] [stderr]     Checking unty v0.0.4
[INFO] [stderr]     Checking fxhash v0.2.1
[INFO] [stderr]     Checking chrono v0.4.45
[INFO] [stderr]     Checking regex v1.13.1
[INFO] [stderr]     Checking gdbstub_arch v0.3.3
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]     Checking env_filter v2.0.0
[INFO] [stderr]    Compiling clap_derive v3.2.25
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling clap_derive v4.6.7
[INFO] [stderr]     Checking env_logger v0.11.11
[INFO] [stderr]     Checking clap v3.2.25
[INFO] [stderr]     Checking clap v4.6.7
[INFO] [stderr]     Checking xtask v0.1.0 (/opt/rustwide/workdir/xtask)
[INFO] [stdout] warning: fields `suite` and `test_path` are never read
[INFO] [stdout]   --> xtask/src/main.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 83 | struct Failure {
[INFO] [stdout]    |        ------- fields in this struct
[INFO] [stdout] 84 |     suite: String,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 85 |     test_name: String,
[INFO] [stdout] 86 |     test_path: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `suite` and `test_path` are never read
[INFO] [stdout]   --> xtask/src/main.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 83 | struct Failure {
[INFO] [stdout]    |        ------- fields in this struct
[INFO] [stdout] 84 |     suite: String,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 85 |     test_name: String,
[INFO] [stdout] 86 |     test_path: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking serde v1.0.229
[INFO] [stderr]     Checking bincode v2.0.1
[INFO] [stderr]     Checking serde-big-array v0.5.1
[INFO] [stderr]     Checking rv-emu v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/bus.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 | use serde::{Deserialize, Serialize};
[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::interrupt::*`
[INFO] [stdout]  --> src/emu.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::interrupt::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/interrupt.rs:82:34
[INFO] [stdout]    |
[INFO] [stdout] 82 |                         cpu.pc = (mtvec & 0xffff_ffff_ffff_fffc);
[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] 82 -                         cpu.pc = (mtvec & 0xffff_ffff_ffff_fffc);
[INFO] [stdout] 82 +                         cpu.pc = mtvec & 0xffff_ffff_ffff_fffc;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/interrupt.rs:117:34
[INFO] [stdout]     |
[INFO] [stdout] 117 |                         cpu.pc = (stvec & 0xffff_ffff_ffff_fffc);
[INFO] [stdout]     |                                  ^                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 117 -                         cpu.pc = (stvec & 0xffff_ffff_ffff_fffc);
[INFO] [stdout] 117 +                         cpu.pc = stvec & 0xffff_ffff_ffff_fffc;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/bus.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 | use serde::{Deserialize, Serialize};
[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::interrupt::*`
[INFO] [stdout]  --> src/emu.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::interrupt::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/interrupt.rs:82:34
[INFO] [stdout]    |
[INFO] [stdout] 82 |                         cpu.pc = (mtvec & 0xffff_ffff_ffff_fffc);
[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] 82 -                         cpu.pc = (mtvec & 0xffff_ffff_ffff_fffc);
[INFO] [stdout] 82 +                         cpu.pc = mtvec & 0xffff_ffff_ffff_fffc;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/interrupt.rs:117:34
[INFO] [stdout]     |
[INFO] [stdout] 117 |                         cpu.pc = (stvec & 0xffff_ffff_ffff_fffc);
[INFO] [stdout]     |                                  ^                             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 117 -                         cpu.pc = (stvec & 0xffff_ffff_ffff_fffc);
[INFO] [stdout] 117 +                         cpu.pc = stvec & 0xffff_ffff_ffff_fffc;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `pte_addr` is never read
[INFO] [stdout]   --> src/cpu/mmu.rs:65:33
[INFO] [stdout]    |
[INFO] [stdout] 65 |         let mut pte_addr: u64 = 0;
[INFO] [stdout]    |                                 ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 69 |             pte_addr = a + vpn[level as usize] * PTESIZE;
[INFO] [stdout]    |             -------------------------------------------- `pte_addr` is overwritten here before the previous value is read
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `pte` is never read
[INFO] [stdout]   --> src/cpu/mmu.rs:66:28
[INFO] [stdout]    |
[INFO] [stdout] 66 |           let mut pte: u64 = 0;
[INFO] [stdout]    |                              ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 70 | /             pte = bus.load(pte_addr, 64).map_err(|_| match acc {
[INFO] [stdout] 71 | |                 AccessMode::Fetch => Exception::InstructionPageFault(va as u32),
[INFO] [stdout] 72 | |                 AccessMode::Load => Exception::LoadPageFault(va as u32),
[INFO] [stdout] 73 | |                 AccessMode::Store => Exception::StoreAMOPageFault(va as u32),
[INFO] [stdout] 74 | |             })?;
[INFO] [stdout]    | |_______________- `pte` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `pte_addr` is never read
[INFO] [stdout]   --> src/cpu/mmu.rs:65:33
[INFO] [stdout]    |
[INFO] [stdout] 65 |         let mut pte_addr: u64 = 0;
[INFO] [stdout]    |                                 ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 69 |             pte_addr = a + vpn[level as usize] * PTESIZE;
[INFO] [stdout]    |             -------------------------------------------- `pte_addr` is overwritten here before the previous value is read
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `pte` is never read
[INFO] [stdout]   --> src/cpu/mmu.rs:66:28
[INFO] [stdout]    |
[INFO] [stdout] 66 |           let mut pte: u64 = 0;
[INFO] [stdout]    |                              ^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 70 | /             pte = bus.load(pte_addr, 64).map_err(|_| match acc {
[INFO] [stdout] 71 | |                 AccessMode::Fetch => Exception::InstructionPageFault(va as u32),
[INFO] [stdout] 72 | |                 AccessMode::Load => Exception::LoadPageFault(va as u32),
[INFO] [stdout] 73 | |                 AccessMode::Store => Exception::StoreAMOPageFault(va as u32),
[INFO] [stdout] 74 | |             })?;
[INFO] [stdout]    | |_______________- `pte` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p_type`
[INFO] [stdout]    --> src/main.rs:224:13
[INFO] [stdout]     |
[INFO] [stdout] 224 |         let p_type = u8_slice_to_u32(&elf[p_type_offset..p_type_offset + 4]) as usize;
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_p_type`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `process_pending_interrupts` is never used
[INFO] [stdout]    --> src/bus.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout]  18 | impl Bus {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn process_pending_interrupts(&mut self, interrupts: &mut BTreeSet<Interrupt>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `interrupt_notifier` and `input_thread` are never read
[INFO] [stdout]   --> src/uart.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct Uart {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 19 |     start_addr: u64,
[INFO] [stdout] 20 |     interrupt_notifier: Arc<Box<dyn Fn() + Send + Sync>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     input_thread: std::thread::JoinHandle<()>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `disk_snapshot` is never used
[INFO] [stdout]    --> src/virtio.rs:294:12
[INFO] [stdout]     |
[INFO] [stdout]  74 | impl Virtio {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 294 |     pub fn disk_snapshot(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/debugger.rs:27:17
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn base_ops(&mut self) -> BaseOps<Self::Arch, Self::Error> {
[INFO] [stdout]    |                 ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn base_ops(&mut self) -> BaseOps<'_, Self::Arch, Self::Error> {
[INFO] [stdout]    |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/debugger.rs:33:28
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn support_breakpoints(&mut self) -> Option<BreakpointsOps<Self>> {
[INFO] [stdout]    |                            ^^^^^^^^^            ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn support_breakpoints(&mut self) -> Option<BreakpointsOps<'_, Self>> {
[INFO] [stdout]    |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/debugger.rs:109:23
[INFO] [stdout]     |
[INFO] [stdout] 109 |     fn support_resume(&mut self) -> Option<SingleThreadResumeOps<Self>> {
[INFO] [stdout]     |                       ^^^^^^^^^            ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 109 |     fn support_resume(&mut self) -> Option<SingleThreadResumeOps<'_, Self>> {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/debugger.rs:139:30
[INFO] [stdout]     |
[INFO] [stdout] 139 |     fn support_sw_breakpoint(&mut self) -> Option<SwBreakpointOps<Self>> {
[INFO] [stdout]     |                              ^^^^^^^^^            ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 139 |     fn support_sw_breakpoint(&mut self) -> Option<SwBreakpointOps<'_, Self>> {
[INFO] [stdout]     |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p_type`
[INFO] [stdout]    --> src/main.rs:224:13
[INFO] [stdout]     |
[INFO] [stdout] 224 |         let p_type = u8_slice_to_u32(&elf[p_type_offset..p_type_offset + 4]) as usize;
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_p_type`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `process_pending_interrupts` is never used
[INFO] [stdout]    --> src/bus.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout]  18 | impl Bus {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn process_pending_interrupts(&mut self, interrupts: &mut BTreeSet<Interrupt>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `interrupt_notifier` and `input_thread` are never read
[INFO] [stdout]   --> src/uart.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct Uart {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 19 |     start_addr: u64,
[INFO] [stdout] 20 |     interrupt_notifier: Arc<Box<dyn Fn() + Send + Sync>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     input_thread: std::thread::JoinHandle<()>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/debugger.rs:27:17
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn base_ops(&mut self) -> BaseOps<Self::Arch, Self::Error> {
[INFO] [stdout]    |                 ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn base_ops(&mut self) -> BaseOps<'_, Self::Arch, Self::Error> {
[INFO] [stdout]    |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/debugger.rs:33:28
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn support_breakpoints(&mut self) -> Option<BreakpointsOps<Self>> {
[INFO] [stdout]    |                            ^^^^^^^^^            ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn support_breakpoints(&mut self) -> Option<BreakpointsOps<'_, Self>> {
[INFO] [stdout]    |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/debugger.rs:109:23
[INFO] [stdout]     |
[INFO] [stdout] 109 |     fn support_resume(&mut self) -> Option<SingleThreadResumeOps<Self>> {
[INFO] [stdout]     |                       ^^^^^^^^^            ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 109 |     fn support_resume(&mut self) -> Option<SingleThreadResumeOps<'_, Self>> {
[INFO] [stdout]     |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/debugger.rs:139:30
[INFO] [stdout]     |
[INFO] [stdout] 139 |     fn support_sw_breakpoint(&mut self) -> Option<SwBreakpointOps<Self>> {
[INFO] [stdout]     |                              ^^^^^^^^^            ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 139 |     fn support_sw_breakpoint(&mut self) -> Option<SwBreakpointOps<'_, Self>> {
[INFO] [stdout]     |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `chrono`
[INFO] [stderr]  --> Cargo.toml:2:1
[INFO] [stderr]   |
[INFO] [stderr] 2 | chrono = "0.4"
[INFO] [stderr]   | ^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `chrono`
[INFO] [stderr] warning: `rv-emu` (manifest) generated 1 warning
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 50.61s
[INFO] running `Command { std: "docker" "inspect" "2415c0818d8df27aff12f53aad8d41f38afdc9acf2b4c5219cde41c626e3e7ca", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2415c0818d8df27aff12f53aad8d41f38afdc9acf2b4c5219cde41c626e3e7ca", kill_on_drop: false }`
[INFO] [stdout] 2415c0818d8df27aff12f53aad8d41f38afdc9acf2b4c5219cde41c626e3e7ca
