[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 master#b3bd7058c139e71bae0862ef8f8ac936208873e9 for pr-123752 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsystemxlabs%2Friscv-simulator" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/systemxlabs/riscv-simulator on toolchain b3bd7058c139e71bae0862ef8f8ac936208873e9 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b3bd7058c139e71bae0862ef8f8ac936208873e9" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [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-6-tc1/source/Cargo.toml [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" "+b3bd7058c139e71bae0862ef8f8ac936208873e9" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [ERROR] error running command: no output for 300 seconds [ERROR] this task or one of its parent failed! [ERROR] no output for 300 seconds [ERROR] note: run with `RUST_BACKTRACE=1` to display a backtrace. [INFO] checking systemxlabs/riscv-simulator against try#57fe1b734d9ff1c8a92bda60b85506b9648158d3 for pr-123752 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsystemxlabs%2Friscv-simulator" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/systemxlabs/riscv-simulator on toolchain 57fe1b734d9ff1c8a92bda60b85506b9648158d3 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+57fe1b734d9ff1c8a92bda60b85506b9648158d3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [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-6-tc2/source/Cargo.toml [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" "+57fe1b734d9ff1c8a92bda60b85506b9648158d3" "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-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+57fe1b734d9ff1c8a92bda60b85506b9648158d3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 260011c4d6a6c1a270c11fc1fa3f6a9b9d15e257c1e49868f958dad9c0dcc06c [INFO] running `Command { std: "docker" "start" "-a" "260011c4d6a6c1a270c11fc1fa3f6a9b9d15e257c1e49868f958dad9c0dcc06c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "260011c4d6a6c1a270c11fc1fa3f6a9b9d15e257c1e49868f958dad9c0dcc06c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "260011c4d6a6c1a270c11fc1fa3f6a9b9d15e257c1e49868f958dad9c0dcc06c", kill_on_drop: false }` [INFO] [stdout] 260011c4d6a6c1a270c11fc1fa3f6a9b9d15e257c1e49868f958dad9c0dcc06c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+57fe1b734d9ff1c8a92bda60b85506b9648158d3" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3e1bcafe982d810f57402816e5d23e044b6fde36c400d964f6c175ad09456103 [INFO] running `Command { std: "docker" "start" "-a" "3e1bcafe982d810f57402816e5d23e044b6fde36c400d964f6c175ad09456103", 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`, `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`, `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: the item `BIT_0` is imported redundantly [INFO] [stdout] --> src/mem/dram.rs:67:23 [INFO] [stdout] | [INFO] [stdout] 64 | use super::*; [INFO] [stdout] | -------- the item `BIT_0` is already imported here [INFO] [stdout] ... [INFO] [stdout] 67 | use crate::info::{BIT_0, BIT_1}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `BIT_1` is imported redundantly [INFO] [stdout] --> src/mem/dram.rs:67:30 [INFO] [stdout] | [INFO] [stdout] 64 | use super::*; [INFO] [stdout] | -------- the item `BIT_1` is already imported here [INFO] [stdout] ... [INFO] [stdout] 67 | use crate::info::{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: multiple variants are never constructed [INFO] [stdout] --> src/register.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum RegisterKind { [INFO] [stdout] | ------------ variants in this enum [INFO] [stdout] 7 | /// hardwired zero [INFO] [stdout] 8 | Zero, [INFO] [stdout] | ^^^^ [INFO] [stdout] 9 | /// return address [INFO] [stdout] 10 | RA, [INFO] [stdout] | ^^ [INFO] [stdout] 11 | /// stack pointer [INFO] [stdout] 12 | SP, [INFO] [stdout] | ^^ [INFO] [stdout] 13 | /// global pointer [INFO] [stdout] 14 | GP, [INFO] [stdout] | ^^ [INFO] [stdout] 15 | /// thread pointer [INFO] [stdout] 16 | TP, [INFO] [stdout] | ^^ [INFO] [stdout] 17 | /// temporary [INFO] [stdout] 18 | T0, [INFO] [stdout] | ^^ [INFO] [stdout] 19 | T1, [INFO] [stdout] | ^^ [INFO] [stdout] 20 | T2, [INFO] [stdout] | ^^ [INFO] [stdout] 21 | T3, [INFO] [stdout] | ^^ [INFO] [stdout] 22 | T4, [INFO] [stdout] | ^^ [INFO] [stdout] 23 | T5, [INFO] [stdout] | ^^ [INFO] [stdout] 24 | T6, [INFO] [stdout] | ^^ [INFO] [stdout] 25 | /// function argument [INFO] [stdout] 26 | A0, // return value [INFO] [stdout] | ^^ [INFO] [stdout] 27 | A1, // return value [INFO] [stdout] | ^^ [INFO] [stdout] 28 | A2, [INFO] [stdout] | ^^ [INFO] [stdout] 29 | A3, [INFO] [stdout] | ^^ [INFO] [stdout] 30 | A4, [INFO] [stdout] | ^^ [INFO] [stdout] 31 | A5, [INFO] [stdout] | ^^ [INFO] [stdout] 32 | A6, [INFO] [stdout] | ^^ [INFO] [stdout] 33 | A7, [INFO] [stdout] | ^^ [INFO] [stdout] 34 | /// saved register [INFO] [stdout] 35 | S0, // frame pointer [INFO] [stdout] | ^^ [INFO] [stdout] 36 | S1, [INFO] [stdout] | ^^ [INFO] [stdout] 37 | S2, [INFO] [stdout] | ^^ [INFO] [stdout] 38 | S3, [INFO] [stdout] | ^^ [INFO] [stdout] 39 | S4, [INFO] [stdout] | ^^ [INFO] [stdout] 40 | S5, [INFO] [stdout] | ^^ [INFO] [stdout] 41 | S6, [INFO] [stdout] | ^^ [INFO] [stdout] 42 | S7, [INFO] [stdout] | ^^ [INFO] [stdout] 43 | S8, [INFO] [stdout] | ^^ [INFO] [stdout] 44 | S9, [INFO] [stdout] | ^^ [INFO] [stdout] 45 | S10, [INFO] [stdout] | ^^^ [INFO] [stdout] 46 | S11, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RegisterKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 45 warnings emitted [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: multiple variants are never constructed [INFO] [stdout] --> src/register.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum RegisterKind { [INFO] [stdout] | ------------ variants in this enum [INFO] [stdout] 7 | /// hardwired zero [INFO] [stdout] 8 | Zero, [INFO] [stdout] | ^^^^ [INFO] [stdout] 9 | /// return address [INFO] [stdout] 10 | RA, [INFO] [stdout] | ^^ [INFO] [stdout] 11 | /// stack pointer [INFO] [stdout] 12 | SP, [INFO] [stdout] | ^^ [INFO] [stdout] 13 | /// global pointer [INFO] [stdout] 14 | GP, [INFO] [stdout] | ^^ [INFO] [stdout] 15 | /// thread pointer [INFO] [stdout] 16 | TP, [INFO] [stdout] | ^^ [INFO] [stdout] 17 | /// temporary [INFO] [stdout] 18 | T0, [INFO] [stdout] | ^^ [INFO] [stdout] 19 | T1, [INFO] [stdout] | ^^ [INFO] [stdout] 20 | T2, [INFO] [stdout] | ^^ [INFO] [stdout] 21 | T3, [INFO] [stdout] | ^^ [INFO] [stdout] 22 | T4, [INFO] [stdout] | ^^ [INFO] [stdout] 23 | T5, [INFO] [stdout] | ^^ [INFO] [stdout] 24 | T6, [INFO] [stdout] | ^^ [INFO] [stdout] 25 | /// function argument [INFO] [stdout] 26 | A0, // return value [INFO] [stdout] | ^^ [INFO] [stdout] 27 | A1, // return value [INFO] [stdout] | ^^ [INFO] [stdout] 28 | A2, [INFO] [stdout] | ^^ [INFO] [stdout] 29 | A3, [INFO] [stdout] | ^^ [INFO] [stdout] 30 | A4, [INFO] [stdout] | ^^ [INFO] [stdout] 31 | A5, [INFO] [stdout] | ^^ [INFO] [stdout] 32 | A6, [INFO] [stdout] | ^^ [INFO] [stdout] 33 | A7, [INFO] [stdout] | ^^ [INFO] [stdout] 34 | /// saved register [INFO] [stdout] 35 | S0, // frame pointer [INFO] [stdout] | ^^ [INFO] [stdout] 36 | S1, [INFO] [stdout] | ^^ [INFO] [stdout] 37 | S2, [INFO] [stdout] | ^^ [INFO] [stdout] 38 | S3, [INFO] [stdout] | ^^ [INFO] [stdout] 39 | S4, [INFO] [stdout] | ^^ [INFO] [stdout] 40 | S5, [INFO] [stdout] | ^^ [INFO] [stdout] 41 | S6, [INFO] [stdout] | ^^ [INFO] [stdout] 42 | S7, [INFO] [stdout] | ^^ [INFO] [stdout] 43 | S8, [INFO] [stdout] | ^^ [INFO] [stdout] 44 | S9, [INFO] [stdout] | ^^ [INFO] [stdout] 45 | S10, [INFO] [stdout] | ^^^ [INFO] [stdout] 46 | S11, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RegisterKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 33 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.30s [INFO] running `Command { std: "docker" "inspect" "3e1bcafe982d810f57402816e5d23e044b6fde36c400d964f6c175ad09456103", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3e1bcafe982d810f57402816e5d23e044b6fde36c400d964f6c175ad09456103", kill_on_drop: false }` [INFO] [stdout] 3e1bcafe982d810f57402816e5d23e044b6fde36c400d964f6c175ad09456103