[INFO] cloning repository https://github.com/systemxlabs/riscv-simulator [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/systemxlabs/riscv-simulator" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsystemxlabs%2Friscv-simulator", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsystemxlabs%2Friscv-simulator'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b5e7722aa4b6ce37dda3f5467b75ee1256738574 [INFO] checking systemxlabs/riscv-simulator against try#723ab942d877517caf445dafde0416803ef56501 for pr-143857 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsystemxlabs%2Friscv-simulator" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/systemxlabs/riscv-simulator [INFO] finished tweaking git repo https://github.com/systemxlabs/riscv-simulator [INFO] tweaked toml for git repo https://github.com/systemxlabs/riscv-simulator written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/systemxlabs/riscv-simulator on toolchain 723ab942d877517caf445dafde0416803ef56501 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+723ab942d877517caf445dafde0416803ef56501" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/systemxlabs/riscv-simulator 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" "+723ab942d877517caf445dafde0416803ef56501" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+723ab942d877517caf445dafde0416803ef56501" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] dc817e4aa067f32be17ec14ee3e489fc3845e9703b39d48704748259fc63349a [INFO] running `Command { std: "docker" "start" "-a" "dc817e4aa067f32be17ec14ee3e489fc3845e9703b39d48704748259fc63349a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "dc817e4aa067f32be17ec14ee3e489fc3845e9703b39d48704748259fc63349a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "dc817e4aa067f32be17ec14ee3e489fc3845e9703b39d48704748259fc63349a", kill_on_drop: false }` [INFO] [stdout] dc817e4aa067f32be17ec14ee3e489fc3845e9703b39d48704748259fc63349a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+723ab942d877517caf445dafde0416803ef56501" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] adb1511065dec77c30522d9fe630a4dc30697cc1f475088326181f61c0ac78b7 [INFO] running `Command { std: "docker" "start" "-a" "adb1511065dec77c30522d9fe630a4dc30697cc1f475088326181f61c0ac78b7", kill_on_drop: false }` [INFO] [stderr] Checking riscv-simulator v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Byte` [INFO] [stdout] --> src/alu/alu.rs:7:24 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::info::{Bit, Byte, Word, BIT_0, BIT_1, BYTE_BIT_SIZE, WORD_BYTE_SIZE}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `NandGate` and `OrGate` [INFO] [stdout] --> src/circuit/latch.rs:1:28 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::circuit::gate::{NandGate, NorGate, OrGate}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Bit` [INFO] [stdout] --> src/register.rs:1:19 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::info::{Bit, Word}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Byte` [INFO] [stdout] --> src/alu/alu.rs:7:24 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::info::{Bit, Byte, Word, BIT_0, BIT_1, BYTE_BIT_SIZE, WORD_BYTE_SIZE}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BIT_0` [INFO] [stdout] --> src/alu/alu.rs:105:29 [INFO] [stdout] | [INFO] [stdout] 105 | use crate::info::{Word, BIT_0}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `NandGate` and `OrGate` [INFO] [stdout] --> src/circuit/latch.rs:1:28 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::circuit::gate::{NandGate, NorGate, OrGate}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Bit` [INFO] [stdout] --> src/mem/chip.rs:65:23 [INFO] [stdout] | [INFO] [stdout] 65 | use crate::info::{Bit, Byte, Word, BIT_0, BIT_1}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Bit` [INFO] [stdout] --> src/register.rs:1:19 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::info::{Bit, Word}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/alu/shifter.rs:7:32 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn exec(op: Operation, input: Word, shift: Word) -> Word { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shift` [INFO] [stdout] --> src/alu/shifter.rs:7:45 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn exec(op: Operation, input: Word, shift: Word) -> Word { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_shift` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/alu/shifter.rs:16:34 [INFO] [stdout] | [INFO] [stdout] 16 | fn shift_left_logical(&self, input: Word, shift: Word) -> Word { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shift` [INFO] [stdout] --> src/alu/shifter.rs:16:47 [INFO] [stdout] | [INFO] [stdout] 16 | fn shift_left_logical(&self, input: Word, shift: Word) -> Word { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_shift` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instruction` [INFO] [stdout] --> src/cu/cu.rs:22:29 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn loop_exec(&self, instruction: Instruction) { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/alu/alu.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum Operation { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 11 | ADD, [INFO] [stdout] 12 | SUB, [INFO] [stdout] | ^^^ [INFO] [stdout] 13 | OR, [INFO] [stdout] | ^^ [INFO] [stdout] 14 | AND, [INFO] [stdout] | ^^^ [INFO] [stdout] 15 | XOR, [INFO] [stdout] | ^^^ [INFO] [stdout] 16 | // set less than (unsigned) [INFO] [stdout] 17 | SLT, [INFO] [stdout] | ^^^ [INFO] [stdout] 18 | SLTU, [INFO] [stdout] | ^^^^ [INFO] [stdout] 19 | // shift left logical [INFO] [stdout] 20 | SLL, [INFO] [stdout] | ^^^ [INFO] [stdout] 21 | // shift right logical/arithmetic [INFO] [stdout] 22 | SRL, [INFO] [stdout] | ^^^ [INFO] [stdout] 23 | SRA, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Operation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `shift_left_logical` is never used [INFO] [stdout] --> src/alu/shifter.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 6 | impl Shifter { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 16 | fn shift_left_logical(&self, input: Word, shift: Word) -> Word { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OneToTwoDecoder` is never constructed [INFO] [stdout] --> src/circuit/decoder.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct OneToTwoDecoder; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `exec` is never used [INFO] [stdout] --> src/circuit/decoder.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl OneToTwoDecoder { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] 8 | pub fn exec(input: Bit) -> (Bit, Bit) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DFlipFlop` is never constructed [INFO] [stdout] --> src/circuit/flip_flop.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct DFlipFlop { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `exec` are never used [INFO] [stdout] --> src/circuit/flip_flop.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl DFlipFlop { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 7 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 11 | pub fn exec(&mut self, input: Bit) -> Bit { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NandGate` is never constructed [INFO] [stdout] --> src/circuit/gate.rs:85:12 [INFO] [stdout] | [INFO] [stdout] 85 | pub struct NandGate; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `exec` is never used [INFO] [stdout] --> src/circuit/gate.rs:88:12 [INFO] [stdout] | [INFO] [stdout] 87 | impl NandGate { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 88 | pub fn exec(input0: Bit, input1: Bit) -> Bit { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NorGate` is never constructed [INFO] [stdout] --> src/circuit/gate.rs:93:12 [INFO] [stdout] | [INFO] [stdout] 93 | pub struct NorGate; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `exec` is never used [INFO] [stdout] --> src/circuit/gate.rs:96:12 [INFO] [stdout] | [INFO] [stdout] 95 | impl NorGate { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 96 | pub fn exec(input0: Bit, input1: Bit) -> Bit { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SRLatch` is never constructed [INFO] [stdout] --> src/circuit/latch.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct SRLatch { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `exec` are never used [INFO] [stdout] --> src/circuit/latch.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl SRLatch { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 12 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn exec(&mut self, set: Bit, reset: Bit) -> (Bit, Bit) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TwoToOneMultiplexer` is never constructed [INFO] [stdout] --> src/circuit/multiplexer.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct TwoToOneMultiplexer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `exec` is never used [INFO] [stdout] --> src/circuit/multiplexer.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl TwoToOneMultiplexer { [INFO] [stdout] | ------------------------ associated function in this implementation [INFO] [stdout] 7 | pub fn exec(input: [Bit; 2], selector: Bit) -> Bit { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FourToOneMultiplexer` is never constructed [INFO] [stdout] --> src/circuit/multiplexer.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct FourToOneMultiplexer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `exec` is never used [INFO] [stdout] --> src/circuit/multiplexer.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl FourToOneMultiplexer { [INFO] [stdout] | ------------------------- associated function in this implementation [INFO] [stdout] 20 | pub fn exec(input: [Bit; 4], selector: [Bit; 2]) -> Bit { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `alu`, `cu`, and `adder` are never read [INFO] [stdout] --> src/cpu.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct Cpu { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] 19 | alu: Alu, [INFO] [stdout] | ^^^ [INFO] [stdout] 20 | cu: Cu, [INFO] [stdout] | ^^ [INFO] [stdout] 21 | pc: Word, [INFO] [stdout] 22 | adder: MultiAdder, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `pc`, `adder`, and `ir` are never read [INFO] [stdout] --> src/cu/cu.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Cu { [INFO] [stdout] | -- fields in this struct [INFO] [stdout] 7 | /// Program counter [INFO] [stdout] 8 | pc: Word, [INFO] [stdout] | ^^ [INFO] [stdout] 9 | adder: MultiAdder, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 10 | /// Instruction register [INFO] [stdout] 11 | ir: Word, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `loop_exec` is never used [INFO] [stdout] --> src/cu/cu.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl Cu { [INFO] [stdout] | ------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn loop_exec(&self, instruction: Instruction) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `set1`, `set0`, and `reverse` are never used [INFO] [stdout] --> src/info/bit.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl Bit { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn set1(&mut self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn set0(&mut self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn reverse(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `ALL_ONE` and `from_str` are never used [INFO] [stdout] --> src/info/byte.rs:15:15 [INFO] [stdout] | [INFO] [stdout] 14 | impl Byte { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 15 | pub const ALL_ONE: Byte = Byte(BIT_1, BIT_1, BIT_1, BIT_1, BIT_1, BIT_1, BIT_1, BIT_1); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn from_str(s: &str) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_str`, `set_byte`, and `display_in_big_endian` are never used [INFO] [stdout] --> src/info/word.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl Word { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn from_str(s: &str) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn set_byte(&mut self, byte_index: usize, value: Byte) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | pub fn display_in_big_endian(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Instruction` is never constructed [INFO] [stdout] --> src/instruction.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Instruction(Word); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `opcode`, `rd`, `func3`, `rs1`, `rs2`, and `func7` are never read [INFO] [stdout] --> src/instruction.rs:82:9 [INFO] [stdout] | [INFO] [stdout] 81 | R { [INFO] [stdout] | - fields in this variant [INFO] [stdout] 82 | opcode: [Bit; 7], [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 83 | rd: [Bit; 5], [INFO] [stdout] | ^^ [INFO] [stdout] 84 | func3: [Bit; 3], [INFO] [stdout] | ^^^^^ [INFO] [stdout] 85 | rs1: [Bit; 5], [INFO] [stdout] | ^^^ [INFO] [stdout] 86 | rs2: [Bit; 5], [INFO] [stdout] | ^^^ [INFO] [stdout] 87 | func7: [Bit; 7], [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `opcode`, `rd`, `func3`, `rs1`, and `imm0_11` are never read [INFO] [stdout] --> src/instruction.rs:91:9 [INFO] [stdout] | [INFO] [stdout] 90 | I { [INFO] [stdout] | - fields in this variant [INFO] [stdout] 91 | opcode: [Bit; 7], [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 92 | rd: [Bit; 5], [INFO] [stdout] | ^^ [INFO] [stdout] 93 | func3: [Bit; 3], [INFO] [stdout] | ^^^^^ [INFO] [stdout] 94 | rs1: [Bit; 5], [INFO] [stdout] | ^^^ [INFO] [stdout] 95 | imm0_11: [Bit; 12], [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `opcode`, `imm0_4`, `func3`, `rs1`, `rs2`, and `imm5_11` are never read [INFO] [stdout] --> src/instruction.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 98 | S { [INFO] [stdout] | - fields in this variant [INFO] [stdout] 99 | opcode: [Bit; 7], [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 100 | imm0_4: [Bit; 5], [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 101 | func3: [Bit; 3], [INFO] [stdout] | ^^^^^ [INFO] [stdout] 102 | rs1: [Bit; 5], [INFO] [stdout] | ^^^ [INFO] [stdout] 103 | rs2: [Bit; 5], [INFO] [stdout] | ^^^ [INFO] [stdout] 104 | imm5_11: [Bit; 7], [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/instruction.rs:108:9 [INFO] [stdout] | [INFO] [stdout] 107 | B { [INFO] [stdout] | - fields in this variant [INFO] [stdout] 108 | opcode: [Bit; 7], [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 109 | imm11: Bit, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 110 | imm1_4: [Bit; 4], [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 111 | func3: [Bit; 3], [INFO] [stdout] | ^^^^^ [INFO] [stdout] 112 | rs1: [Bit; 5], [INFO] [stdout] | ^^^ [INFO] [stdout] 113 | rs2: [Bit; 5], [INFO] [stdout] | ^^^ [INFO] [stdout] 114 | imm5_10: [Bit; 6], [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 115 | imm12: Bit, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `opcode`, `rd`, and `imm12_31` are never read [INFO] [stdout] --> src/instruction.rs:119:9 [INFO] [stdout] | [INFO] [stdout] 118 | U { [INFO] [stdout] | - fields in this variant [INFO] [stdout] 119 | opcode: [Bit; 7], [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 120 | rd: [Bit; 5], [INFO] [stdout] | ^^ [INFO] [stdout] 121 | imm12_31: [Bit; 20], [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `opcode`, `rd`, `imm12_19`, `imm11`, `imm1_10`, and `imm20` are never read [INFO] [stdout] --> src/instruction.rs:125:9 [INFO] [stdout] | [INFO] [stdout] 124 | J { [INFO] [stdout] | - fields in this variant [INFO] [stdout] 125 | opcode: [Bit; 7], [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 126 | rd: [Bit; 5], [INFO] [stdout] | ^^ [INFO] [stdout] 127 | imm12_19: [Bit; 8], [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 128 | imm11: Bit, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 129 | imm1_10: [Bit; 10], [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 130 | imm20: Bit, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Immediate` is never constructed [INFO] [stdout] --> src/instruction.rs:134:12 [INFO] [stdout] | [INFO] [stdout] 134 | pub struct Immediate(i32); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from` is never used [INFO] [stdout] --> src/instruction.rs:136:12 [INFO] [stdout] | [INFO] [stdout] 135 | impl Immediate { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 136 | pub fn from(v: i32) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ShiftAmount` is never constructed [INFO] [stdout] --> src/instruction.rs:141:12 [INFO] [stdout] | [INFO] [stdout] 141 | pub struct ShiftAmount(u8); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from` is never used [INFO] [stdout] --> src/instruction.rs:144:12 [INFO] [stdout] | [INFO] [stdout] 142 | impl ShiftAmount { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 143 | /// shift amount represented by 5 bits and is unsigned. [INFO] [stdout] 144 | pub fn from(v: u8) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `InstructionType` is never used [INFO] [stdout] --> src/instruction.rs:150:10 [INFO] [stdout] | [INFO] [stdout] 150 | pub enum InstructionType { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `exec_half_word` is never used [INFO] [stdout] --> src/mem/dram.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl Dram { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn exec_half_word(&mut self, addr: Word, write_enable: Bit, data: [Byte; 2]) -> [Byte; 2] { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Register` is never constructed [INFO] [stdout] --> src/register.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct Register(Word); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `RegisterKind` is never used [INFO] [stdout] --> src/register.rs:6:10 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum RegisterKind { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/alu/shifter.rs:7:32 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn exec(op: Operation, input: Word, shift: Word) -> Word { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shift` [INFO] [stdout] --> src/alu/shifter.rs:7:45 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn exec(op: Operation, input: Word, shift: Word) -> Word { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_shift` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/alu/shifter.rs:16:34 [INFO] [stdout] | [INFO] [stdout] 16 | fn shift_left_logical(&self, input: Word, shift: Word) -> Word { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `shift` [INFO] [stdout] --> src/alu/shifter.rs:16:47 [INFO] [stdout] | [INFO] [stdout] 16 | fn shift_left_logical(&self, input: Word, shift: Word) -> Word { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_shift` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instruction` [INFO] [stdout] --> src/cu/cu.rs:22:29 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn loop_exec(&self, instruction: Instruction) { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/alu/alu.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 10 | pub enum Operation { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 13 | OR, [INFO] [stdout] | ^^ [INFO] [stdout] 14 | AND, [INFO] [stdout] | ^^^ [INFO] [stdout] 15 | XOR, [INFO] [stdout] | ^^^ [INFO] [stdout] 16 | // set less than (unsigned) [INFO] [stdout] 17 | SLT, [INFO] [stdout] | ^^^ [INFO] [stdout] 18 | SLTU, [INFO] [stdout] | ^^^^ [INFO] [stdout] 19 | // shift left logical [INFO] [stdout] 20 | SLL, [INFO] [stdout] | ^^^ [INFO] [stdout] 21 | // shift right logical/arithmetic [INFO] [stdout] 22 | SRL, [INFO] [stdout] | ^^^ [INFO] [stdout] 23 | SRA, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Operation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `shift_left_logical` is never used [INFO] [stdout] --> src/alu/shifter.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 6 | impl Shifter { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 16 | fn shift_left_logical(&self, input: Word, shift: Word) -> Word { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DFlipFlop` is never constructed [INFO] [stdout] --> src/circuit/flip_flop.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct DFlipFlop { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `exec` are never used [INFO] [stdout] --> src/circuit/flip_flop.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl DFlipFlop { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 7 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 11 | pub fn exec(&mut self, input: Bit) -> Bit { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `alu`, `cu`, and `adder` are never read [INFO] [stdout] --> src/cpu.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct Cpu { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] 19 | alu: Alu, [INFO] [stdout] | ^^^ [INFO] [stdout] 20 | cu: Cu, [INFO] [stdout] | ^^ [INFO] [stdout] 21 | pc: Word, [INFO] [stdout] 22 | adder: MultiAdder, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `pc`, `adder`, and `ir` are never read [INFO] [stdout] --> src/cu/cu.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Cu { [INFO] [stdout] | -- fields in this struct [INFO] [stdout] 7 | /// Program counter [INFO] [stdout] 8 | pc: Word, [INFO] [stdout] | ^^ [INFO] [stdout] 9 | adder: MultiAdder, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 10 | /// Instruction register [INFO] [stdout] 11 | ir: Word, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `loop_exec` is never used [INFO] [stdout] --> src/cu/cu.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl Cu { [INFO] [stdout] | ------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn loop_exec(&self, instruction: Instruction) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `set1`, `set0`, and `reverse` are never used [INFO] [stdout] --> src/info/bit.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl Bit { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn set1(&mut self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn set0(&mut self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn reverse(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Instruction` is never constructed [INFO] [stdout] --> src/instruction.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct Instruction(Word); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `opcode`, `rd`, `func3`, `rs1`, and `imm0_11` are never read [INFO] [stdout] --> src/instruction.rs:91:9 [INFO] [stdout] | [INFO] [stdout] 90 | I { [INFO] [stdout] | - fields in this variant [INFO] [stdout] 91 | opcode: [Bit; 7], [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 92 | rd: [Bit; 5], [INFO] [stdout] | ^^ [INFO] [stdout] 93 | func3: [Bit; 3], [INFO] [stdout] | ^^^^^ [INFO] [stdout] 94 | rs1: [Bit; 5], [INFO] [stdout] | ^^^ [INFO] [stdout] 95 | imm0_11: [Bit; 12], [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `opcode`, `imm0_4`, `func3`, `rs1`, `rs2`, and `imm5_11` are never read [INFO] [stdout] --> src/instruction.rs:99:9 [INFO] [stdout] | [INFO] [stdout] 98 | S { [INFO] [stdout] | - fields in this variant [INFO] [stdout] 99 | opcode: [Bit; 7], [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 100 | imm0_4: [Bit; 5], [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 101 | func3: [Bit; 3], [INFO] [stdout] | ^^^^^ [INFO] [stdout] 102 | rs1: [Bit; 5], [INFO] [stdout] | ^^^ [INFO] [stdout] 103 | rs2: [Bit; 5], [INFO] [stdout] | ^^^ [INFO] [stdout] 104 | imm5_11: [Bit; 7], [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/instruction.rs:108:9 [INFO] [stdout] | [INFO] [stdout] 107 | B { [INFO] [stdout] | - fields in this variant [INFO] [stdout] 108 | opcode: [Bit; 7], [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 109 | imm11: Bit, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 110 | imm1_4: [Bit; 4], [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 111 | func3: [Bit; 3], [INFO] [stdout] | ^^^^^ [INFO] [stdout] 112 | rs1: [Bit; 5], [INFO] [stdout] | ^^^ [INFO] [stdout] 113 | rs2: [Bit; 5], [INFO] [stdout] | ^^^ [INFO] [stdout] 114 | imm5_10: [Bit; 6], [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 115 | imm12: Bit, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `opcode`, `rd`, and `imm12_31` are never read [INFO] [stdout] --> src/instruction.rs:119:9 [INFO] [stdout] | [INFO] [stdout] 118 | U { [INFO] [stdout] | - fields in this variant [INFO] [stdout] 119 | opcode: [Bit; 7], [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 120 | rd: [Bit; 5], [INFO] [stdout] | ^^ [INFO] [stdout] 121 | imm12_31: [Bit; 20], [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `opcode`, `rd`, `imm12_19`, `imm11`, `imm1_10`, and `imm20` are never read [INFO] [stdout] --> src/instruction.rs:125:9 [INFO] [stdout] | [INFO] [stdout] 124 | J { [INFO] [stdout] | - fields in this variant [INFO] [stdout] 125 | opcode: [Bit; 7], [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 126 | rd: [Bit; 5], [INFO] [stdout] | ^^ [INFO] [stdout] 127 | imm12_19: [Bit; 8], [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 128 | imm11: Bit, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 129 | imm1_10: [Bit; 10], [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 130 | imm20: Bit, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Immediate` is never constructed [INFO] [stdout] --> src/instruction.rs:134:12 [INFO] [stdout] | [INFO] [stdout] 134 | pub struct Immediate(i32); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from` is never used [INFO] [stdout] --> src/instruction.rs:136:12 [INFO] [stdout] | [INFO] [stdout] 135 | impl Immediate { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 136 | pub fn from(v: i32) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ShiftAmount` is never constructed [INFO] [stdout] --> src/instruction.rs:141:12 [INFO] [stdout] | [INFO] [stdout] 141 | pub struct ShiftAmount(u8); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from` is never used [INFO] [stdout] --> src/instruction.rs:144:12 [INFO] [stdout] | [INFO] [stdout] 142 | impl ShiftAmount { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 143 | /// shift amount represented by 5 bits and is unsigned. [INFO] [stdout] 144 | pub fn from(v: u8) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `InstructionType` is never used [INFO] [stdout] --> src/instruction.rs:150:10 [INFO] [stdout] | [INFO] [stdout] 150 | pub enum InstructionType { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Register` is never constructed [INFO] [stdout] --> src/register.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct Register(Word); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `RegisterKind` is never used [INFO] [stdout] --> src/register.rs:6:10 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum RegisterKind { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: couldn't create a temp dir: No space left on device (os error 28) at path "/opt/rustwide/target/debug/deps/rmetaGRYjSo" [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `riscv-simulator` (bin "riscv-simulator" test) due to 1 previous error; 31 warnings emitted [INFO] running `Command { std: "docker" "inspect" "adb1511065dec77c30522d9fe630a4dc30697cc1f475088326181f61c0ac78b7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "adb1511065dec77c30522d9fe630a4dc30697cc1f475088326181f61c0ac78b7", kill_on_drop: false }` [INFO] [stdout] adb1511065dec77c30522d9fe630a4dc30697cc1f475088326181f61c0ac78b7