[INFO] cloning repository https://github.com/trmckay/otter-sim [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/trmckay/otter-sim" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftrmckay%2Fotter-sim", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftrmckay%2Fotter-sim'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 3132479fe1696eff45f14ce551139556947c2b14 [INFO] checking trmckay/otter-sim against master#c9228570668803e3e6402770d55f23a12c9ae686 for pr-79472 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftrmckay%2Fotter-sim" "/workspace/builds/worker-1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/trmckay/otter-sim on toolchain c9228570668803e3e6402770d55f23a12c9ae686 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+c9228570668803e3e6402770d55f23a12c9ae686" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/trmckay/otter-sim [INFO] finished tweaking git repo https://github.com/trmckay/otter-sim [INFO] tweaked toml for git repo https://github.com/trmckay/otter-sim written to /workspace/builds/worker-1/source/Cargo.toml [INFO] crate git repo https://github.com/trmckay/otter-sim already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+c9228570668803e3e6402770d55f23a12c9ae686" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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" "rustops/crates-build-env@sha256:c8ac004eab7d63a0ad09a2dde3d3353ba464f767bee4de425dc8f74c46a1905e" "/opt/rustwide/cargo-home/bin/cargo" "+c9228570668803e3e6402770d55f23a12c9ae686" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 78425f41350c89381fbddbe42fe6f6a0d7abb236a72e2779f26907dc86a08e83 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "78425f41350c89381fbddbe42fe6f6a0d7abb236a72e2779f26907dc86a08e83", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "78425f41350c89381fbddbe42fe6f6a0d7abb236a72e2779f26907dc86a08e83", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "78425f41350c89381fbddbe42fe6f6a0d7abb236a72e2779f26907dc86a08e83", kill_on_drop: false }` [INFO] [stdout] 78425f41350c89381fbddbe42fe6f6a0d7abb236a72e2779f26907dc86a08e83 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:c8ac004eab7d63a0ad09a2dde3d3353ba464f767bee4de425dc8f74c46a1905e" "/opt/rustwide/cargo-home/bin/cargo" "+c9228570668803e3e6402770d55f23a12c9ae686" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] bd8624057e31e4a0fb39a1a3c078ac8e8fbb24b7bfde5bfe0a958bad2410eb67 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "bd8624057e31e4a0fb39a1a3c078ac8e8fbb24b7bfde5bfe0a958bad2410eb67", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.24 [INFO] [stderr] Compiling version_check v0.9.2 [INFO] [stderr] Compiling libc v0.2.79 [INFO] [stderr] Compiling syn v1.0.46 [INFO] [stderr] Checking hashbrown v0.9.1 [INFO] [stderr] Checking unicode-width v0.1.8 [INFO] [stderr] Checking vec_map v0.8.2 [INFO] [stderr] Checking termcolor v1.1.0 [INFO] [stderr] Checking strsim v0.10.0 [INFO] [stderr] Checking os_str_bytes v2.3.2 [INFO] [stderr] Compiling indexmap v1.6.0 [INFO] [stderr] Checking rand_core v0.3.1 [INFO] [stderr] Checking textwrap v0.12.1 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling quote v1.0.7 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking rand v0.5.6 [INFO] [stderr] Compiling clap_derive v3.0.0-beta.2 [INFO] [stderr] Checking clap v3.0.0-beta.2 [INFO] [stderr] Checking otter-emu v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `ir` [INFO] [stdout] --> src/./otter.rs:50:21 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn validate(ir: rv32i::Instruction) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ir` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Byte` [INFO] [stdout] --> src/./mem.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | Byte, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `HalfWord` [INFO] [stdout] --> src/./mem.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | HalfWord, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Word` [INFO] [stdout] --> src/./mem.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | Word, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `IODevice` [INFO] [stdout] --> src/./mem.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | struct IODevice { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/./mem.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn new(size: u32) -> IODevice { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `MMIO` [INFO] [stdout] --> src/./mem.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 31 | struct MMIO { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/./mem.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn new() -> MMIO { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `match_addr_to_key` [INFO] [stdout] --> src/./mem.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 51 | fn match_addr_to_key(&self, addr: u32) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `rd` [INFO] [stdout] --> src/./mem.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn rd(&self, addr: u32, size: Size) -> u32 { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `wr` [INFO] [stdout] --> src/./mem.rs:103:12 [INFO] [stdout] | [INFO] [stdout] 103 | pub fn wr(&mut self, addr: u32, data: u32, size: Size) { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `RAM` [INFO] [stdout] --> src/./mem.rs:139:12 [INFO] [stdout] | [INFO] [stdout] 139 | pub struct RAM { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/./mem.rs:147:12 [INFO] [stdout] | [INFO] [stdout] 147 | pub fn new(size: u32) -> RAM { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `try_read_byte` [INFO] [stdout] --> src/./mem.rs:155:8 [INFO] [stdout] | [INFO] [stdout] 155 | fn try_read_byte(&self, addr: u32, offset: u8) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `rd` [INFO] [stdout] --> src/./mem.rs:167:12 [INFO] [stdout] | [INFO] [stdout] 167 | pub fn rd(&self, addr: u32, size: Size) -> u32 { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `wr` [INFO] [stdout] --> src/./mem.rs:190:8 [INFO] [stdout] | [INFO] [stdout] 190 | fn wr(&mut self, addr: u32, data: u32, size: Size) { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Memory` [INFO] [stdout] --> src/./mem.rs:215:12 [INFO] [stdout] | [INFO] [stdout] 215 | pub struct Memory { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/./mem.rs:225:12 [INFO] [stdout] | [INFO] [stdout] 225 | pub fn new(main_size: u32) -> Memory { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `prog` [INFO] [stdout] --> src/./mem.rs:234:12 [INFO] [stdout] | [INFO] [stdout] 234 | pub fn prog(&mut self, binary: Vec>) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `add_io` [INFO] [stdout] --> src/./mem.rs:252:12 [INFO] [stdout] | [INFO] [stdout] 252 | pub fn add_io(&mut self, addr: u32, size: u32) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `rd` [INFO] [stdout] --> src/./mem.rs:265:12 [INFO] [stdout] | [INFO] [stdout] 265 | pub fn rd(&self, addr: u32, size: Size) -> u32 { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `wr` [INFO] [stdout] --> src/./mem.rs:278:12 [INFO] [stdout] | [INFO] [stdout] 278 | pub fn wr(&mut self, addr: u32, data: u32, size: Size) { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `RF_SIZE` [INFO] [stdout] --> src/./rf.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | const RF_SIZE: u32 = 32; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `RegisterFile` [INFO] [stdout] --> src/./rf.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct RegisterFile { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `init` [INFO] [stdout] --> src/./rf.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn init<>() -> RegisterFile<> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `rd` [INFO] [stdout] --> src/./rf.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn rd(&self, index: u32) -> u32 { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `wr` [INFO] [stdout] --> src/./rf.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn wr(&mut self, index: u32, data: u32) { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `vec_to_u32` [INFO] [stdout] --> src/./bitwise.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn vec_to_u32(bits: &[bool]) -> u32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `u32_to_vec` [INFO] [stdout] --> src/./bitwise.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn u32_to_vec(num: u32) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `vec_concat` [INFO] [stdout] --> src/./bitwise.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn vec_concat(first: &[bool], sec: &[bool]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `LUI` [INFO] [stdout] --> src/./rv32i.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | LUI, AUIPC, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `AUIPC` [INFO] [stdout] --> src/./rv32i.rs:6:10 [INFO] [stdout] | [INFO] [stdout] 6 | LUI, AUIPC, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `JAL` [INFO] [stdout] --> src/./rv32i.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | JAL, JALR, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `JALR` [INFO] [stdout] --> src/./rv32i.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | JAL, JALR, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `BEQ` [INFO] [stdout] --> src/./rv32i.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | BEQ, BNE, BLT, BGE, BLTU, BGEU, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `BNE` [INFO] [stdout] --> src/./rv32i.rs:10:10 [INFO] [stdout] | [INFO] [stdout] 10 | BEQ, BNE, BLT, BGE, BLTU, BGEU, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `BLT` [INFO] [stdout] --> src/./rv32i.rs:10:15 [INFO] [stdout] | [INFO] [stdout] 10 | BEQ, BNE, BLT, BGE, BLTU, BGEU, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `BGE` [INFO] [stdout] --> src/./rv32i.rs:10:20 [INFO] [stdout] | [INFO] [stdout] 10 | BEQ, BNE, BLT, BGE, BLTU, BGEU, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `BLTU` [INFO] [stdout] --> src/./rv32i.rs:10:25 [INFO] [stdout] | [INFO] [stdout] 10 | BEQ, BNE, BLT, BGE, BLTU, BGEU, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `BGEU` [INFO] [stdout] --> src/./rv32i.rs:10:31 [INFO] [stdout] | [INFO] [stdout] 10 | BEQ, BNE, BLT, BGE, BLTU, BGEU, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `LB` [INFO] [stdout] --> src/./rv32i.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | LB, LH, LW, LBU, LHU, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `LH` [INFO] [stdout] --> src/./rv32i.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 12 | LB, LH, LW, LBU, LHU, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `LW` [INFO] [stdout] --> src/./rv32i.rs:12:13 [INFO] [stdout] | [INFO] [stdout] 12 | LB, LH, LW, LBU, LHU, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `LBU` [INFO] [stdout] --> src/./rv32i.rs:12:17 [INFO] [stdout] | [INFO] [stdout] 12 | LB, LH, LW, LBU, LHU, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `LHU` [INFO] [stdout] --> src/./rv32i.rs:12:22 [INFO] [stdout] | [INFO] [stdout] 12 | LB, LH, LW, LBU, LHU, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `SB` [INFO] [stdout] --> src/./rv32i.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | SB, SH, SW, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `SH` [INFO] [stdout] --> src/./rv32i.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 14 | SB, SH, SW, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `SW` [INFO] [stdout] --> src/./rv32i.rs:14:13 [INFO] [stdout] | [INFO] [stdout] 14 | SB, SH, SW, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `ADDI` [INFO] [stdout] --> src/./rv32i.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | ADDI, SLTI, SLTIU, XORI, ORI, ANDI, SLLI, SRLI, SRAI, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `SLTI` [INFO] [stdout] --> src/./rv32i.rs:16:11 [INFO] [stdout] | [INFO] [stdout] 16 | ADDI, SLTI, SLTIU, XORI, ORI, ANDI, SLLI, SRLI, SRAI, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `SLTIU` [INFO] [stdout] --> src/./rv32i.rs:16:17 [INFO] [stdout] | [INFO] [stdout] 16 | ADDI, SLTI, SLTIU, XORI, ORI, ANDI, SLLI, SRLI, SRAI, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `XORI` [INFO] [stdout] --> src/./rv32i.rs:16:24 [INFO] [stdout] | [INFO] [stdout] 16 | ADDI, SLTI, SLTIU, XORI, ORI, ANDI, SLLI, SRLI, SRAI, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `ORI` [INFO] [stdout] --> src/./rv32i.rs:16:30 [INFO] [stdout] | [INFO] [stdout] 16 | ADDI, SLTI, SLTIU, XORI, ORI, ANDI, SLLI, SRLI, SRAI, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `ANDI` [INFO] [stdout] --> src/./rv32i.rs:16:35 [INFO] [stdout] | [INFO] [stdout] 16 | ADDI, SLTI, SLTIU, XORI, ORI, ANDI, SLLI, SRLI, SRAI, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `SLLI` [INFO] [stdout] --> src/./rv32i.rs:16:41 [INFO] [stdout] | [INFO] [stdout] 16 | ADDI, SLTI, SLTIU, XORI, ORI, ANDI, SLLI, SRLI, SRAI, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `SRLI` [INFO] [stdout] --> src/./rv32i.rs:16:47 [INFO] [stdout] | [INFO] [stdout] 16 | ADDI, SLTI, SLTIU, XORI, ORI, ANDI, SLLI, SRLI, SRAI, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `SRAI` [INFO] [stdout] --> src/./rv32i.rs:16:53 [INFO] [stdout] | [INFO] [stdout] 16 | ADDI, SLTI, SLTIU, XORI, ORI, ANDI, SLLI, SRLI, SRAI, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `ADD` [INFO] [stdout] --> src/./rv32i.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | ADD, SUB, SLL, SLT, SLTU, XOR, SRL, SRA, OR, AND, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `SUB` [INFO] [stdout] --> src/./rv32i.rs:18:10 [INFO] [stdout] | [INFO] [stdout] 18 | ADD, SUB, SLL, SLT, SLTU, XOR, SRL, SRA, OR, AND, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `SLL` [INFO] [stdout] --> src/./rv32i.rs:18:15 [INFO] [stdout] | [INFO] [stdout] 18 | ADD, SUB, SLL, SLT, SLTU, XOR, SRL, SRA, OR, AND, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `SLT` [INFO] [stdout] --> src/./rv32i.rs:18:20 [INFO] [stdout] | [INFO] [stdout] 18 | ADD, SUB, SLL, SLT, SLTU, XOR, SRL, SRA, OR, AND, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `SLTU` [INFO] [stdout] --> src/./rv32i.rs:18:25 [INFO] [stdout] | [INFO] [stdout] 18 | ADD, SUB, SLL, SLT, SLTU, XOR, SRL, SRA, OR, AND, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `XOR` [INFO] [stdout] --> src/./rv32i.rs:18:31 [INFO] [stdout] | [INFO] [stdout] 18 | ADD, SUB, SLL, SLT, SLTU, XOR, SRL, SRA, OR, AND, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `SRL` [INFO] [stdout] --> src/./rv32i.rs:18:36 [INFO] [stdout] | [INFO] [stdout] 18 | ADD, SUB, SLL, SLT, SLTU, XOR, SRL, SRA, OR, AND, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `SRA` [INFO] [stdout] --> src/./rv32i.rs:18:41 [INFO] [stdout] | [INFO] [stdout] 18 | ADD, SUB, SLL, SLT, SLTU, XOR, SRL, SRA, OR, AND, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `OR` [INFO] [stdout] --> src/./rv32i.rs:18:46 [INFO] [stdout] | [INFO] [stdout] 18 | ADD, SUB, SLL, SLT, SLTU, XOR, SRL, SRA, OR, AND, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `AND` [INFO] [stdout] --> src/./rv32i.rs:18:50 [INFO] [stdout] | [INFO] [stdout] 18 | ADD, SUB, SLL, SLT, SLTU, XOR, SRL, SRA, OR, AND, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Invalid` [INFO] [stdout] --> src/./rv32i.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | Invalid [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Instruction` [INFO] [stdout] --> src/./rv32i.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct Instruction { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `decode_j_imm` [INFO] [stdout] --> src/./rv32i.rs:31:4 [INFO] [stdout] | [INFO] [stdout] 31 | fn decode_j_imm(ir_bits: &Vec) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `decode_b_imm` [INFO] [stdout] --> src/./rv32i.rs:39:4 [INFO] [stdout] | [INFO] [stdout] 39 | fn decode_b_imm(ir_bits: &Vec) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `decode_u_imm` [INFO] [stdout] --> src/./rv32i.rs:47:4 [INFO] [stdout] | [INFO] [stdout] 47 | fn decode_u_imm(ir_bits: &Vec) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `decode_i_imm` [INFO] [stdout] --> src/./rv32i.rs:52:4 [INFO] [stdout] | [INFO] [stdout] 52 | fn decode_i_imm(ir_bits: &Vec) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `decode_s_imm` [INFO] [stdout] --> src/./rv32i.rs:57:4 [INFO] [stdout] | [INFO] [stdout] 57 | fn decode_s_imm(ir_bits: &Vec) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `decode_funct3` [INFO] [stdout] --> src/./rv32i.rs:65:4 [INFO] [stdout] | [INFO] [stdout] 65 | fn decode_funct3(ir_bits: &Vec) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `decode_funct7` [INFO] [stdout] --> src/./rv32i.rs:69:4 [INFO] [stdout] | [INFO] [stdout] 69 | fn decode_funct7(ir_bits: &Vec) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `decode_rs1` [INFO] [stdout] --> src/./rv32i.rs:73:4 [INFO] [stdout] | [INFO] [stdout] 73 | fn decode_rs1(ir_bits: &Vec) -> u32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `decode_rs2` [INFO] [stdout] --> src/./rv32i.rs:77:4 [INFO] [stdout] | [INFO] [stdout] 77 | fn decode_rs2(ir_bits: &Vec) -> u32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `decode_rd` [INFO] [stdout] --> src/./rv32i.rs:81:4 [INFO] [stdout] | [INFO] [stdout] 81 | fn decode_rd(ir_bits: &Vec) -> u32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `decode` [INFO] [stdout] --> src/./rv32i.rs:85:8 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn decode(ir: u32) -> Instruction { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `file_to_bytes` [INFO] [stdout] --> src/./file_io.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn file_to_bytes(path: &str) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `MEM_SIZE` [INFO] [stdout] --> src/./otter.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | const MEM_SIZE: u32 = 0x10000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `LEDS_ADDR` [INFO] [stdout] --> src/./otter.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | const LEDS_ADDR: u32 = 0x11080000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `LEDS_WIDTH` [INFO] [stdout] --> src/./otter.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | const LEDS_WIDTH: u32 = 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `SSEG_ADDR` [INFO] [stdout] --> src/./otter.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | const SSEG_ADDR: u32 = 0x110C0000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `SSEG_WIDTH` [INFO] [stdout] --> src/./otter.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | const SSEG_WIDTH: u32 = 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `SWITCHES_ADDR` [INFO] [stdout] --> src/./otter.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | const SWITCHES_ADDR: u32 = 0x11000000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `SWITCHES_WIDTH` [INFO] [stdout] --> src/./otter.rs:15:1 [INFO] [stdout] | [INFO] [stdout] 15 | const SWITCHES_WIDTH: u32 = 2; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `MCU` [INFO] [stdout] --> src/./otter.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct MCU { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `new` [INFO] [stdout] --> src/./otter.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn new() -> MCU { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `load_bin` [INFO] [stdout] --> src/./otter.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn load_bin(&mut self, binary: &str) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `incr_pc` [INFO] [stdout] --> src/./otter.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 46 | fn incr_pc(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `validate` [INFO] [stdout] --> src/./otter.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn validate(ir: rv32i::Instruction) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `fetch` [INFO] [stdout] --> src/./otter.rs:59:12 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn fetch(&self) -> (rv32i::Instruction, u32) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `exec` [INFO] [stdout] --> src/./otter.rs:64:12 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn exec(&mut self, ir: rv32i::Instruction) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `leds` [INFO] [stdout] --> src/./otter.rs:299:12 [INFO] [stdout] | [INFO] [stdout] 299 | pub fn leds(&self) -> [bool; 16] { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `sseg` [INFO] [stdout] --> src/./otter.rs:309:12 [INFO] [stdout] | [INFO] [stdout] 309 | pub fn sseg(&self) -> u16 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `set_sw` [INFO] [stdout] --> src/./otter.rs:313:12 [INFO] [stdout] | [INFO] [stdout] 313 | pub fn set_sw(&mut self, index: usize, set_on: bool) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `toggle_sw` [INFO] [stdout] --> src/./otter.rs:325:12 [INFO] [stdout] | [INFO] [stdout] 325 | pub fn toggle_sw(&mut self, index: usize) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `switches` [INFO] [stdout] --> src/./otter.rs:332:12 [INFO] [stdout] | [INFO] [stdout] 332 | pub fn switches(&self) -> [bool; 16] { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `RF_NAMES` [INFO] [stdout] --> src/./emu.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | / const RF_NAMES: [&str; 32] = [ [INFO] [stdout] 4 | | "zero", "ra ", "sp ", "gp ", "tp ", "t0 ", "t1 ", "t2 ", [INFO] [stdout] 5 | | "s0 ", "s1 ", "a0 ", "a1 ", "a2 ", "a3 ", "a4 ", "a5 ", [INFO] [stdout] 6 | | "a6 ", "a7 ", "s2 ", "s3 ", "s4 ", "s5 ", "s6 ", "s7 ", [INFO] [stdout] 7 | | "s8 ", "s9 ", "s10 ", "s11 ", "t3 ", "t4 ", "t5 ", "t6 " [INFO] [stdout] 8 | | ]; [INFO] [stdout] | |__^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `emulate` [INFO] [stdout] --> src/./emu.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn emulate(opts: &mut Options) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 102 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ir` [INFO] [stdout] --> src/./otter.rs:50:21 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn validate(ir: rv32i::Instruction) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_ir` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `validate` [INFO] [stdout] --> src/./otter.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn validate(ir: rv32i::Instruction) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `leds` [INFO] [stdout] --> src/./otter.rs:299:12 [INFO] [stdout] | [INFO] [stdout] 299 | pub fn leds(&self) -> [bool; 16] { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `set_sw` [INFO] [stdout] --> src/./otter.rs:313:12 [INFO] [stdout] | [INFO] [stdout] 313 | pub fn set_sw(&mut self, index: usize, set_on: bool) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `toggle_sw` [INFO] [stdout] --> src/./otter.rs:325:12 [INFO] [stdout] | [INFO] [stdout] 325 | pub fn toggle_sw(&mut self, index: usize) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `switches` [INFO] [stdout] --> src/./otter.rs:332:12 [INFO] [stdout] | [INFO] [stdout] 332 | pub fn switches(&self) -> [bool; 16] { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `RF_NAMES` [INFO] [stdout] --> src/./emu.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | / const RF_NAMES: [&str; 32] = [ [INFO] [stdout] 4 | | "zero", "ra ", "sp ", "gp ", "tp ", "t0 ", "t1 ", "t2 ", [INFO] [stdout] 5 | | "s0 ", "s1 ", "a0 ", "a1 ", "a2 ", "a3 ", "a4 ", "a5 ", [INFO] [stdout] 6 | | "a6 ", "a7 ", "s2 ", "s3 ", "s4 ", "s5 ", "s6 ", "s7 ", [INFO] [stdout] 7 | | "s8 ", "s9 ", "s10 ", "s11 ", "t3 ", "t4 ", "t5 ", "t6 " [INFO] [stdout] 8 | | ]; [INFO] [stdout] | |__^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `emulate` [INFO] [stdout] --> src/./emu.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn emulate(opts: &mut Options) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 34.74s [INFO] [stdout] warning: 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "bd8624057e31e4a0fb39a1a3c078ac8e8fbb24b7bfde5bfe0a958bad2410eb67", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bd8624057e31e4a0fb39a1a3c078ac8e8fbb24b7bfde5bfe0a958bad2410eb67", kill_on_drop: false }` [INFO] [stdout] bd8624057e31e4a0fb39a1a3c078ac8e8fbb24b7bfde5bfe0a958bad2410eb67