[INFO] cloning repository https://github.com/Soya-Onishi/rust-riscv [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Soya-Onishi/rust-riscv" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSoya-Onishi%2Frust-riscv", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSoya-Onishi%2Frust-riscv'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 2a2451d33aa91afb2bc9b78e2db2b532a93e184c [INFO] checking Soya-Onishi/rust-riscv/2a2451d33aa91afb2bc9b78e2db2b532a93e184c against master#ab869e094a907cc5d19b4080f22eccaf347f1f95 for pr-129604 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSoya-Onishi%2Frust-riscv" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Soya-Onishi/rust-riscv on toolchain ab869e094a907cc5d19b4080f22eccaf347f1f95 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Soya-Onishi/rust-riscv [INFO] finished tweaking git repo https://github.com/Soya-Onishi/rust-riscv [INFO] tweaked toml for git repo https://github.com/Soya-Onishi/rust-riscv written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 30 packages to latest compatible versions [INFO] [stderr] Adding getrandom v0.1.16 (latest: v0.2.15) [INFO] [stderr] Adding goblin v0.2.3 (latest: v0.8.2) [INFO] [stderr] Adding num-bigint v0.2.6 (latest: v0.4.6) [INFO] [stderr] Adding paste v0.1.18 (latest: v1.0.15) [INFO] [stderr] Adding rand v0.7.3 (latest: v0.8.5) [INFO] [stderr] Adding rand_chacha v0.2.2 (latest: v0.3.1) [INFO] [stderr] Adding rand_core v0.5.1 (latest: v0.6.4) [INFO] [stderr] Adding rand_hc v0.2.0 (latest: v0.3.2) [INFO] [stderr] Adding scroll v0.10.2 (latest: v0.12.0) [INFO] [stderr] Adding scroll_derive v0.10.5 (latest: v0.12.0) [INFO] [stderr] Adding syn v1.0.109 (latest: v2.0.77) [INFO] [stderr] Adding wasi v0.9.0+wasi-snapshot-preview1 (latest: v0.13.2+wasi-0.2.1) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 95f123afc4ce415a714d6affd70a669a83a759fc674af0c3baabb72dc4977e10 [INFO] running `Command { std: "docker" "start" "-a" "95f123afc4ce415a714d6affd70a669a83a759fc674af0c3baabb72dc4977e10", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "95f123afc4ce415a714d6affd70a669a83a759fc674af0c3baabb72dc4977e10", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "95f123afc4ce415a714d6affd70a669a83a759fc674af0c3baabb72dc4977e10", kill_on_drop: false }` [INFO] [stdout] 95f123afc4ce415a714d6affd70a669a83a759fc674af0c3baabb72dc4977e10 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 04788d26ee6f5e1088765e873357f6c5dcb5be8ff4a75c0cc3dfff6c25feb6ae [INFO] running `Command { std: "docker" "start" "-a" "04788d26ee6f5e1088765e873357f6c5dcb5be8ff4a75c0cc3dfff6c25feb6ae", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Compiling unicode-ident v1.0.12 [INFO] [stderr] Compiling autocfg v1.3.0 [INFO] [stderr] Compiling libc v0.2.158 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling proc-macro-hack v0.5.20+deprecated [INFO] [stderr] Compiling getrandom v0.1.16 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Checking plain v0.2.3 [INFO] [stderr] Checking log v0.4.22 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling num-bigint v0.2.6 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Compiling syn v2.0.77 [INFO] [stderr] Compiling paste-impl v0.1.18 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking paste v0.1.18 [INFO] [stderr] Compiling scroll_derive v0.10.5 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Checking scroll v0.10.2 [INFO] [stderr] Checking goblin v0.2.3 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking rust-riscv v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: struct `Emulator` is never constructed [INFO] [stdout] --> src/lib.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | struct Emulator { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/lib.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl Emulator { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 22 | pub fn new_with_elf_file(filename: String) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn new_with_binary(binary: Vec) -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | fn make_core(elf: &Elf, binary: &Vec) -> core::Core { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | fn get_label(elf: &Elf) -> Result, Box> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub fn run(&mut self) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn step(&mut self, num: u32) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | fn is_breakpoint(&self, pc: u32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 114 | pub fn set_breakpoint_with_string(&mut self, label: String) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | pub fn set_breakpoint_with_addr(&mut self, addr: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ErrorMsg` is never constructed [INFO] [stdout] --> src/lib.rs:127:8 [INFO] [stdout] | [INFO] [stdout] 127 | struct ErrorMsg { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/lib.rs:132:12 [INFO] [stdout] | [INFO] [stdout] 131 | impl ErrorMsg { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 132 | pub fn new(msg: String) -> ErrorMsg { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Core` is never constructed [INFO] [stdout] --> src/core.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct Core { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `execute`, `execute_one_instrunction`, `fetch`, and `raise_exception` are never used [INFO] [stdout] --> src/core.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 27 | impl Core { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 28 | pub fn new(delay_cycle: usize, use_builtin_exception_handler: bool) -> Core { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn execute(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | fn execute_one_instrunction(&mut self) -> Result<(), Exception>{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | fn fetch(&self) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | fn raise_exception(&mut self, exp: Exception) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CSRFile` is never constructed [INFO] [stdout] --> src/core/csr.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct CSRFile { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/core/csr.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl CSRFile { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 13 | pub fn new() -> CSRFile { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn write(&mut self, addr: usize, value: u32, inst: u32) -> Result<(), Exception>{ [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | fn write_csr(&mut self, addr: usize, value: u32, mask: u32) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | fn write_hpm_counter(&mut self, addr: usize, value: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | fn write_hpm_counterh(&mut self, addr: usize, value: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | fn write_hpm_event(&mut self, addr: usize, value: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn read(&self, addr: usize, inst: u32) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 111 | fn read_hpm_counter(&self, addr: usize) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | fn read_hpm_counter_h(&self, addr: usize) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | pub fn make_exception_vector(&self, e: Exception) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | pub fn get_mie(&self) -> u32 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | pub fn set_mie(&mut self, value: bool) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn get_mpie(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 151 | pub fn set_mpie(&mut self, value: bool) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | pub fn get_mpp(&self) -> u32 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 161 | pub fn set_mpp(&mut self, value: u32) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `M_VENDOR_ID` is never used [INFO] [stdout] --> src/core/csr.rs:170:11 [INFO] [stdout] | [INFO] [stdout] 170 | pub const M_VENDOR_ID: usize = 0xF11; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `M_ARCH_ID` is never used [INFO] [stdout] --> src/core/csr.rs:171:11 [INFO] [stdout] | [INFO] [stdout] 171 | pub const M_ARCH_ID: usize = 0xF12; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `M_IMP_ID` is never used [INFO] [stdout] --> src/core/csr.rs:172:11 [INFO] [stdout] | [INFO] [stdout] 172 | pub const M_IMP_ID: usize = 0xF13; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `M_HARD_ID` is never used [INFO] [stdout] --> src/core/csr.rs:173:11 [INFO] [stdout] | [INFO] [stdout] 173 | pub const M_HARD_ID: usize = 0xF14; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `M_STATUS` is never used [INFO] [stdout] --> src/core/csr.rs:175:11 [INFO] [stdout] | [INFO] [stdout] 175 | pub const M_STATUS: usize = 0x300; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `M_ISA` is never used [INFO] [stdout] --> src/core/csr.rs:176:11 [INFO] [stdout] | [INFO] [stdout] 176 | pub const M_ISA: usize = 0x301; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `M_E_DELEG` is never used [INFO] [stdout] --> src/core/csr.rs:177:11 [INFO] [stdout] | [INFO] [stdout] 177 | pub const M_E_DELEG: usize = 0x302; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `M_I_DELEG` is never used [INFO] [stdout] --> src/core/csr.rs:178:11 [INFO] [stdout] | [INFO] [stdout] 178 | pub const M_I_DELEG: usize = 0x303; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `M_IE` is never used [INFO] [stdout] --> src/core/csr.rs:179:11 [INFO] [stdout] | [INFO] [stdout] 179 | pub const M_IE: usize = 0x304; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `M_T_VEC` is never used [INFO] [stdout] --> src/core/csr.rs:180:11 [INFO] [stdout] | [INFO] [stdout] 180 | pub const M_T_VEC: usize = 0x305; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `M_COUNTER_EN` is never used [INFO] [stdout] --> src/core/csr.rs:181:11 [INFO] [stdout] | [INFO] [stdout] 181 | pub const M_COUNTER_EN: usize = 0x306; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `M_COUNT_INHIBIT` is never used [INFO] [stdout] --> src/core/csr.rs:183:11 [INFO] [stdout] | [INFO] [stdout] 183 | pub const M_COUNT_INHIBIT: usize = 0x320; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `M_HPM_EVENT_BASE` is never used [INFO] [stdout] --> src/core/csr.rs:184:11 [INFO] [stdout] | [INFO] [stdout] 184 | pub const M_HPM_EVENT_BASE: usize = 0x320; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `M_SCRATCH` is never used [INFO] [stdout] --> src/core/csr.rs:186:11 [INFO] [stdout] | [INFO] [stdout] 186 | pub const M_SCRATCH: usize = 0x340; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `M_E_PC` is never used [INFO] [stdout] --> src/core/csr.rs:187:11 [INFO] [stdout] | [INFO] [stdout] 187 | pub const M_E_PC: usize = 0x341; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `M_CAUSE` is never used [INFO] [stdout] --> src/core/csr.rs:188:11 [INFO] [stdout] | [INFO] [stdout] 188 | pub const M_CAUSE: usize = 0x342; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `M_T_VAL` is never used [INFO] [stdout] --> src/core/csr.rs:189:11 [INFO] [stdout] | [INFO] [stdout] 189 | pub const M_T_VAL: usize = 0x343; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `M_IP` is never used [INFO] [stdout] --> src/core/csr.rs:190:11 [INFO] [stdout] | [INFO] [stdout] 190 | pub const M_IP: usize = 0x344; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `M_CYCLE` is never used [INFO] [stdout] --> src/core/csr.rs:192:11 [INFO] [stdout] | [INFO] [stdout] 192 | pub const M_CYCLE: usize = 0xB00; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `M_INST_RET` is never used [INFO] [stdout] --> src/core/csr.rs:193:11 [INFO] [stdout] | [INFO] [stdout] 193 | pub const M_INST_RET: usize = 0xB02; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `M_HPM_COUNTER_BASE` is never used [INFO] [stdout] --> src/core/csr.rs:194:11 [INFO] [stdout] | [INFO] [stdout] 194 | pub const M_HPM_COUNTER_BASE: usize = 0xB00; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `M_CYCLE_H` is never used [INFO] [stdout] --> src/core/csr.rs:195:11 [INFO] [stdout] | [INFO] [stdout] 195 | pub const M_CYCLE_H: usize = 0xB80; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `M_INST_RET_H` is never used [INFO] [stdout] --> src/core/csr.rs:196:11 [INFO] [stdout] | [INFO] [stdout] 196 | pub const M_INST_RET_H: usize = 0xB82; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `M_HPM_COUNTER_H_BASE` is never used [INFO] [stdout] --> src/core/csr.rs:197:11 [INFO] [stdout] | [INFO] [stdout] 197 | pub const M_HPM_COUNTER_H_BASE: usize = 0xB80; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_hpm_counter_range` is never used [INFO] [stdout] --> src/core/csr.rs:199:4 [INFO] [stdout] | [INFO] [stdout] 199 | fn is_hpm_counter_range(addr: usize) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_hpm_counter_h_range` is never used [INFO] [stdout] --> src/core/csr.rs:203:4 [INFO] [stdout] | [INFO] [stdout] 203 | fn is_hpm_counter_h_range(addr: usize) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_hpm_event_range` is never used [INFO] [stdout] --> src/core/csr.rs:207:4 [INFO] [stdout] | [INFO] [stdout] 207 | fn is_hpm_event_range(addr: usize) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CSR_ADDR_LIST` is never used [INFO] [stdout] --> src/core/csr.rs:211:7 [INFO] [stdout] | [INFO] [stdout] 211 | const CSR_ADDR_LIST: [usize; 21] = [ [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `default` and `regs` are never read [INFO] [stdout] --> src/core/reg.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct RegFile [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 4 | default: T, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 5 | regs: [T; 32], [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `read` and `write` are never used [INFO] [stdout] --> src/core/reg.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 8 | / impl RegFile [INFO] [stdout] 9 | | where T: Copy [INFO] [stdout] | |_________________- methods in this implementation [INFO] [stdout] 10 | { [INFO] [stdout] 11 | pub fn read(&self, addr: usize) -> T { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | pub fn write(&mut self, addr: usize, value: T) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/core/reg.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl RegFile { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] 22 | pub fn new() -> RegFile { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MMU` is never constructed [INFO] [stdout] --> src/core/memory.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 34 | pub struct MMU { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/core/memory.rs:9:16 [INFO] [stdout] | [INFO] [stdout] 9 | fn [](&self, address: u32) -> Result<$tpe, Exception>{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | fn [](&mut self, address: u32, value: $tpe) -> Result<(), Exception> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | impl MMU { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 40 | pub fn new() -> MMU { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | / make_interface!( [INFO] [stdout] 48 | | { u8, 1 } [INFO] [stdout] 49 | | { u16, 2 } [INFO] [stdout] 50 | | { u32, 4 } [INFO] [stdout] 51 | | ); [INFO] [stdout] | |_____- in this macro invocation [INFO] [stdout] 52 | [INFO] [stdout] 53 | pub fn read_u8(&self, address: u32) -> Result< u8, Exception> { self.read_u8_impl(address) } [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 54 | pub fn read_u16(&self, address: u32) -> Result { self.read_u16_impl(address) } [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 55 | pub fn read_u32(&self, address: u32) -> Result { self.read_u32_impl(address) } [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 56 | [INFO] [stdout] 57 | pub fn write_u8(&mut self, address: u32, value: u8) -> Result<(), Exception>{ self.write_u8_impl(address, value) } [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 58 | pub fn write_u16(&mut self, address: u32, value: u16) -> Result<(), Exception> { self.write_u16_impl(address, value) } [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 59 | pub fn write_u32(&mut self, address: u32, value: u32) -> Result<(), Exception> { self.write_u32_impl(address, value) } [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 60 | [INFO] [stdout] 61 | fn read(&self, address: u32) -> u8 { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | fn write(&mut self, address: u32, value: u8) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn set_reservation(&mut self, addr: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn yield_reservation(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | pub fn check_reservation(&self, addr: u32) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `make_interface` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `separate_addr` is never used [INFO] [stdout] --> src/core/memory.rs:98:4 [INFO] [stdout] | [INFO] [stdout] 98 | fn separate_addr(address: u32) -> (usize, usize) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BranchManager` is never constructed [INFO] [stdout] --> src/core/branch_manager.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct BranchManager { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `push_queue`, `pop_queue`, and `flush_queue` are never used [INFO] [stdout] --> src/core/branch_manager.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl BranchManager { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 7 | pub fn new(delay_cycle: usize) -> BranchManager { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | pub fn push_queue(&mut self, address: u32) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | pub fn pop_queue(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn flush_queue(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Instruction` is never constructed [INFO] [stdout] --> src/util/instruction.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub struct Instruction { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/util/instruction.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl Instruction { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 17 | pub fn new(inst: u32) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | fn rs1(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | fn rs2(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | fn rd(&self) -> usize { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 50 | fn imm(&self) -> u32 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | fn lui(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | fn auipc(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | fn jal(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | fn jalr(&self, core: &mut Core) -> Result<(), Exception>{ [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | fn branch(&self, core: &mut Core, f: impl Fn(u32, u32) -> bool) -> Result<(), Exception> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | fn beq(&self, core: &mut Core) -> Result<(), Exception> { self.branch(core, |a, b| a == b) } [INFO] [stdout] | ^^^ [INFO] [stdout] 158 | fn bne(&self, core: &mut Core) -> Result<(), Exception> { self.branch(core, |a, b| a != b) } [INFO] [stdout] | ^^^ [INFO] [stdout] 159 | fn blt(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | fn bge(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 175 | fn bltu(&self, core: &mut Core) -> Result<(), Exception> { self.branch(core, |a, b| a < b) } [INFO] [stdout] | ^^^^ [INFO] [stdout] 176 | fn bgeu(&self, core: &mut Core) -> Result<(), Exception> { self.branch(core, |a, b| a >= b) } [INFO] [stdout] | ^^^^ [INFO] [stdout] 177 | [INFO] [stdout] 178 | fn load>(&self, core: &mut Core, byte_count: u32, use_sign_ext: bool, loader: impl Fn(&MMU, u32) -> Result... [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | fn lb(&self, core: &mut Core) -> Result<(), Exception> { self.load(core, 1, true, MMU::read_u8) } [INFO] [stdout] | ^^ [INFO] [stdout] 191 | fn lh(&self, core: &mut Core) -> Result<(), Exception> { self.load(core, 2, true, MMU::read_u16) } [INFO] [stdout] | ^^ [INFO] [stdout] 192 | fn lw(&self, core: &mut Core) -> Result<(), Exception> { self.load(core, 4, true, MMU::read_u32) } [INFO] [stdout] | ^^ [INFO] [stdout] 193 | fn lbu(&self, core: &mut Core) -> Result<(), Exception> { self.load(core, 1, false, MMU::read_u8) } [INFO] [stdout] | ^^^ [INFO] [stdout] 194 | fn lhu(&self, core: &mut Core) -> Result<(), Exception> { self.load(core, 2, false, MMU::read_u16) } [INFO] [stdout] | ^^^ [INFO] [stdout] 195 | [INFO] [stdout] 196 | fn store(&self, core: &mut Core, storer: impl Fn(&mut MMU, u32, T) -> Result<(), Exception>, caster: impl Fn(u32) -> T) -> Result<... [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 211 | fn sb(&self, core: &mut Core) -> Result<(), Exception> { self.store(core, MMU::write_u8, |v| v as u8) } [INFO] [stdout] | ^^ [INFO] [stdout] 212 | fn sh(&self, core: &mut Core) -> Result<(), Exception> { self.store(core, MMU::write_u16, |v| v as u16) } [INFO] [stdout] | ^^ [INFO] [stdout] 213 | fn sw(&self, core: &mut Core) -> Result<(), Exception> { self.store(core, MMU::write_u32, |v| v) } [INFO] [stdout] | ^^ [INFO] [stdout] 214 | [INFO] [stdout] 215 | fn rs1_imm_ops(&self, core: &mut Core, f: impl Fn(u32, u32) -> u32) -> Result<(), Exception> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 225 | fn addi(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 229 | fn slti(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 238 | fn sltiu(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 244 | fn xori(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 248 | fn ori(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 252 | fn andi(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 256 | fn slli(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 263 | fn srli(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 270 | fn srai(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 277 | fn rs1_rs2_ops(&self, core: &mut Core, f: impl Fn(u32, u32) -> u32) -> Result<(), Exception> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 287 | fn add(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 291 | fn sub(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 295 | fn xor(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 299 | fn or(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 303 | fn and(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 307 | fn slt(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 316 | fn sltu(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 322 | fn sll(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 328 | fn srl(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 334 | fn sra(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 341 | fn mul(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 348 | fn mulh(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 361 | fn mulhu(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 374 | fn mulhsu(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 387 | fn div(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 402 | fn divu(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 412 | fn rem(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 427 | fn remu(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 437 | fn lr_w(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 448 | fn sc_w(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 464 | fn amoswap_w(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 468 | fn amoadd_w(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 472 | fn amoxor_w(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 476 | fn amoand_w(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 480 | fn amoor_w(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 484 | fn amomin_w(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 490 | fn amomax_w(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 496 | fn amominu_w(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 500 | fn amomaxu_w(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 504 | fn amo_operation(&self, core: &mut Core, op: impl Fn(u32, u32) -> u32) -> Result<(), Exception> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 517 | fn csr_manipulate( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 534 | fn csr_manipulate_uimm( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 544 | fn csr_manipulate_rs1( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 553 | fn csrrw(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 566 | fn csrrs(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 579 | fn csrrc(&self, core: &mut Core) -> Result<(), Exception>{ [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 592 | fn csrrwi(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 605 | fn csrrsi(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 618 | fn csrrci(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 632 | fn fence(&self, _core: &mut Core) -> Result<(), Exception> { Ok(()) } [INFO] [stdout] | ^^^^^ [INFO] [stdout] 633 | fn fence_i(&self, _core: &mut Core) -> Result<(), Exception> { Ok(()) } [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 634 | [INFO] [stdout] 635 | fn ecall(&self, _core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 639 | fn ebreak(&self, core: &mut Core) -> Result<(), Exception> { Err(Exception::Breakpoint(core.pc)) } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 640 | [INFO] [stdout] 641 | fn mret(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 655 | pub fn exec(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `make_panic_msg` is never used [INFO] [stdout] --> src/util/instruction.rs:660:4 [INFO] [stdout] | [INFO] [stdout] 660 | fn make_panic_msg(name: EncodeType, field: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `arithmetic_right_shift` is never used [INFO] [stdout] --> src/util/instruction.rs:664:4 [INFO] [stdout] | [INFO] [stdout] 664 | fn arithmetic_right_shift(value: u32, shamt: u32) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `EncodeType` is never used [INFO] [stdout] --> src/util/instruction.rs:679:6 [INFO] [stdout] | [INFO] [stdout] 679 | enum EncodeType { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOAD` is never used [INFO] [stdout] --> src/util/instruction.rs:742:7 [INFO] [stdout] | [INFO] [stdout] 742 | const LOAD: u32 = 0b0000011; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STORE` is never used [INFO] [stdout] --> src/util/instruction.rs:743:7 [INFO] [stdout] | [INFO] [stdout] 743 | const STORE: u32 = 0b0100011; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MADD` is never used [INFO] [stdout] --> src/util/instruction.rs:744:7 [INFO] [stdout] | [INFO] [stdout] 744 | const MADD: u32 = 0b1000011; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BRANCH` is never used [INFO] [stdout] --> src/util/instruction.rs:745:7 [INFO] [stdout] | [INFO] [stdout] 745 | const BRANCH: u32 = 0b1100011; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOAD_FP` is never used [INFO] [stdout] --> src/util/instruction.rs:747:7 [INFO] [stdout] | [INFO] [stdout] 747 | const LOAD_FP: u32 = 0b0000111; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STORE_FP` is never used [INFO] [stdout] --> src/util/instruction.rs:748:7 [INFO] [stdout] | [INFO] [stdout] 748 | const STORE_FP: u32 = 0b0100111; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MSUB` is never used [INFO] [stdout] --> src/util/instruction.rs:749:7 [INFO] [stdout] | [INFO] [stdout] 749 | const MSUB: u32 = 0b1000111; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `JALR` is never used [INFO] [stdout] --> src/util/instruction.rs:750:7 [INFO] [stdout] | [INFO] [stdout] 750 | const JALR: u32 = 0b1100111; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CUSTOM_0` is never used [INFO] [stdout] --> src/util/instruction.rs:752:7 [INFO] [stdout] | [INFO] [stdout] 752 | const CUSTOM_0: u32 = 0b0001011; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CUSTOM_1` is never used [INFO] [stdout] --> src/util/instruction.rs:753:7 [INFO] [stdout] | [INFO] [stdout] 753 | const CUSTOM_1: u32 = 0b0101011; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NMSUM` is never used [INFO] [stdout] --> src/util/instruction.rs:754:7 [INFO] [stdout] | [INFO] [stdout] 754 | const NMSUM: u32 = 0b1001011; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MISC_MEM` is never used [INFO] [stdout] --> src/util/instruction.rs:757:7 [INFO] [stdout] | [INFO] [stdout] 757 | const MISC_MEM: u32 = 0b0001111; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `AMO` is never used [INFO] [stdout] --> src/util/instruction.rs:758:7 [INFO] [stdout] | [INFO] [stdout] 758 | const AMO: u32 = 0b0101111; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NMADD` is never used [INFO] [stdout] --> src/util/instruction.rs:759:7 [INFO] [stdout] | [INFO] [stdout] 759 | const NMADD: u32 = 0b1001111; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `JAL` is never used [INFO] [stdout] --> src/util/instruction.rs:760:7 [INFO] [stdout] | [INFO] [stdout] 760 | const JAL: u32 = 0b1101111; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OP_IMM` is never used [INFO] [stdout] --> src/util/instruction.rs:762:7 [INFO] [stdout] | [INFO] [stdout] 762 | const OP_IMM: u32 = 0b0010011; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OP` is never used [INFO] [stdout] --> src/util/instruction.rs:763:7 [INFO] [stdout] | [INFO] [stdout] 763 | const OP: u32 = 0b0110011; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OP_FP` is never used [INFO] [stdout] --> src/util/instruction.rs:764:7 [INFO] [stdout] | [INFO] [stdout] 764 | const OP_FP: u32 = 0b1010011; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SYSTEM` is never used [INFO] [stdout] --> src/util/instruction.rs:765:7 [INFO] [stdout] | [INFO] [stdout] 765 | const SYSTEM: u32 = 0b1110011; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `AUIPC` is never used [INFO] [stdout] --> src/util/instruction.rs:767:7 [INFO] [stdout] | [INFO] [stdout] 767 | const AUIPC: u32 = 0b0010111; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LUI` is never used [INFO] [stdout] --> src/util/instruction.rs:768:7 [INFO] [stdout] | [INFO] [stdout] 768 | const LUI: u32 = 0b0110111; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OP_IMM_32` is never used [INFO] [stdout] --> src/util/instruction.rs:772:7 [INFO] [stdout] | [INFO] [stdout] 772 | const OP_IMM_32: u32 = 0b0011011; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OP_32` is never used [INFO] [stdout] --> src/util/instruction.rs:773:7 [INFO] [stdout] | [INFO] [stdout] 773 | const OP_32: u32 = 0b0111011; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CUSTOM_2` is never used [INFO] [stdout] --> src/util/instruction.rs:774:7 [INFO] [stdout] | [INFO] [stdout] 774 | const CUSTOM_2: u32 = 0b1011011; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CUSTOM_3` is never used [INFO] [stdout] --> src/util/instruction.rs:775:7 [INFO] [stdout] | [INFO] [stdout] 775 | const CUSTOM_3: u32 = 0b1111011; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_impl` and `exec_impl` are never used [INFO] [stdout] --> src/util/instruction.rs:697:16 [INFO] [stdout] | [INFO] [stdout] 696 | impl Instruction { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 697 | fn new_impl(inst: u32) -> Result { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 717 | fn exec_impl(&self, core: &mut Core) -> Result<(), Exception> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 779 | / opcode_list!( [INFO] [stdout] 780 | | // RV32I standard isa [INFO] [stdout] 781 | | { lui, UType, op: LUI, }, [INFO] [stdout] 782 | | { auipc, UType, op: AUIPC, }, [INFO] [stdout] ... | [INFO] [stdout] 857 | | { amomaxu_w, RType, op: AMO, f3: 0b010, [31, 27]: 0b11100 } [INFO] [stdout] 858 | | ); [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `opcode_list` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Opcode` is never used [INFO] [stdout] --> src/util/instruction.rs:728:14 [INFO] [stdout] | [INFO] [stdout] 728 | enum Opcode { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 779 | / opcode_list!( [INFO] [stdout] 780 | | // RV32I standard isa [INFO] [stdout] 781 | | { lui, UType, op: LUI, }, [INFO] [stdout] 782 | | { auipc, UType, op: AUIPC, }, [INFO] [stdout] ... | [INFO] [stdout] 857 | | { amomaxu_w, RType, op: AMO, f3: 0b010, [31, 27]: 0b11100 } [INFO] [stdout] 858 | | ); [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `opcode_list` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `truncate`, `extract`, `concat`, and `sign_ext` are never used [INFO] [stdout] --> src/util/bitwise.rs:2:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait Bitwise: Copy { [INFO] [stdout] | ------- associated items in this trait [INFO] [stdout] 2 | fn truncate(self, upper: Self, lower: Self) -> Self; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 3 | fn extract(self, index: Self) -> Self; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 4 | fn concat(values: &[Self], lengths: &[Self]) -> Self; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 5 | fn sign_ext(self, msb_pos: Self) -> Self; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_exception_code`, `is_interrupt`, `get_cause`, and `get_tval` are never used [INFO] [stdout] --> src/util/exception.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 38 | impl Exception { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] 39 | pub fn get_exception_code(self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn is_interrupt(self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn get_cause(self) -> u32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn get_tval(self) -> u32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:61:21 [INFO] [stdout] | [INFO] [stdout] 61 | core.mmu.write_u8(exec_addr + index, bin); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 61 | let _ = core.mmu.write_u8(exec_addr + index, bin); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/util/instruction.rs:27:27 [INFO] [stdout] | [INFO] [stdout] 27 | tpe => panic!(make_panic_msg(tpe, "rs1")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 27 | tpe => panic!("{}", make_panic_msg(tpe, "rs1")) [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/util/instruction.rs:36:27 [INFO] [stdout] | [INFO] [stdout] 36 | tpe => panic!(make_panic_msg(tpe, "rs2")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 36 | tpe => panic!("{}", make_panic_msg(tpe, "rs2")) [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/util/instruction.rs:46:27 [INFO] [stdout] | [INFO] [stdout] 46 | tpe => panic!(make_panic_msg(tpe, "rd")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 46 | tpe => panic!("{}", make_panic_msg(tpe, "rd")) [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/util/instruction.rs:53:24 [INFO] [stdout] | [INFO] [stdout] 53 | panic!(make_panic_msg(EncodeType::RType, "imm")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 53 | panic!("{}", make_panic_msg(EncodeType::RType, "imm")), [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 83 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:154:13 [INFO] [stdout] | [INFO] [stdout] 154 | let mut emu = Emulator::new_with_elf_file("test_bin/rv32ui-p-add".to_string()).unwrap(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `elf_bin` and `labels` are never read [INFO] [stdout] --> src/lib.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 14 | struct Emulator { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 15 | core: core::Core, [INFO] [stdout] 16 | elf_bin: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 17 | breakpoints: Vec, [INFO] [stdout] 18 | labels: HashMap, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `step`, `set_breakpoint_with_string`, and `set_breakpoint_with_addr` are never used [INFO] [stdout] --> src/lib.rs:102:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl Emulator { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn step(&mut self, num: u32) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 114 | pub fn set_breakpoint_with_string(&mut self, label: String) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | pub fn set_breakpoint_with_addr(&mut self, addr: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MADD` is never used [INFO] [stdout] --> src/util/instruction.rs:744:7 [INFO] [stdout] | [INFO] [stdout] 744 | const MADD: u32 = 0b1000011; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOAD_FP` is never used [INFO] [stdout] --> src/util/instruction.rs:747:7 [INFO] [stdout] | [INFO] [stdout] 747 | const LOAD_FP: u32 = 0b0000111; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STORE_FP` is never used [INFO] [stdout] --> src/util/instruction.rs:748:7 [INFO] [stdout] | [INFO] [stdout] 748 | const STORE_FP: u32 = 0b0100111; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MSUB` is never used [INFO] [stdout] --> src/util/instruction.rs:749:7 [INFO] [stdout] | [INFO] [stdout] 749 | const MSUB: u32 = 0b1000111; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CUSTOM_0` is never used [INFO] [stdout] --> src/util/instruction.rs:752:7 [INFO] [stdout] | [INFO] [stdout] 752 | const CUSTOM_0: u32 = 0b0001011; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CUSTOM_1` is never used [INFO] [stdout] --> src/util/instruction.rs:753:7 [INFO] [stdout] | [INFO] [stdout] 753 | const CUSTOM_1: u32 = 0b0101011; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NMSUM` is never used [INFO] [stdout] --> src/util/instruction.rs:754:7 [INFO] [stdout] | [INFO] [stdout] 754 | const NMSUM: u32 = 0b1001011; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NMADD` is never used [INFO] [stdout] --> src/util/instruction.rs:759:7 [INFO] [stdout] | [INFO] [stdout] 759 | const NMADD: u32 = 0b1001111; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OP_FP` is never used [INFO] [stdout] --> src/util/instruction.rs:764:7 [INFO] [stdout] | [INFO] [stdout] 764 | const OP_FP: u32 = 0b1010011; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OP_IMM_32` is never used [INFO] [stdout] --> src/util/instruction.rs:772:7 [INFO] [stdout] | [INFO] [stdout] 772 | const OP_IMM_32: u32 = 0b0011011; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OP_32` is never used [INFO] [stdout] --> src/util/instruction.rs:773:7 [INFO] [stdout] | [INFO] [stdout] 773 | const OP_32: u32 = 0b0111011; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CUSTOM_2` is never used [INFO] [stdout] --> src/util/instruction.rs:774:7 [INFO] [stdout] | [INFO] [stdout] 774 | const CUSTOM_2: u32 = 0b1011011; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CUSTOM_3` is never used [INFO] [stdout] --> src/util/instruction.rs:775:7 [INFO] [stdout] | [INFO] [stdout] 775 | const CUSTOM_3: u32 = 0b1111011; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:61:21 [INFO] [stdout] | [INFO] [stdout] 61 | core.mmu.write_u8(exec_addr + index, bin); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 61 | let _ = core.mmu.write_u8(exec_addr + index, bin); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/util/instruction.rs:27:27 [INFO] [stdout] | [INFO] [stdout] 27 | tpe => panic!(make_panic_msg(tpe, "rs1")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 27 | tpe => panic!("{}", make_panic_msg(tpe, "rs1")) [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/util/instruction.rs:36:27 [INFO] [stdout] | [INFO] [stdout] 36 | tpe => panic!(make_panic_msg(tpe, "rs2")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 36 | tpe => panic!("{}", make_panic_msg(tpe, "rs2")) [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/util/instruction.rs:46:27 [INFO] [stdout] | [INFO] [stdout] 46 | tpe => panic!(make_panic_msg(tpe, "rd")) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 46 | tpe => panic!("{}", make_panic_msg(tpe, "rd")) [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/util/instruction.rs:53:24 [INFO] [stdout] | [INFO] [stdout] 53 | panic!(make_panic_msg(EncodeType::RType, "imm")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 53 | panic!("{}", make_panic_msg(EncodeType::RType, "imm")), [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 21 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.65s [INFO] running `Command { std: "docker" "inspect" "04788d26ee6f5e1088765e873357f6c5dcb5be8ff4a75c0cc3dfff6c25feb6ae", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "04788d26ee6f5e1088765e873357f6c5dcb5be8ff4a75c0cc3dfff6c25feb6ae", kill_on_drop: false }` [INFO] [stdout] 04788d26ee6f5e1088765e873357f6c5dcb5be8ff4a75c0cc3dfff6c25feb6ae