[INFO] cloning repository https://github.com/123zmz123/riscv_emulator
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/123zmz123/riscv_emulator" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F123zmz123%2Friscv_emulator", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F123zmz123%2Friscv_emulator'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ac823ab09def37c43ec201180ebde50ad32bb9c4
[INFO] testing 123zmz123/riscv_emulator against master#733b47ea4b1b86216f14ef56e49440c33933f230+rustflags=-Copt-level=3 for pr-138759
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F123zmz123%2Friscv_emulator" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/123zmz123/riscv_emulator
[INFO] finished tweaking git repo https://github.com/123zmz123/riscv_emulator
[INFO] tweaked toml for git repo https://github.com/123zmz123/riscv_emulator written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/123zmz123/riscv_emulator on toolchain 733b47ea4b1b86216f14ef56e49440c33933f230
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/123zmz123/riscv_emulator 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" "+733b47ea4b1b86216f14ef56e49440c33933f230" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a486331c6f7f86dcf191c416f34a62d2a1818933de5726bb0b030c9e2b557338
[INFO] running `Command { std: "docker" "start" "-a" "a486331c6f7f86dcf191c416f34a62d2a1818933de5726bb0b030c9e2b557338", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a486331c6f7f86dcf191c416f34a62d2a1818933de5726bb0b030c9e2b557338", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a486331c6f7f86dcf191c416f34a62d2a1818933de5726bb0b030c9e2b557338", kill_on_drop: false }`
[INFO] [stdout] a486331c6f7f86dcf191c416f34a62d2a1818933de5726bb0b030c9e2b557338
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8f864c94cd1d685228e74e61491d4ae0595481b7a8ef2d74269670d45f0bbbd9
[INFO] running `Command { std: "docker" "start" "-a" "8f864c94cd1d685228e74e61491d4ae0595481b7a8ef2d74269670d45f0bbbd9", kill_on_drop: false }`
[INFO] [stderr]    Compiling riscv_emulator v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/cpu.rs:245:9
[INFO] [stdout]     |
[INFO] [stdout] 245 |           /// check the pending reason and return the interrupt type
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 246 | /         if (pending & MASK_MEIP) != 0 {
[INFO] [stdout] 247 | |             self.csr.store(MIP, self.csr.load(MIP) & !MASK_MEIP);
[INFO] [stdout] 248 | |             return Some(MachineExternalInterrupt);
[INFO] [stdout] 249 | |         }
[INFO] [stdout]     | |_________- rustdoc does not generate documentation for expressions
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::bus::*`
[INFO] [stdout]  --> src/clint.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::bus::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::bus::*`
[INFO] [stdout]   --> src/uart.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::bus::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::cpu::*`
[INFO] [stdout]  --> src/virtio.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::cpu::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::bus::*`
[INFO] [stdout]  --> src/virtio.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::bus::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cvar`
[INFO] [stdout]   --> src/uart.rs:81:20
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let (uart, cvar) = &*self.uart;
[INFO] [stdout]    |                    ^^^^ help: if this is intentional, prefix it with an underscore: `_cvar`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UART_LCR` is never used
[INFO] [stdout]   --> src/param.rs:34:11
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub const UART_LCR: u64 = 3;
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VIRTQ_DESC_F_NEXT` is never used
[INFO] [stdout]   --> src/param.rs:96:11
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub const VIRTQ_DESC_F_NEXT: u16 = 1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VIRTQ_DESC_F_WRITE` is never used
[INFO] [stdout]   --> src/param.rs:97:11
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub const VIRTQ_DESC_F_WRITE: u16 = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VIRTQ_DESC_F_INDIRECT` is never used
[INFO] [stdout]   --> src/param.rs:98:11
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub const VIRTQ_DESC_F_INDIRECT: u16 = 4;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PTESIZE` is never used
[INFO] [stdout]    --> src/param.rs:100:11
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub const PTESIZE:u64 = 8;
[INFO] [stdout]     |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `InstructionAddrMisaligned`, `LoadAccessMisaligned`, and `StoreAMOAddrMisaligned` are never constructed
[INFO] [stdout]   --> src/exception.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 4  | pub enum Exception {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] 5  |     // Riscv Standard Exception
[INFO] [stdout] 6  |     InstructionAddrMisaligned(u64),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 10 |     LoadAccessMisaligned(u64),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     LoadAccessFault(u64),
[INFO] [stdout] 12 |     StoreAMOAddrMisaligned(u64),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Exception` 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: constant `MASK_VS` is never used
[INFO] [stdout]   --> src/csr.rs:56:11
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub const MASK_VS: u64 = 0b11 << 9;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MASK_TVM` is never used
[INFO] [stdout]   --> src/csr.rs:63:11
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub const MASK_TVM: u64 = 1 << 20;
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MASK_TW` is never used
[INFO] [stdout]   --> src/csr.rs:64:11
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub const MASK_TW: u64 = 1 << 21;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MASK_TSR` is never used
[INFO] [stdout]   --> src/csr.rs:65:11
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub const MASK_TSR: u64 = 1 << 22;
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MASK_SXL` is never used
[INFO] [stdout]   --> src/csr.rs:67:11
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub const MASK_SXL: u64 = 0b11 << 34;
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MASK_SBE` is never used
[INFO] [stdout]   --> src/csr.rs:68:11
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub const MASK_SBE: u64 = 1 << 36;
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MASK_MBE` is never used
[INFO] [stdout]   --> src/csr.rs:69:11
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub const MASK_MBE: u64 = 1 << 37;
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `Machine` should have an upper case name
[INFO] [stdout]   --> src/cpu.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const Machine: Mode = 0b11;
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 11 - const Machine: Mode = 0b11;
[INFO] [stdout] 11 + const MACHINE: Mode = 0b11;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `Supervisor` should have an upper case name
[INFO] [stdout]   --> src/cpu.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const Supervisor: Mode = 0b01;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 12 - const Supervisor: Mode = 0b01;
[INFO] [stdout] 12 + const SUPERVISOR: Mode = 0b01;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `User` should have an upper case name
[INFO] [stdout]   --> src/cpu.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const User: Mode = 0b00;
[INFO] [stdout]    |       ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 13 - const User: Mode = 0b00;
[INFO] [stdout] 13 + const USER: Mode = 0b00;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `STATUS` should have a snake case name
[INFO] [stdout]    --> src/cpu.rs:125:14
[INFO] [stdout]     |
[INFO] [stdout] 125 |         let (STATUS, TVEC, CAUSE, TVAL,EPC,MASK_PIE,pie_i,MASK_IE,ie_i,MASK_PP,pp_i) 
[INFO] [stdout]     |              ^^^^^^ help: convert the identifier to snake case: `status`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `TVEC` should have a snake case name
[INFO] [stdout]    --> src/cpu.rs:125:22
[INFO] [stdout]     |
[INFO] [stdout] 125 |         let (STATUS, TVEC, CAUSE, TVAL,EPC,MASK_PIE,pie_i,MASK_IE,ie_i,MASK_PP,pp_i) 
[INFO] [stdout]     |                      ^^^^ help: convert the identifier to snake case: `tvec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `CAUSE` should have a snake case name
[INFO] [stdout]    --> src/cpu.rs:125:28
[INFO] [stdout]     |
[INFO] [stdout] 125 |         let (STATUS, TVEC, CAUSE, TVAL,EPC,MASK_PIE,pie_i,MASK_IE,ie_i,MASK_PP,pp_i) 
[INFO] [stdout]     |                            ^^^^^ help: convert the identifier to snake case: `cause`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `TVAL` should have a snake case name
[INFO] [stdout]    --> src/cpu.rs:125:35
[INFO] [stdout]     |
[INFO] [stdout] 125 |         let (STATUS, TVEC, CAUSE, TVAL,EPC,MASK_PIE,pie_i,MASK_IE,ie_i,MASK_PP,pp_i) 
[INFO] [stdout]     |                                   ^^^^ help: convert the identifier to snake case: `tval`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `EPC` should have a snake case name
[INFO] [stdout]    --> src/cpu.rs:125:40
[INFO] [stdout]     |
[INFO] [stdout] 125 |         let (STATUS, TVEC, CAUSE, TVAL,EPC,MASK_PIE,pie_i,MASK_IE,ie_i,MASK_PP,pp_i) 
[INFO] [stdout]     |                                        ^^^ help: convert the identifier to snake case: `epc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `MASK_PIE` should have a snake case name
[INFO] [stdout]    --> src/cpu.rs:125:44
[INFO] [stdout]     |
[INFO] [stdout] 125 |         let (STATUS, TVEC, CAUSE, TVAL,EPC,MASK_PIE,pie_i,MASK_IE,ie_i,MASK_PP,pp_i) 
[INFO] [stdout]     |                                            ^^^^^^^^ help: convert the identifier to snake case: `mask_pie`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `MASK_IE` should have a snake case name
[INFO] [stdout]    --> src/cpu.rs:125:59
[INFO] [stdout]     |
[INFO] [stdout] 125 |         let (STATUS, TVEC, CAUSE, TVAL,EPC,MASK_PIE,pie_i,MASK_IE,ie_i,MASK_PP,pp_i) 
[INFO] [stdout]     |                                                           ^^^^^^^ help: convert the identifier to snake case: `mask_ie`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `MASK_PP` should have a snake case name
[INFO] [stdout]    --> src/cpu.rs:125:72
[INFO] [stdout]     |
[INFO] [stdout] 125 |         let (STATUS, TVEC, CAUSE, TVAL,EPC,MASK_PIE,pie_i,MASK_IE,ie_i,MASK_PP,pp_i) 
[INFO] [stdout]     |                                                                        ^^^^^^^ help: convert the identifier to snake case: `mask_pp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `STATUS` should have a snake case name
[INFO] [stdout]    --> src/cpu.rs:162:14
[INFO] [stdout]     |
[INFO] [stdout] 162 |         let (STATUS, TVEC, CAUSE, TVAL, EPC, MASK_PIE, pie_i, MASK_IE, ie_i, MASK_PP, pp_i) 
[INFO] [stdout]     |              ^^^^^^ help: convert the identifier to snake case: `status`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `TVEC` should have a snake case name
[INFO] [stdout]    --> src/cpu.rs:162:22
[INFO] [stdout]     |
[INFO] [stdout] 162 |         let (STATUS, TVEC, CAUSE, TVAL, EPC, MASK_PIE, pie_i, MASK_IE, ie_i, MASK_PP, pp_i) 
[INFO] [stdout]     |                      ^^^^ help: convert the identifier to snake case: `tvec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `CAUSE` should have a snake case name
[INFO] [stdout]    --> src/cpu.rs:162:28
[INFO] [stdout]     |
[INFO] [stdout] 162 |         let (STATUS, TVEC, CAUSE, TVAL, EPC, MASK_PIE, pie_i, MASK_IE, ie_i, MASK_PP, pp_i) 
[INFO] [stdout]     |                            ^^^^^ help: convert the identifier to snake case: `cause`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `TVAL` should have a snake case name
[INFO] [stdout]    --> src/cpu.rs:162:35
[INFO] [stdout]     |
[INFO] [stdout] 162 |         let (STATUS, TVEC, CAUSE, TVAL, EPC, MASK_PIE, pie_i, MASK_IE, ie_i, MASK_PP, pp_i) 
[INFO] [stdout]     |                                   ^^^^ help: convert the identifier to snake case: `tval`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `EPC` should have a snake case name
[INFO] [stdout]    --> src/cpu.rs:162:41
[INFO] [stdout]     |
[INFO] [stdout] 162 |         let (STATUS, TVEC, CAUSE, TVAL, EPC, MASK_PIE, pie_i, MASK_IE, ie_i, MASK_PP, pp_i) 
[INFO] [stdout]     |                                         ^^^ help: convert the identifier to snake case: `epc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `MASK_PIE` should have a snake case name
[INFO] [stdout]    --> src/cpu.rs:162:46
[INFO] [stdout]     |
[INFO] [stdout] 162 |         let (STATUS, TVEC, CAUSE, TVAL, EPC, MASK_PIE, pie_i, MASK_IE, ie_i, MASK_PP, pp_i) 
[INFO] [stdout]     |                                              ^^^^^^^^ help: convert the identifier to snake case: `mask_pie`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `MASK_IE` should have a snake case name
[INFO] [stdout]    --> src/cpu.rs:162:63
[INFO] [stdout]     |
[INFO] [stdout] 162 |         let (STATUS, TVEC, CAUSE, TVAL, EPC, MASK_PIE, pie_i, MASK_IE, ie_i, MASK_PP, pp_i) 
[INFO] [stdout]     |                                                               ^^^^^^^ help: convert the identifier to snake case: `mask_ie`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `MASK_PP` should have a snake case name
[INFO] [stdout]    --> src/cpu.rs:162:78
[INFO] [stdout]     |
[INFO] [stdout] 162 |         let (STATUS, TVEC, CAUSE, TVAL, EPC, MASK_PIE, pie_i, MASK_IE, ie_i, MASK_PP, pp_i) 
[INFO] [stdout]     |                                                                              ^^^^^^^ help: convert the identifier to snake case: `mask_pp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `desc_size` should have an upper case name
[INFO] [stdout]    --> src/cpu.rs:273:15
[INFO] [stdout]     |
[INFO] [stdout] 273 |         const desc_size: u64 = size_of::<VirtqDesc>() as u64;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 273 -         const desc_size: u64 = size_of::<VirtqDesc>() as u64;
[INFO] [stdout] 273 +         const DESC_SIZE: u64 = size_of::<VirtqDesc>() as u64;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `User` should have an upper case name
[INFO] [stdout]    --> src/cpu.rs:985:37
[INFO] [stdout]     |
[INFO] [stdout] 985 | ...                   User => Err(Exception::EnvironmentCallFromUMode(self.pc)),
[INFO] [stdout]     |                       ^^^^ help: convert the identifier to upper case: `USER`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `Supervisor` should have an upper case name
[INFO] [stdout]    --> src/cpu.rs:986:37
[INFO] [stdout]     |
[INFO] [stdout] 986 | ...                   Supervisor => Err(Exception::EnvironmentCallFromSMode(self.pc)),
[INFO] [stdout]     |                       ^^^^^^^^^^ help: convert the identifier to upper case: `SUPERVISOR`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `Machine` should have an upper case name
[INFO] [stdout]    --> src/cpu.rs:987:37
[INFO] [stdout]     |
[INFO] [stdout] 987 | ...                   Machine => Err(Exception::EnvironmentCallFromMMode(self.pc)),
[INFO] [stdout]     |                       ^^^^^^^ help: convert the identifier to upper case: `MACHINE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.12s
[INFO] running `Command { std: "docker" "inspect" "8f864c94cd1d685228e74e61491d4ae0595481b7a8ef2d74269670d45f0bbbd9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8f864c94cd1d685228e74e61491d4ae0595481b7a8ef2d74269670d45f0bbbd9", kill_on_drop: false }`
[INFO] [stdout] 8f864c94cd1d685228e74e61491d4ae0595481b7a8ef2d74269670d45f0bbbd9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4679d3e7d11f61f786c318db3db4252d0b468814f9b71540dafc3a22be40d7dd
[INFO] running `Command { std: "docker" "start" "-a" "4679d3e7d11f61f786c318db3db4252d0b468814f9b71540dafc3a22be40d7dd", kill_on_drop: false }`
[INFO] [stderr]    Compiling riscv_emulator v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/cpu.rs:245:9
[INFO] [stdout]     |
[INFO] [stdout] 245 |           /// check the pending reason and return the interrupt type
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 246 | /         if (pending & MASK_MEIP) != 0 {
[INFO] [stdout] 247 | |             self.csr.store(MIP, self.csr.load(MIP) & !MASK_MEIP);
[INFO] [stdout] 248 | |             return Some(MachineExternalInterrupt);
[INFO] [stdout] 249 | |         }
[INFO] [stdout]     | |_________- rustdoc does not generate documentation for expressions
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::bus::*`
[INFO] [stdout]  --> src/clint.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::bus::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::bus::*`
[INFO] [stdout]   --> src/uart.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::bus::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::cpu::*`
[INFO] [stdout]  --> src/virtio.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::cpu::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::bus::*`
[INFO] [stdout]  --> src/virtio.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::bus::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cvar`
[INFO] [stdout]   --> src/uart.rs:81:20
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let (uart, cvar) = &*self.uart;
[INFO] [stdout]    |                    ^^^^ help: if this is intentional, prefix it with an underscore: `_cvar`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UART_LCR` is never used
[INFO] [stdout]   --> src/param.rs:34:11
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub const UART_LCR: u64 = 3;
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VIRTQ_DESC_F_NEXT` is never used
[INFO] [stdout]   --> src/param.rs:96:11
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub const VIRTQ_DESC_F_NEXT: u16 = 1;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VIRTQ_DESC_F_WRITE` is never used
[INFO] [stdout]   --> src/param.rs:97:11
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub const VIRTQ_DESC_F_WRITE: u16 = 2;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `VIRTQ_DESC_F_INDIRECT` is never used
[INFO] [stdout]   --> src/param.rs:98:11
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub const VIRTQ_DESC_F_INDIRECT: u16 = 4;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PTESIZE` is never used
[INFO] [stdout]    --> src/param.rs:100:11
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub const PTESIZE:u64 = 8;
[INFO] [stdout]     |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `InstructionAddrMisaligned`, `LoadAccessMisaligned`, and `StoreAMOAddrMisaligned` are never constructed
[INFO] [stdout]   --> src/exception.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout] 4  | pub enum Exception {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] 5  |     // Riscv Standard Exception
[INFO] [stdout] 6  |     InstructionAddrMisaligned(u64),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 10 |     LoadAccessMisaligned(u64),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |     LoadAccessFault(u64),
[INFO] [stdout] 12 |     StoreAMOAddrMisaligned(u64),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Exception` 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: constant `MASK_VS` is never used
[INFO] [stdout]   --> src/csr.rs:56:11
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub const MASK_VS: u64 = 0b11 << 9;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MASK_TVM` is never used
[INFO] [stdout]   --> src/csr.rs:63:11
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub const MASK_TVM: u64 = 1 << 20;
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MASK_TW` is never used
[INFO] [stdout]   --> src/csr.rs:64:11
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub const MASK_TW: u64 = 1 << 21;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MASK_TSR` is never used
[INFO] [stdout]   --> src/csr.rs:65:11
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub const MASK_TSR: u64 = 1 << 22;
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MASK_SXL` is never used
[INFO] [stdout]   --> src/csr.rs:67:11
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub const MASK_SXL: u64 = 0b11 << 34;
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MASK_SBE` is never used
[INFO] [stdout]   --> src/csr.rs:68:11
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub const MASK_SBE: u64 = 1 << 36;
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MASK_MBE` is never used
[INFO] [stdout]   --> src/csr.rs:69:11
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub const MASK_MBE: u64 = 1 << 37;
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `Machine` should have an upper case name
[INFO] [stdout]   --> src/cpu.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const Machine: Mode = 0b11;
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 11 - const Machine: Mode = 0b11;
[INFO] [stdout] 11 + const MACHINE: Mode = 0b11;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `Supervisor` should have an upper case name
[INFO] [stdout]   --> src/cpu.rs:12:7
[INFO] [stdout]    |
[INFO] [stdout] 12 | const Supervisor: Mode = 0b01;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 12 - const Supervisor: Mode = 0b01;
[INFO] [stdout] 12 + const SUPERVISOR: Mode = 0b01;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `User` should have an upper case name
[INFO] [stdout]   --> src/cpu.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const User: Mode = 0b00;
[INFO] [stdout]    |       ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 13 - const User: Mode = 0b00;
[INFO] [stdout] 13 + const USER: Mode = 0b00;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `STATUS` should have a snake case name
[INFO] [stdout]    --> src/cpu.rs:125:14
[INFO] [stdout]     |
[INFO] [stdout] 125 |         let (STATUS, TVEC, CAUSE, TVAL,EPC,MASK_PIE,pie_i,MASK_IE,ie_i,MASK_PP,pp_i) 
[INFO] [stdout]     |              ^^^^^^ help: convert the identifier to snake case: `status`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `TVEC` should have a snake case name
[INFO] [stdout]    --> src/cpu.rs:125:22
[INFO] [stdout]     |
[INFO] [stdout] 125 |         let (STATUS, TVEC, CAUSE, TVAL,EPC,MASK_PIE,pie_i,MASK_IE,ie_i,MASK_PP,pp_i) 
[INFO] [stdout]     |                      ^^^^ help: convert the identifier to snake case: `tvec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `CAUSE` should have a snake case name
[INFO] [stdout]    --> src/cpu.rs:125:28
[INFO] [stdout]     |
[INFO] [stdout] 125 |         let (STATUS, TVEC, CAUSE, TVAL,EPC,MASK_PIE,pie_i,MASK_IE,ie_i,MASK_PP,pp_i) 
[INFO] [stdout]     |                            ^^^^^ help: convert the identifier to snake case: `cause`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `TVAL` should have a snake case name
[INFO] [stdout]    --> src/cpu.rs:125:35
[INFO] [stdout]     |
[INFO] [stdout] 125 |         let (STATUS, TVEC, CAUSE, TVAL,EPC,MASK_PIE,pie_i,MASK_IE,ie_i,MASK_PP,pp_i) 
[INFO] [stdout]     |                                   ^^^^ help: convert the identifier to snake case: `tval`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `EPC` should have a snake case name
[INFO] [stdout]    --> src/cpu.rs:125:40
[INFO] [stdout]     |
[INFO] [stdout] 125 |         let (STATUS, TVEC, CAUSE, TVAL,EPC,MASK_PIE,pie_i,MASK_IE,ie_i,MASK_PP,pp_i) 
[INFO] [stdout]     |                                        ^^^ help: convert the identifier to snake case: `epc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `MASK_PIE` should have a snake case name
[INFO] [stdout]    --> src/cpu.rs:125:44
[INFO] [stdout]     |
[INFO] [stdout] 125 |         let (STATUS, TVEC, CAUSE, TVAL,EPC,MASK_PIE,pie_i,MASK_IE,ie_i,MASK_PP,pp_i) 
[INFO] [stdout]     |                                            ^^^^^^^^ help: convert the identifier to snake case: `mask_pie`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `MASK_IE` should have a snake case name
[INFO] [stdout]    --> src/cpu.rs:125:59
[INFO] [stdout]     |
[INFO] [stdout] 125 |         let (STATUS, TVEC, CAUSE, TVAL,EPC,MASK_PIE,pie_i,MASK_IE,ie_i,MASK_PP,pp_i) 
[INFO] [stdout]     |                                                           ^^^^^^^ help: convert the identifier to snake case: `mask_ie`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `MASK_PP` should have a snake case name
[INFO] [stdout]    --> src/cpu.rs:125:72
[INFO] [stdout]     |
[INFO] [stdout] 125 |         let (STATUS, TVEC, CAUSE, TVAL,EPC,MASK_PIE,pie_i,MASK_IE,ie_i,MASK_PP,pp_i) 
[INFO] [stdout]     |                                                                        ^^^^^^^ help: convert the identifier to snake case: `mask_pp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `STATUS` should have a snake case name
[INFO] [stdout]    --> src/cpu.rs:162:14
[INFO] [stdout]     |
[INFO] [stdout] 162 |         let (STATUS, TVEC, CAUSE, TVAL, EPC, MASK_PIE, pie_i, MASK_IE, ie_i, MASK_PP, pp_i) 
[INFO] [stdout]     |              ^^^^^^ help: convert the identifier to snake case: `status`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `TVEC` should have a snake case name
[INFO] [stdout]    --> src/cpu.rs:162:22
[INFO] [stdout]     |
[INFO] [stdout] 162 |         let (STATUS, TVEC, CAUSE, TVAL, EPC, MASK_PIE, pie_i, MASK_IE, ie_i, MASK_PP, pp_i) 
[INFO] [stdout]     |                      ^^^^ help: convert the identifier to snake case: `tvec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `CAUSE` should have a snake case name
[INFO] [stdout]    --> src/cpu.rs:162:28
[INFO] [stdout]     |
[INFO] [stdout] 162 |         let (STATUS, TVEC, CAUSE, TVAL, EPC, MASK_PIE, pie_i, MASK_IE, ie_i, MASK_PP, pp_i) 
[INFO] [stdout]     |                            ^^^^^ help: convert the identifier to snake case: `cause`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `TVAL` should have a snake case name
[INFO] [stdout]    --> src/cpu.rs:162:35
[INFO] [stdout]     |
[INFO] [stdout] 162 |         let (STATUS, TVEC, CAUSE, TVAL, EPC, MASK_PIE, pie_i, MASK_IE, ie_i, MASK_PP, pp_i) 
[INFO] [stdout]     |                                   ^^^^ help: convert the identifier to snake case: `tval`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `EPC` should have a snake case name
[INFO] [stdout]    --> src/cpu.rs:162:41
[INFO] [stdout]     |
[INFO] [stdout] 162 |         let (STATUS, TVEC, CAUSE, TVAL, EPC, MASK_PIE, pie_i, MASK_IE, ie_i, MASK_PP, pp_i) 
[INFO] [stdout]     |                                         ^^^ help: convert the identifier to snake case: `epc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `MASK_PIE` should have a snake case name
[INFO] [stdout]    --> src/cpu.rs:162:46
[INFO] [stdout]     |
[INFO] [stdout] 162 |         let (STATUS, TVEC, CAUSE, TVAL, EPC, MASK_PIE, pie_i, MASK_IE, ie_i, MASK_PP, pp_i) 
[INFO] [stdout]     |                                              ^^^^^^^^ help: convert the identifier to snake case: `mask_pie`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `MASK_IE` should have a snake case name
[INFO] [stdout]    --> src/cpu.rs:162:63
[INFO] [stdout]     |
[INFO] [stdout] 162 |         let (STATUS, TVEC, CAUSE, TVAL, EPC, MASK_PIE, pie_i, MASK_IE, ie_i, MASK_PP, pp_i) 
[INFO] [stdout]     |                                                               ^^^^^^^ help: convert the identifier to snake case: `mask_ie`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `MASK_PP` should have a snake case name
[INFO] [stdout]    --> src/cpu.rs:162:78
[INFO] [stdout]     |
[INFO] [stdout] 162 |         let (STATUS, TVEC, CAUSE, TVAL, EPC, MASK_PIE, pie_i, MASK_IE, ie_i, MASK_PP, pp_i) 
[INFO] [stdout]     |                                                                              ^^^^^^^ help: convert the identifier to snake case: `mask_pp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `desc_size` should have an upper case name
[INFO] [stdout]    --> src/cpu.rs:273:15
[INFO] [stdout]     |
[INFO] [stdout] 273 |         const desc_size: u64 = size_of::<VirtqDesc>() as u64;
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 273 -         const desc_size: u64 = size_of::<VirtqDesc>() as u64;
[INFO] [stdout] 273 +         const DESC_SIZE: u64 = size_of::<VirtqDesc>() as u64;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `User` should have an upper case name
[INFO] [stdout]    --> src/cpu.rs:985:37
[INFO] [stdout]     |
[INFO] [stdout] 985 | ...                   User => Err(Exception::EnvironmentCallFromUMode(self.pc)),
[INFO] [stdout]     |                       ^^^^ help: convert the identifier to upper case: `USER`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `Supervisor` should have an upper case name
[INFO] [stdout]    --> src/cpu.rs:986:37
[INFO] [stdout]     |
[INFO] [stdout] 986 | ...                   Supervisor => Err(Exception::EnvironmentCallFromSMode(self.pc)),
[INFO] [stdout]     |                       ^^^^^^^^^^ help: convert the identifier to upper case: `SUPERVISOR`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant in pattern `Machine` should have an upper case name
[INFO] [stdout]    --> src/cpu.rs:987:37
[INFO] [stdout]     |
[INFO] [stdout] 987 | ...                   Machine => Err(Exception::EnvironmentCallFromMMode(self.pc)),
[INFO] [stdout]     |                       ^^^^^^^ help: convert the identifier to upper case: `MACHINE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.37s
[INFO] running `Command { std: "docker" "inspect" "4679d3e7d11f61f786c318db3db4252d0b468814f9b71540dafc3a22be40d7dd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4679d3e7d11f61f786c318db3db4252d0b468814f9b71540dafc3a22be40d7dd", kill_on_drop: false }`
[INFO] [stdout] 4679d3e7d11f61f786c318db3db4252d0b468814f9b71540dafc3a22be40d7dd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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 -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+733b47ea4b1b86216f14ef56e49440c33933f230" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 262b093378d0a1fcb2d644eb046cb77bb29779f24fe433c88d02b35afc4daae9
[INFO] running `Command { std: "docker" "start" "-a" "262b093378d0a1fcb2d644eb046cb77bb29779f24fe433c88d02b35afc4daae9", kill_on_drop: false }`
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/cpu.rs:245:9
[INFO] [stderr]     |
[INFO] [stderr] 245 |           /// check the pending reason and return the interrupt type
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 246 | /         if (pending & MASK_MEIP) != 0 {
[INFO] [stderr] 247 | |             self.csr.store(MIP, self.csr.load(MIP) & !MASK_MEIP);
[INFO] [stderr] 248 | |             return Some(MachineExternalInterrupt);
[INFO] [stderr] 249 | |         }
[INFO] [stderr]     | |_________- rustdoc does not generate documentation for expressions
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr]     = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::bus::*`
[INFO] [stderr]  --> src/clint.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::bus::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::bus::*`
[INFO] [stderr]   --> src/uart.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use crate::bus::*;
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::cpu::*`
[INFO] [stderr]  --> src/virtio.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::cpu::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::bus::*`
[INFO] [stderr]  --> src/virtio.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::bus::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cvar`
[INFO] [stderr]   --> src/uart.rs:81:20
[INFO] [stderr]    |
[INFO] [stderr] 81 |         let (uart, cvar) = &*self.uart;
[INFO] [stderr]    |                    ^^^^ help: if this is intentional, prefix it with an underscore: `_cvar`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `UART_LCR` is never used
[INFO] [stderr]   --> src/param.rs:34:11
[INFO] [stderr]    |
[INFO] [stderr] 34 | pub const UART_LCR: u64 = 3;
[INFO] [stderr]    |           ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `VIRTQ_DESC_F_NEXT` is never used
[INFO] [stderr]   --> src/param.rs:96:11
[INFO] [stderr]    |
[INFO] [stderr] 96 | pub const VIRTQ_DESC_F_NEXT: u16 = 1;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `VIRTQ_DESC_F_WRITE` is never used
[INFO] [stderr]   --> src/param.rs:97:11
[INFO] [stderr]    |
[INFO] [stderr] 97 | pub const VIRTQ_DESC_F_WRITE: u16 = 2;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `VIRTQ_DESC_F_INDIRECT` is never used
[INFO] [stderr]   --> src/param.rs:98:11
[INFO] [stderr]    |
[INFO] [stderr] 98 | pub const VIRTQ_DESC_F_INDIRECT: u16 = 4;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PTESIZE` is never used
[INFO] [stderr]    --> src/param.rs:100:11
[INFO] [stderr]     |
[INFO] [stderr] 100 | pub const PTESIZE:u64 = 8;
[INFO] [stderr]     |           ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `InstructionAddrMisaligned`, `LoadAccessMisaligned`, and `StoreAMOAddrMisaligned` are never constructed
[INFO] [stderr]   --> src/exception.rs:6:5
[INFO] [stderr]    |
[INFO] [stderr] 4  | pub enum Exception {
[INFO] [stderr]    |          --------- variants in this enum
[INFO] [stderr] 5  |     // Riscv Standard Exception
[INFO] [stderr] 6  |     InstructionAddrMisaligned(u64),
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 10 |     LoadAccessMisaligned(u64),
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 11 |     LoadAccessFault(u64),
[INFO] [stderr] 12 |     StoreAMOAddrMisaligned(u64),
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Exception` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: constant `MASK_VS` is never used
[INFO] [stderr]   --> src/csr.rs:56:11
[INFO] [stderr]    |
[INFO] [stderr] 56 | pub const MASK_VS: u64 = 0b11 << 9;
[INFO] [stderr]    |           ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `MASK_TVM` is never used
[INFO] [stderr]   --> src/csr.rs:63:11
[INFO] [stderr]    |
[INFO] [stderr] 63 | pub const MASK_TVM: u64 = 1 << 20;
[INFO] [stderr]    |           ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `MASK_TW` is never used
[INFO] [stderr]   --> src/csr.rs:64:11
[INFO] [stderr]    |
[INFO] [stderr] 64 | pub const MASK_TW: u64 = 1 << 21;
[INFO] [stderr]    |           ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `MASK_TSR` is never used
[INFO] [stderr]   --> src/csr.rs:65:11
[INFO] [stderr]    |
[INFO] [stderr] 65 | pub const MASK_TSR: u64 = 1 << 22;
[INFO] [stderr]    |           ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `MASK_SXL` is never used
[INFO] [stderr]   --> src/csr.rs:67:11
[INFO] [stderr]    |
[INFO] [stderr] 67 | pub const MASK_SXL: u64 = 0b11 << 34;
[INFO] [stderr]    |           ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `MASK_SBE` is never used
[INFO] [stderr]   --> src/csr.rs:68:11
[INFO] [stderr]    |
[INFO] [stderr] 68 | pub const MASK_SBE: u64 = 1 << 36;
[INFO] [stderr]    |           ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `MASK_MBE` is never used
[INFO] [stderr]   --> src/csr.rs:69:11
[INFO] [stderr]    |
[INFO] [stderr] 69 | pub const MASK_MBE: u64 = 1 << 37;
[INFO] [stderr]    |           ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `Machine` should have an upper case name
[INFO] [stderr]   --> src/cpu.rs:11:7
[INFO] [stderr]    |
[INFO] [stderr] 11 | const Machine: Mode = 0b11;
[INFO] [stderr]    |       ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stderr] help: convert the identifier to upper case
[INFO] [stderr]    |
[INFO] [stderr] 11 - const Machine: Mode = 0b11;
[INFO] [stderr] 11 + const MACHINE: Mode = 0b11;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: constant `Supervisor` should have an upper case name
[INFO] [stderr]   --> src/cpu.rs:12:7
[INFO] [stderr]    |
[INFO] [stderr] 12 | const Supervisor: Mode = 0b01;
[INFO] [stderr]    |       ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: convert the identifier to upper case
[INFO] [stderr]    |
[INFO] [stderr] 12 - const Supervisor: Mode = 0b01;
[INFO] [stderr] 12 + const SUPERVISOR: Mode = 0b01;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: constant `User` should have an upper case name
[INFO] [stderr]   --> src/cpu.rs:13:7
[INFO] [stderr]    |
[INFO] [stderr] 13 | const User: Mode = 0b00;
[INFO] [stderr]    |       ^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: convert the identifier to upper case
[INFO] [stderr]    |
[INFO] [stderr] 13 - const User: Mode = 0b00;
[INFO] [stderr] 13 + const USER: Mode = 0b00;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: variable `STATUS` should have a snake case name
[INFO] [stderr]    --> src/cpu.rs:125:14
[INFO] [stderr]     |
[INFO] [stderr] 125 |         let (STATUS, TVEC, CAUSE, TVAL,EPC,MASK_PIE,pie_i,MASK_IE,ie_i,MASK_PP,pp_i) 
[INFO] [stderr]     |              ^^^^^^ help: convert the identifier to snake case: `status`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `TVEC` should have a snake case name
[INFO] [stderr]    --> src/cpu.rs:125:22
[INFO] [stderr]     |
[INFO] [stderr] 125 |         let (STATUS, TVEC, CAUSE, TVAL,EPC,MASK_PIE,pie_i,MASK_IE,ie_i,MASK_PP,pp_i) 
[INFO] [stderr]     |                      ^^^^ help: convert the identifier to snake case: `tvec`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `CAUSE` should have a snake case name
[INFO] [stderr]    --> src/cpu.rs:125:28
[INFO] [stderr]     |
[INFO] [stderr] 125 |         let (STATUS, TVEC, CAUSE, TVAL,EPC,MASK_PIE,pie_i,MASK_IE,ie_i,MASK_PP,pp_i) 
[INFO] [stderr]     |                            ^^^^^ help: convert the identifier to snake case: `cause`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `TVAL` should have a snake case name
[INFO] [stderr]    --> src/cpu.rs:125:35
[INFO] [stderr]     |
[INFO] [stderr] 125 |         let (STATUS, TVEC, CAUSE, TVAL,EPC,MASK_PIE,pie_i,MASK_IE,ie_i,MASK_PP,pp_i) 
[INFO] [stderr]     |                                   ^^^^ help: convert the identifier to snake case: `tval`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `EPC` should have a snake case name
[INFO] [stderr]    --> src/cpu.rs:125:40
[INFO] [stderr]     |
[INFO] [stderr] 125 |         let (STATUS, TVEC, CAUSE, TVAL,EPC,MASK_PIE,pie_i,MASK_IE,ie_i,MASK_PP,pp_i) 
[INFO] [stderr]     |                                        ^^^ help: convert the identifier to snake case: `epc`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `MASK_PIE` should have a snake case name
[INFO] [stderr]    --> src/cpu.rs:125:44
[INFO] [stderr]     |
[INFO] [stderr] 125 |         let (STATUS, TVEC, CAUSE, TVAL,EPC,MASK_PIE,pie_i,MASK_IE,ie_i,MASK_PP,pp_i) 
[INFO] [stderr]     |                                            ^^^^^^^^ help: convert the identifier to snake case: `mask_pie`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `MASK_IE` should have a snake case name
[INFO] [stderr]    --> src/cpu.rs:125:59
[INFO] [stderr]     |
[INFO] [stderr] 125 |         let (STATUS, TVEC, CAUSE, TVAL,EPC,MASK_PIE,pie_i,MASK_IE,ie_i,MASK_PP,pp_i) 
[INFO] [stderr]     |                                                           ^^^^^^^ help: convert the identifier to snake case: `mask_ie`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `MASK_PP` should have a snake case name
[INFO] [stderr]    --> src/cpu.rs:125:72
[INFO] [stderr]     |
[INFO] [stderr] 125 |         let (STATUS, TVEC, CAUSE, TVAL,EPC,MASK_PIE,pie_i,MASK_IE,ie_i,MASK_PP,pp_i) 
[INFO] [stderr]     |                                                                        ^^^^^^^ help: convert the identifier to snake case: `mask_pp`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `STATUS` should have a snake case name
[INFO] [stderr]    --> src/cpu.rs:162:14
[INFO] [stderr]     |
[INFO] [stderr] 162 |         let (STATUS, TVEC, CAUSE, TVAL, EPC, MASK_PIE, pie_i, MASK_IE, ie_i, MASK_PP, pp_i) 
[INFO] [stderr]     |              ^^^^^^ help: convert the identifier to snake case: `status`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `TVEC` should have a snake case name
[INFO] [stderr]    --> src/cpu.rs:162:22
[INFO] [stderr]     |
[INFO] [stderr] 162 |         let (STATUS, TVEC, CAUSE, TVAL, EPC, MASK_PIE, pie_i, MASK_IE, ie_i, MASK_PP, pp_i) 
[INFO] [stderr]     |                      ^^^^ help: convert the identifier to snake case: `tvec`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `CAUSE` should have a snake case name
[INFO] [stderr]    --> src/cpu.rs:162:28
[INFO] [stderr]     |
[INFO] [stderr] 162 |         let (STATUS, TVEC, CAUSE, TVAL, EPC, MASK_PIE, pie_i, MASK_IE, ie_i, MASK_PP, pp_i) 
[INFO] [stderr]     |                            ^^^^^ help: convert the identifier to snake case: `cause`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `TVAL` should have a snake case name
[INFO] [stderr]    --> src/cpu.rs:162:35
[INFO] [stderr]     |
[INFO] [stderr] 162 |         let (STATUS, TVEC, CAUSE, TVAL, EPC, MASK_PIE, pie_i, MASK_IE, ie_i, MASK_PP, pp_i) 
[INFO] [stderr]     |                                   ^^^^ help: convert the identifier to snake case: `tval`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `EPC` should have a snake case name
[INFO] [stderr]    --> src/cpu.rs:162:41
[INFO] [stderr]     |
[INFO] [stderr] 162 |         let (STATUS, TVEC, CAUSE, TVAL, EPC, MASK_PIE, pie_i, MASK_IE, ie_i, MASK_PP, pp_i) 
[INFO] [stderr]     |                                         ^^^ help: convert the identifier to snake case: `epc`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `MASK_PIE` should have a snake case name
[INFO] [stderr]    --> src/cpu.rs:162:46
[INFO] [stderr]     |
[INFO] [stderr] 162 |         let (STATUS, TVEC, CAUSE, TVAL, EPC, MASK_PIE, pie_i, MASK_IE, ie_i, MASK_PP, pp_i) 
[INFO] [stderr]     |                                              ^^^^^^^^ help: convert the identifier to snake case: `mask_pie`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `MASK_IE` should have a snake case name
[INFO] [stderr]    --> src/cpu.rs:162:63
[INFO] [stderr]     |
[INFO] [stderr] 162 |         let (STATUS, TVEC, CAUSE, TVAL, EPC, MASK_PIE, pie_i, MASK_IE, ie_i, MASK_PP, pp_i) 
[INFO] [stderr]     |                                                               ^^^^^^^ help: convert the identifier to snake case: `mask_ie`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `MASK_PP` should have a snake case name
[INFO] [stderr]    --> src/cpu.rs:162:78
[INFO] [stderr]     |
[INFO] [stderr] 162 |         let (STATUS, TVEC, CAUSE, TVAL, EPC, MASK_PIE, pie_i, MASK_IE, ie_i, MASK_PP, pp_i) 
[INFO] [stderr]     |                                                                              ^^^^^^^ help: convert the identifier to snake case: `mask_pp`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `desc_size` should have an upper case name
[INFO] [stderr]    --> src/cpu.rs:273:15
[INFO] [stderr]     |
[INFO] [stderr] 273 |         const desc_size: u64 = size_of::<VirtqDesc>() as u64;
[INFO] [stderr]     |               ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: convert the identifier to upper case
[INFO] [stderr]     |
[INFO] [stderr] 273 -         const desc_size: u64 = size_of::<VirtqDesc>() as u64;
[INFO] [stderr] 273 +         const DESC_SIZE: u64 = size_of::<VirtqDesc>() as u64;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `User` should have an upper case name
[INFO] [stderr]    --> src/cpu.rs:985:37
[INFO] [stderr]     |
[INFO] [stderr] 985 | ...                   User => Err(Exception::EnvironmentCallFromUMode(self.pc)),
[INFO] [stderr]     |                       ^^^^ help: convert the identifier to upper case: `USER`
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `Supervisor` should have an upper case name
[INFO] [stderr]    --> src/cpu.rs:986:37
[INFO] [stderr]     |
[INFO] [stderr] 986 | ...                   Supervisor => Err(Exception::EnvironmentCallFromSMode(self.pc)),
[INFO] [stderr]     |                       ^^^^^^^^^^ help: convert the identifier to upper case: `SUPERVISOR`
[INFO] [stderr] 
[INFO] [stderr] warning: constant in pattern `Machine` should have an upper case name
[INFO] [stderr]    --> src/cpu.rs:987:37
[INFO] [stderr]     |
[INFO] [stderr] 987 | ...                   Machine => Err(Exception::EnvironmentCallFromMMode(self.pc)),
[INFO] [stderr]     |                       ^^^^^^^ help: convert the identifier to upper case: `MACHINE`
[INFO] [stderr] 
[INFO] [stderr] warning: `riscv_emulator` (bin "riscv_emulator" test) generated 42 warnings (run `cargo fix --bin "riscv_emulator" --tests` to apply 8 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.08s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/riscv_emulator-b7f5ddbbbf2e7012)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test exception::test::test_code ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "262b093378d0a1fcb2d644eb046cb77bb29779f24fe433c88d02b35afc4daae9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "262b093378d0a1fcb2d644eb046cb77bb29779f24fe433c88d02b35afc4daae9", kill_on_drop: false }`
[INFO] [stdout] 262b093378d0a1fcb2d644eb046cb77bb29779f24fe433c88d02b35afc4daae9
