[INFO] cloning repository https://github.com/dernatsch/nrv64emu
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dernatsch/nrv64emu" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdernatsch%2Fnrv64emu", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdernatsch%2Fnrv64emu'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 769144151e985190257de206f840c380207965b1
[INFO] checking dernatsch/nrv64emu against 615014f15745532730b9ce7a1d9309f8b4756f93 for pr-160491
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdernatsch%2Fnrv64emu" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/dernatsch/nrv64emu
[INFO] finished tweaking git repo https://github.com/dernatsch/nrv64emu
[INFO] tweaked toml for git repo https://github.com/dernatsch/nrv64emu written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/dernatsch/nrv64emu on toolchain 615014f15745532730b9ce7a1d9309f8b4756f93
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+615014f15745532730b9ce7a1d9309f8b4756f93" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/dernatsch/nrv64emu 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" "+615014f15745532730b9ce7a1d9309f8b4756f93" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking dernatsch/nrv64emu against 615014f15745532730b9ce7a1d9309f8b4756f93 for pr-160491
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdernatsch%2Fnrv64emu" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/dernatsch/nrv64emu
[INFO] finished tweaking git repo https://github.com/dernatsch/nrv64emu
[INFO] tweaked toml for git repo https://github.com/dernatsch/nrv64emu written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/dernatsch/nrv64emu on toolchain 615014f15745532730b9ce7a1d9309f8b4756f93
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+615014f15745532730b9ce7a1d9309f8b4756f93" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/dernatsch/nrv64emu 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" "+615014f15745532730b9ce7a1d9309f8b4756f93" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:00c5645b54fe3ce5dae1417175e3c7fb6a6646c021d554ecd63a097b8b9f3602" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 766e4cf7f97080f547dd202796fda2a86086b811737a597151096446b0438d04
[INFO] running `Command { std: "docker" "start" "766e4cf7f97080f547dd202796fda2a86086b811737a597151096446b0438d04", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "766e4cf7f97080f547dd202796fda2a86086b811737a597151096446b0438d04", 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" "766e4cf7f97080f547dd202796fda2a86086b811737a597151096446b0438d04" "/opt/rustwide/cargo-home/bin/cargo" "+615014f15745532730b9ce7a1d9309f8b4756f93" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "766e4cf7f97080f547dd202796fda2a86086b811737a597151096446b0438d04", 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" "766e4cf7f97080f547dd202796fda2a86086b811737a597151096446b0438d04" "/opt/rustwide/cargo-home/bin/cargo" "+615014f15745532730b9ce7a1d9309f8b4756f93" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]     Checking bytes v1.10.1
[INFO] [stderr]     Checking nrv64emu v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/cpu.rs:613:31
[INFO] [stdout]     |
[INFO] [stdout] 613 |             Instruction::Mret(i) => {
[INFO] [stdout]     |                               ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/cpu.rs:613:31
[INFO] [stdout]     |
[INFO] [stdout] 613 |             Instruction::Mret(i) => {
[INFO] [stdout]     |                               ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `imm`
[INFO] [stdout]    --> src/decoder.rs:280:29
[INFO] [stdout]     |
[INFO] [stdout] 280 |                         let imm = it.imm & 0x1F;
[INFO] [stdout]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_imm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `imm`
[INFO] [stdout]    --> src/decoder.rs:280:29
[INFO] [stdout]     |
[INFO] [stdout] 280 |                         let imm = it.imm & 0x1F;
[INFO] [stdout]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_imm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Halt` and `Breakpoint` are never constructed
[INFO] [stdout]  --> src/cpu.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum HaltReason {
[INFO] [stdout]   |          ---------- variants in this enum
[INFO] [stdout] 4 |     Halt,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 5 |     Steps,
[INFO] [stdout] 6 |     Breakpoint(u64),
[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 `CLINT_BASE` is never used
[INFO] [stdout]  --> src/cpu.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const CLINT_BASE: u64 = 0x02000000;
[INFO] [stdout]   |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PLIC_BASE` is never used
[INFO] [stdout]   --> src/cpu.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const PLIC_BASE: u64 = 0x0C000000;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VIRTIO_DISK_BASE` is never used
[INFO] [stdout]   --> src/cpu.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const VIRTIO_DISK_BASE: u64 = 0x10001000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VIRTIO_NET_BASE` is never used
[INFO] [stdout]   --> src/cpu.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const VIRTIO_NET_BASE: u64 = 0x10001000; //XXX: enough distance?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MISA_RV64GC` is never used
[INFO] [stdout]   --> src/cpu.rs:69:7
[INFO] [stdout]    |
[INFO] [stdout] 69 | const MISA_RV64GC: u64 = (2 << 62) // XLEN=64
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `debug_register_dump`, `debug_read_reg`, `debug_write_mem`, and `debug_read_mem` are never used
[INFO] [stdout]    --> src/cpu.rs:124:12
[INFO] [stdout]     |
[INFO] [stdout]  82 | impl Cpu {
[INFO] [stdout]     | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn debug_register_dump(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub fn debug_read_reg(&self, idx: usize) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub fn debug_write_mem(&mut self, addr: u64, data: &[u8]) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub fn debug_read_mem(&self, addr: u64, len: usize) -> Option<Vec<u8>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `opcode` is never read
[INFO] [stdout]  --> src/decoder.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct RType {
[INFO] [stdout]   |            ----- field in this struct
[INFO] [stdout] 3 |     pub opcode: u8,
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `RType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `opcode` is never read
[INFO] [stdout]   --> src/decoder.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct IType {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] 34 |     pub opcode: u8,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `opcode` is never read
[INFO] [stdout]   --> src/decoder.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub struct SType {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] 61 |     pub opcode: u8,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `opcode` is never read
[INFO] [stdout]   --> src/decoder.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub struct BType {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] 90 |     pub opcode: u8,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `opcode` is never read
[INFO] [stdout]    --> src/decoder.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub struct UType {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] 118 |     pub opcode: u8,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `UType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `opcode` is never read
[INFO] [stdout]    --> src/decoder.rs:138:9
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub struct JType {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] 138 |     pub opcode: u8,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `JType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/decoder.rs:187:10
[INFO] [stdout]     |
[INFO] [stdout] 187 |     Sret(IType),
[INFO] [stdout]     |     ---- ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Instruction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 187 -     Sret(IType),
[INFO] [stdout] 187 +     Sret(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/decoder.rs:188:9
[INFO] [stdout]     |
[INFO] [stdout] 188 |     Wfi(IType),
[INFO] [stdout]     |     --- ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Instruction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 188 -     Wfi(IType),
[INFO] [stdout] 188 +     Wfi(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/decoder.rs:198:9
[INFO] [stdout]     |
[INFO] [stdout] 198 |     Sra(RType),
[INFO] [stdout]     |     --- ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Instruction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 198 -     Sra(RType),
[INFO] [stdout] 198 +     Sra(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/decoder.rs:212:9
[INFO] [stdout]     |
[INFO] [stdout] 212 |     Div(RType),
[INFO] [stdout]     |     --- ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Instruction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 212 -     Div(RType),
[INFO] [stdout] 212 +     Div(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/decoder.rs:214:9
[INFO] [stdout]     |
[INFO] [stdout] 214 |     Rem(RType),
[INFO] [stdout]     |     --- ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Instruction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 214 -     Rem(RType),
[INFO] [stdout] 214 +     Rem(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/decoder.rs:215:10
[INFO] [stdout]     |
[INFO] [stdout] 215 |     Remu(RType),
[INFO] [stdout]     |     ---- ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Instruction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 215 -     Remu(RType),
[INFO] [stdout] 215 +     Remu(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/decoder.rs:236:13
[INFO] [stdout]     |
[INFO] [stdout] 236 |     Invalid(u32),
[INFO] [stdout]     |     ------- ^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Instruction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 236 -     Invalid(u32),
[INFO] [stdout] 236 +     Invalid(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GdbConnection` is never constructed
[INFO] [stdout]  --> src/gdb.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct GdbConnection {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `read_packet`, `find_packet_end`, `send_packet`, and `ack` are never used
[INFO] [stdout]   --> src/gdb.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl GdbConnection {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 10 |     pub fn new(port: u16) -> Result<Self> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn read_packet(&mut self) -> Result<Option<String>> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     fn find_packet_end(buf: &[u8]) -> Option<(usize, usize)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn send_packet(&mut self, data: &str) -> Result<()> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub fn ack(&mut self) -> Result<()> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Halt` and `Breakpoint` are never constructed
[INFO] [stdout]  --> src/cpu.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum HaltReason {
[INFO] [stdout]   |          ---------- variants in this enum
[INFO] [stdout] 4 |     Halt,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 5 |     Steps,
[INFO] [stdout] 6 |     Breakpoint(u64),
[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 `CLINT_BASE` is never used
[INFO] [stdout]  --> src/cpu.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const CLINT_BASE: u64 = 0x02000000;
[INFO] [stdout]   |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PLIC_BASE` is never used
[INFO] [stdout]   --> src/cpu.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const PLIC_BASE: u64 = 0x0C000000;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VIRTIO_DISK_BASE` is never used
[INFO] [stdout]   --> src/cpu.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const VIRTIO_DISK_BASE: u64 = 0x10001000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VIRTIO_NET_BASE` is never used
[INFO] [stdout]   --> src/cpu.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const VIRTIO_NET_BASE: u64 = 0x10001000; //XXX: enough distance?
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MISA_RV64GC` is never used
[INFO] [stdout]   --> src/cpu.rs:69:7
[INFO] [stdout]    |
[INFO] [stdout] 69 | const MISA_RV64GC: u64 = (2 << 62) // XLEN=64
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `debug_register_dump`, `debug_read_reg`, `debug_write_mem`, and `debug_read_mem` are never used
[INFO] [stdout]    --> src/cpu.rs:124:12
[INFO] [stdout]     |
[INFO] [stdout]  82 | impl Cpu {
[INFO] [stdout]     | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn debug_register_dump(&self) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub fn debug_read_reg(&self, idx: usize) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub fn debug_write_mem(&mut self, addr: u64, data: &[u8]) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     pub fn debug_read_mem(&self, addr: u64, len: usize) -> Option<Vec<u8>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `opcode` is never read
[INFO] [stdout]  --> src/decoder.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct RType {
[INFO] [stdout]   |            ----- field in this struct
[INFO] [stdout] 3 |     pub opcode: u8,
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `RType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `opcode` is never read
[INFO] [stdout]   --> src/decoder.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct IType {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] 34 |     pub opcode: u8,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `opcode` is never read
[INFO] [stdout]   --> src/decoder.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub struct SType {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] 61 |     pub opcode: u8,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `opcode` is never read
[INFO] [stdout]   --> src/decoder.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub struct BType {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] 90 |     pub opcode: u8,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `opcode` is never read
[INFO] [stdout]    --> src/decoder.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub struct UType {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] 118 |     pub opcode: u8,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `UType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `opcode` is never read
[INFO] [stdout]    --> src/decoder.rs:138:9
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub struct JType {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] 138 |     pub opcode: u8,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `JType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/decoder.rs:187:10
[INFO] [stdout]     |
[INFO] [stdout] 187 |     Sret(IType),
[INFO] [stdout]     |     ---- ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Instruction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 187 -     Sret(IType),
[INFO] [stdout] 187 +     Sret(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/decoder.rs:188:9
[INFO] [stdout]     |
[INFO] [stdout] 188 |     Wfi(IType),
[INFO] [stdout]     |     --- ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Instruction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 188 -     Wfi(IType),
[INFO] [stdout] 188 +     Wfi(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/decoder.rs:198:9
[INFO] [stdout]     |
[INFO] [stdout] 198 |     Sra(RType),
[INFO] [stdout]     |     --- ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Instruction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 198 -     Sra(RType),
[INFO] [stdout] 198 +     Sra(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/decoder.rs:212:9
[INFO] [stdout]     |
[INFO] [stdout] 212 |     Div(RType),
[INFO] [stdout]     |     --- ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Instruction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 212 -     Div(RType),
[INFO] [stdout] 212 +     Div(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/decoder.rs:214:9
[INFO] [stdout]     |
[INFO] [stdout] 214 |     Rem(RType),
[INFO] [stdout]     |     --- ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Instruction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 214 -     Rem(RType),
[INFO] [stdout] 214 +     Rem(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/decoder.rs:215:10
[INFO] [stdout]     |
[INFO] [stdout] 215 |     Remu(RType),
[INFO] [stdout]     |     ---- ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Instruction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 215 -     Remu(RType),
[INFO] [stdout] 215 +     Remu(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/decoder.rs:236:13
[INFO] [stdout]     |
[INFO] [stdout] 236 |     Invalid(u32),
[INFO] [stdout]     |     ------- ^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Instruction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 236 -     Invalid(u32),
[INFO] [stdout] 236 +     Invalid(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GdbConnection` is never constructed
[INFO] [stdout]  --> src/gdb.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct GdbConnection {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `read_packet`, `find_packet_end`, `send_packet`, and `ack` are never used
[INFO] [stdout]   --> src/gdb.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl GdbConnection {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 10 |     pub fn new(port: u16) -> Result<Self> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn read_packet(&mut self) -> Result<Option<String>> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     fn find_packet_end(buf: &[u8]) -> Option<(usize, usize)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn send_packet(&mut self, data: &str) -> Result<()> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub fn ack(&mut self) -> Result<()> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.62s
[INFO] running `Command { std: "docker" "inspect" "766e4cf7f97080f547dd202796fda2a86086b811737a597151096446b0438d04", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "766e4cf7f97080f547dd202796fda2a86086b811737a597151096446b0438d04", kill_on_drop: false }`
[INFO] [stdout] 766e4cf7f97080f547dd202796fda2a86086b811737a597151096446b0438d04
