[INFO] cloning repository https://github.com/ambyshframber/bcpu [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ambyshframber/bcpu" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fambyshframber%2Fbcpu", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fambyshframber%2Fbcpu'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 2d77ebb64ac2b9a31448d947c4460e2249315e43 [INFO] building ambyshframber/bcpu against master#11663cd3bfefef7d34e8f0892c250bf698049392+rustflags=-Dtail-expr-drop-order for pr-134523 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fambyshframber%2Fbcpu" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/ambyshframber/bcpu on toolchain 11663cd3bfefef7d34e8f0892c250bf698049392 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] removed /workspace/builds/worker-4-tc1/source/rust-toolchain [INFO] started tweaking git repo https://github.com/ambyshframber/bcpu [INFO] finished tweaking git repo https://github.com/ambyshframber/bcpu [INFO] tweaked toml for git repo https://github.com/ambyshframber/bcpu written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/ambyshframber/bcpu 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" "+11663cd3bfefef7d34e8f0892c250bf698049392" "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] [stderr] Downloading crates ... [INFO] [stderr] Downloaded lua52-sys v0.1.2 [INFO] [stderr] Downloaded hlua v0.4.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] ec11ab083a8d75dd1a2d8cc118d095d87563f096adc06254ec951105d98450b8 [INFO] running `Command { std: "docker" "start" "-a" "ec11ab083a8d75dd1a2d8cc118d095d87563f096adc06254ec951105d98450b8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ec11ab083a8d75dd1a2d8cc118d095d87563f096adc06254ec951105d98450b8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ec11ab083a8d75dd1a2d8cc118d095d87563f096adc06254ec951105d98450b8", kill_on_drop: false }` [INFO] [stdout] ec11ab083a8d75dd1a2d8cc118d095d87563f096adc06254ec951105d98450b8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dtail-expr-drop-order" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a9fcd815d0d32560b3e2e3667527786cb8999903e8052364d61782c18af11e72 [INFO] running `Command { std: "docker" "start" "-a" "a9fcd815d0d32560b3e2e3667527786cb8999903e8052364d61782c18af11e72", kill_on_drop: false }` [INFO] [stderr] Compiling cc v1.0.73 [INFO] [stderr] Compiling pkg-config v0.3.25 [INFO] [stderr] Compiling libc v0.2.126 [INFO] [stderr] Compiling lua52-sys v0.1.2 [INFO] [stderr] Compiling hlua v0.4.1 [INFO] [stderr] Compiling bcpu v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `lua_device::LuaDevice` [INFO] [stdout] --> src/memory/mod.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use lua_device::LuaDevice; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `LuaFunction` [INFO] [stdout] --> src/memory/lua_device.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | use hlua::{Lua, LuaFunction}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::any::type_name_of_val` [INFO] [stdout] --> src/processor/regval.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::any::type_name_of_val; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `exclusive_range_pattern` has been stable since 1.80.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/main.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | #![feature(exclusive_range_pattern)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `type_name_of_val` has been stable since 1.76.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/main.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | #![feature(type_name_of_val)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/memory/lua_device.rs:19:25 [INFO] [stdout] | [INFO] [stdout] 19 | fn write(&mut self, val: u8, offset: u32, range: u32) {} [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `offset` [INFO] [stdout] --> src/memory/lua_device.rs:19:34 [INFO] [stdout] | [INFO] [stdout] 19 | fn write(&mut self, val: u8, offset: u32, range: u32) {} [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `range` [INFO] [stdout] --> src/memory/lua_device.rs:19:47 [INFO] [stdout] | [INFO] [stdout] 19 | fn write(&mut self, val: u8, offset: u32, range: u32) {} [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_range` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/memory/lua_device.rs:20:27 [INFO] [stdout] | [INFO] [stdout] 20 | fn write16(&mut self, val: [u8; 2], offset: u32, range: u32) {} [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `offset` [INFO] [stdout] --> src/memory/lua_device.rs:20:41 [INFO] [stdout] | [INFO] [stdout] 20 | fn write16(&mut self, val: [u8; 2], offset: u32, range: u32) {} [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `range` [INFO] [stdout] --> src/memory/lua_device.rs:20:54 [INFO] [stdout] | [INFO] [stdout] 20 | fn write16(&mut self, val: [u8; 2], offset: u32, range: u32) {} [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_range` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `offset` [INFO] [stdout] --> src/memory/lua_device.rs:21:24 [INFO] [stdout] | [INFO] [stdout] 21 | fn read(&mut self, offset: u32, range: u32) -> u8 { 0 } [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `range` [INFO] [stdout] --> src/memory/lua_device.rs:21:37 [INFO] [stdout] | [INFO] [stdout] 21 | fn read(&mut self, offset: u32, range: u32) -> u8 { 0 } [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_range` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `offset` [INFO] [stdout] --> src/memory/lua_device.rs:22:26 [INFO] [stdout] | [INFO] [stdout] 22 | fn read16(&mut self, offset: u32, range: u32) -> [u8; 2] { [0, 0] } [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `range` [INFO] [stdout] --> src/memory/lua_device.rs:22:39 [INFO] [stdout] | [INFO] [stdout] 22 | fn read16(&mut self, offset: u32, range: u32) -> [u8; 2] { [0, 0] } [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_range` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `offset` [INFO] [stdout] --> src/memory/mod.rs:55:24 [INFO] [stdout] | [INFO] [stdout] 55 | fn read(&mut self, offset: u32, range: u32) -> u8 { 0 } [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `range` [INFO] [stdout] --> src/memory/mod.rs:55:37 [INFO] [stdout] | [INFO] [stdout] 55 | fn read(&mut self, offset: u32, range: u32) -> u8 { 0 } [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_range` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `offset` [INFO] [stdout] --> src/memory/mod.rs:57:26 [INFO] [stdout] | [INFO] [stdout] 57 | fn read16(&mut self, offset: u32, range: u32) -> [u8; 2] { [0, 0] } [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `range` [INFO] [stdout] --> src/memory/mod.rs:57:39 [INFO] [stdout] | [INFO] [stdout] 57 | fn read16(&mut self, offset: u32, range: u32) -> [u8; 2] { [0, 0] } [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_range` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `privilege` [INFO] [stdout] --> src/processor/mod.rs:146:13 [INFO] [stdout] | [INFO] [stdout] 146 | let privilege = (self.xflags & PRIV_MASK) >> 6; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_privilege` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instruction` [INFO] [stdout] --> src/processor/mod.rs:163:13 [INFO] [stdout] | [INFO] [stdout] 163 | let instruction = self.get_instruction_byte(mem); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/processor/mod.rs:182:17 [INFO] [stdout] | [INFO] [stdout] 182 | Err(e) => { // interrupt processor here [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> src/processor/mod.rs:278:25 [INFO] [stdout] | [INFO] [stdout] 278 | Self::Const(c) => todo!(), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Computer` is never constructed [INFO] [stdout] --> src/main.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | struct Computer { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MemoryMap` is never constructed [INFO] [stdout] --> src/memory/mod.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct MemoryMap { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `find_device_get_offset`, `read`, `read16`, `write`, and `write16` are never used [INFO] [stdout] --> src/memory/mod.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 10 | impl MemoryMap { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] 11 | fn find_device_get_offset(&mut self, addr: u32) -> Option<(&mut MMapDevice, u32, u32)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn read(&mut self, addr: u32) -> u8 { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn read16(&mut self, addr: u32) -> [u8; 2] { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn write(&mut self, val: u8, addr: u32) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn write16(&mut self, val: [u8; 2], addr: u32) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MMapDevice` is never constructed [INFO] [stdout] --> src/memory/mod.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 46 | struct MMapDevice { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `write`, `write16`, `read`, `read16`, and `clock` are never used [INFO] [stdout] --> src/memory/mod.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 51 | pub trait Device { [INFO] [stdout] | ------ methods in this trait [INFO] [stdout] 52 | fn write(&mut self, val: u8, offset: u32, range: u32); [INFO] [stdout] | ^^^^^ [INFO] [stdout] 53 | /// offset will ALWAYS be a multiple of 2 [INFO] [stdout] 54 | fn write16(&mut self, val: [u8; 2], offset: u32, range: u32); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 55 | fn read(&mut self, offset: u32, range: u32) -> u8 { 0 } [INFO] [stdout] | ^^^^ [INFO] [stdout] 56 | /// offset will ALWAYS be a multiple of 2 [INFO] [stdout] 57 | fn read16(&mut self, offset: u32, range: u32) -> [u8; 2] { [0, 0] } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 58 | fn clock(&mut self) -> DevMsg { DevMsg::None } [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Irq` and `Nmi` are never constructed [INFO] [stdout] --> src/memory/mod.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 60 | pub enum DevMsg { [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] 61 | None, [INFO] [stdout] 62 | Irq, [INFO] [stdout] | ^^^ [INFO] [stdout] 63 | Nmi [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BANK_SIZE` is never used [INFO] [stdout] --> src/memory/rustmemory.rs:5:7 [INFO] [stdout] | [INFO] [stdout] 5 | const BANK_SIZE: usize = 2usize.pow(16); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BANK_LAYOUT` is never used [INFO] [stdout] --> src/memory/rustmemory.rs:6:7 [INFO] [stdout] | [INFO] [stdout] 6 | const BANK_LAYOUT: Layout = Layout::new::<[u8; BANK_SIZE]>(); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RustMemory` is never constructed [INFO] [stdout] --> src/memory/rustmemory.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | struct RustMemory { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `init` are never used [INFO] [stdout] --> src/memory/rustmemory.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 12 | impl RustMemory { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 13 | fn new() -> RustMemory { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | fn init(&mut self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `lua` is never read [INFO] [stdout] --> src/memory/lua_device.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct LuaDevice<'a> { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 5 | lua: Lua<'a>, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/memory/lua_device.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 7 | impl<'a> LuaDevice<'a> { [INFO] [stdout] | ---------------------- associated function in this implementation [INFO] [stdout] 8 | fn new(code: &str) -> (LuaDevice, String) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/processor/mod.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Processor { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 13 | xa: u32, xb: u32, xc: u32, xd: u32, [INFO] [stdout] | ^^ ^^ ^^ ^^ [INFO] [stdout] 14 | xsp: u32, xbp: u32, xsi: u32, xdi: u32, xrp: u32, ro: u16, [INFO] [stdout] | ^^^ ^^^ ^^^ ^^^ ^^^ ^^ [INFO] [stdout] 15 | co: u16, do_: u16, eo: u16, so: u16, [INFO] [stdout] | ^^ ^^^ ^^ ^^ [INFO] [stdout] 16 | xidtp: u32, xidtl: u32, xpc: u32, xflags: u32, [INFO] [stdout] | ^^^^^ ^^^^^ ^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `read`, `read_16`, `write`, `size`, and `can_access` are never used [INFO] [stdout] --> src/processor/mod.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 18 | impl Processor { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] 19 | fn read(&self, regid: u8) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | fn read_16(&self, regid: u8) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | fn write(&mut self, regid: u8, val: RegVal) -> Result<()> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | fn size(&self, regid: u8) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | fn can_access(&self, regid: u8) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `RegSize` is never used [INFO] [stdout] --> src/processor/mod.rs:155:6 [INFO] [stdout] | [INFO] [stdout] 155 | enum RegSize { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/processor/mod.rs:162:8 [INFO] [stdout] | [INFO] [stdout] 161 | impl Processor { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] 162 | fn clock(&mut self, mem: &mut MemoryMap) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 191 | fn mov(&mut self, src: Operand, dest: Operand, sign_ext: bool) -> Result<()> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 213 | fn get_flat_pc(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | fn increment_pc(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 219 | fn decrement_pc(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | fn is_testing(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 227 | fn get_instruction_byte(&mut self, mem: &mut MemoryMap) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 233 | fn read_operand(&mut self, mem: &mut MemoryMap) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Operand` is never used [INFO] [stdout] --> src/processor/mod.rs:255:6 [INFO] [stdout] | [INFO] [stdout] 255 | enum Operand { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_const`, `value`, `write_back`, and `size` are never used [INFO] [stdout] --> src/processor/mod.rs:260:8 [INFO] [stdout] | [INFO] [stdout] 259 | impl Operand { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] 260 | fn is_const(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 263 | fn value(&self, registers: &Processor) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 269 | fn write_back(&self, registers: &mut Processor, val: RegVal) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 275 | fn size(&self, registers: &Processor) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `address` is never used [INFO] [stdout] --> src/processor/mod.rs:283:4 [INFO] [stdout] | [INFO] [stdout] 283 | fn address(addr: u16, offset: u16) -> u32 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Result` is never used [INFO] [stdout] --> src/processor/mod.rs:287:6 [INFO] [stdout] | [INFO] [stdout] 287 | type Result = std::result::Result; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Exception` is never used [INFO] [stdout] --> src/processor/mod.rs:289:6 [INFO] [stdout] | [INFO] [stdout] 289 | enum Exception { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GPR_MASK` is never used [INFO] [stdout] --> src/processor/consts.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub const GPR_MASK: u8 = 0b1100; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GPR_SEL_MASK` is never used [INFO] [stdout] --> src/processor/consts.rs:2:11 [INFO] [stdout] | [INFO] [stdout] 2 | pub const GPR_SEL_MASK: u8 = 0b11; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PTR_MASK` is never used [INFO] [stdout] --> src/processor/consts.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | pub const PTR_MASK: u8 = 0b1110; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PTR_SEL_MASK` is never used [INFO] [stdout] --> src/processor/consts.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | pub const PTR_SEL_MASK: u8 = 0b1; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SPEC_MASK` is never used [INFO] [stdout] --> src/processor/consts.rs:5:11 [INFO] [stdout] | [INFO] [stdout] 5 | pub const SPEC_MASK: u8 = 0b110; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SPEC_SEL_MASK` is never used [INFO] [stdout] --> src/processor/consts.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | pub const SPEC_SEL_MASK: u8 = 0b1; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CARRY_MASK` is never used [INFO] [stdout] --> src/processor/consts.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | pub const CARRY_MASK: u32 = 0b0000_0000_0000_0001; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NEGATIVE_MASK` is never used [INFO] [stdout] --> src/processor/consts.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | pub const NEGATIVE_MASK: u32 = 0b0000_0000_0000_0010; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OVERFLOW_MASK` is never used [INFO] [stdout] --> src/processor/consts.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | pub const OVERFLOW_MASK: u32 = 0b0000_0000_0000_0100; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ZERO_MASK` is never used [INFO] [stdout] --> src/processor/consts.rs:11:11 [INFO] [stdout] | [INFO] [stdout] 11 | pub const ZERO_MASK: u32 = 0b0000_0000_0000_1000; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TEST_MASK` is never used [INFO] [stdout] --> src/processor/consts.rs:12:11 [INFO] [stdout] | [INFO] [stdout] 12 | pub const TEST_MASK: u32 = 0b0000_0000_0001_0000; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DSEG_MASK` is never used [INFO] [stdout] --> src/processor/consts.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | pub const DSEG_MASK: u32 = 0b0000_0000_0010_0000; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PRIV_MASK` is never used [INFO] [stdout] --> src/processor/consts.rs:14:11 [INFO] [stdout] | [INFO] [stdout] 14 | pub const PRIV_MASK: u32 = 0b0000_0000_1100_0000; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MODE32_MASK` is never used [INFO] [stdout] --> src/processor/consts.rs:15:11 [INFO] [stdout] | [INFO] [stdout] 15 | pub const MODE32_MASK: u32 = 0b0000_0001_0000_0000; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `GPRs` is never used [INFO] [stdout] --> src/processor/consts.rs:17:10 [INFO] [stdout] | [INFO] [stdout] 17 | pub enum GPRs { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Ptrs` is never used [INFO] [stdout] --> src/processor/consts.rs:36:10 [INFO] [stdout] | [INFO] [stdout] 36 | pub enum Ptrs { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Offs` is never used [INFO] [stdout] --> src/processor/consts.rs:50:10 [INFO] [stdout] | [INFO] [stdout] 50 | pub enum Offs { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Spec` is never used [INFO] [stdout] --> src/processor/consts.rs:56:10 [INFO] [stdout] | [INFO] [stdout] 56 | pub enum Spec { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `update_reg` are never used [INFO] [stdout] --> src/processor/regval.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl FlagUpdate { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 13 | pub fn new(carry: bool, overflow: bool, val: RegVal) -> FlagUpdate { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn update_reg(self, old: u32) -> u32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/processor/regval.rs:139:16 [INFO] [stdout] | [INFO] [stdout] 138 | impl RegVal { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 139 | unwrap_rv!(unwrap_u8, Byte, u8); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 140 | unwrap_rv!(unwrap_u16, Word, u16); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 141 | unwrap_rv!(unwrap_u32, Dword, u32); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 142 | pub fn to_u32(&self) -> u32 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | pub fn from_u32(val: u32, gpr_select: u8) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 160 | pub fn is_zero(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | pub fn is_negative(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 175 | fn zero_extend_u8(self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | fn zero_extend_u16(self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | fn zero_extend_u32(self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 195 | fn sign_extend_u8(self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 201 | fn sign_extend_u16(self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 208 | fn sign_extend_u32(self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn sign_extend(self, size: RegSize) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | pub fn zero_extend(self, size: RegSize) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 231 | one_output!(add); [INFO] [stdout] | ^^^ [INFO] [stdout] 232 | one_output!(sub); [INFO] [stdout] | ^^^ [INFO] [stdout] 233 | [INFO] [stdout] 234 | pub fn mul(self, rhs: RegVal) -> Option<((RegVal, RegVal), FlagUpdate)> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 247 | pub fn imul(self, rhs: RegVal) -> Option<((RegVal, RegVal), FlagUpdate)> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 261 | pub fn div(self, hi: RegVal, rhs: RegVal) -> Option<((RegVal, RegVal), FlagUpdate)> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 274 | pub fn idiv(self, hi: RegVal, rhs: RegVal) -> Option<((RegVal, RegVal), FlagUpdate)> { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `unwrap_rv` which comes from the expansion of the macro `one_output` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `merge_up` is never used [INFO] [stdout] --> src/utils.rs:49:8 [INFO] [stdout] | [INFO] [stdout] 48 | pub trait MergeUp { [INFO] [stdout] | ------- associated function in this trait [INFO] [stdout] 49 | fn merge_up(lo: Self, hi: Self) -> T; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `zero_extend` is never used [INFO] [stdout] --> src/utils.rs:59:8 [INFO] [stdout] | [INFO] [stdout] 58 | pub trait ZeroExtend { [INFO] [stdout] | ---------- method in this trait [INFO] [stdout] 59 | fn zero_extend(self) -> T; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `sign_extend` is never used [INFO] [stdout] --> src/utils.rs:78:8 [INFO] [stdout] | [INFO] [stdout] 77 | pub trait SignExtend { [INFO] [stdout] | ---------- method in this trait [INFO] [stdout] 78 | fn sign_extend(self) -> T; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mix_u32` is never used [INFO] [stdout] --> src/utils.rs:96:8 [INFO] [stdout] | [INFO] [stdout] 96 | pub fn mix_u32(old_val: u32, in_val: u32, sel: u8) -> u32 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `widening_mul` is never used [INFO] [stdout] --> src/utils.rs:107:8 [INFO] [stdout] | [INFO] [stdout] 106 | pub trait SignedWideMul { [INFO] [stdout] | ------------- method in this trait [INFO] [stdout] 107 | fn widening_mul(self, rhs: Self) -> (T, T); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `top_bit` is never used [INFO] [stdout] --> src/utils.rs:125:8 [INFO] [stdout] | [INFO] [stdout] 124 | pub trait TopBit { [INFO] [stdout] | ------ method in this trait [INFO] [stdout] 125 | fn top_bit(self) -> bool; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.74s [INFO] running `Command { std: "docker" "inspect" "a9fcd815d0d32560b3e2e3667527786cb8999903e8052364d61782c18af11e72", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a9fcd815d0d32560b3e2e3667527786cb8999903e8052364d61782c18af11e72", kill_on_drop: false }` [INFO] [stdout] a9fcd815d0d32560b3e2e3667527786cb8999903e8052364d61782c18af11e72 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dtail-expr-drop-order" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 14fc9070ad1ad04c3ed005fcabd443a40c52fb9ab61fc7c555c40a119bd2750f [INFO] running `Command { std: "docker" "start" "-a" "14fc9070ad1ad04c3ed005fcabd443a40c52fb9ab61fc7c555c40a119bd2750f", kill_on_drop: false }` [INFO] [stderr] Compiling bcpu v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `lua_device::LuaDevice` [INFO] [stdout] --> src/memory/mod.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use lua_device::LuaDevice; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `LuaFunction` [INFO] [stdout] --> src/memory/lua_device.rs:1:17 [INFO] [stdout] | [INFO] [stdout] 1 | use hlua::{Lua, LuaFunction}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::any::type_name_of_val` [INFO] [stdout] --> src/processor/regval.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::any::type_name_of_val; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `exclusive_range_pattern` has been stable since 1.80.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/main.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | #![feature(exclusive_range_pattern)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `type_name_of_val` has been stable since 1.76.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/main.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | #![feature(type_name_of_val)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/memory/lua_device.rs:19:25 [INFO] [stdout] | [INFO] [stdout] 19 | fn write(&mut self, val: u8, offset: u32, range: u32) {} [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `offset` [INFO] [stdout] --> src/memory/lua_device.rs:19:34 [INFO] [stdout] | [INFO] [stdout] 19 | fn write(&mut self, val: u8, offset: u32, range: u32) {} [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `range` [INFO] [stdout] --> src/memory/lua_device.rs:19:47 [INFO] [stdout] | [INFO] [stdout] 19 | fn write(&mut self, val: u8, offset: u32, range: u32) {} [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_range` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/memory/lua_device.rs:20:27 [INFO] [stdout] | [INFO] [stdout] 20 | fn write16(&mut self, val: [u8; 2], offset: u32, range: u32) {} [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `offset` [INFO] [stdout] --> src/memory/lua_device.rs:20:41 [INFO] [stdout] | [INFO] [stdout] 20 | fn write16(&mut self, val: [u8; 2], offset: u32, range: u32) {} [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `range` [INFO] [stdout] --> src/memory/lua_device.rs:20:54 [INFO] [stdout] | [INFO] [stdout] 20 | fn write16(&mut self, val: [u8; 2], offset: u32, range: u32) {} [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_range` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `offset` [INFO] [stdout] --> src/memory/lua_device.rs:21:24 [INFO] [stdout] | [INFO] [stdout] 21 | fn read(&mut self, offset: u32, range: u32) -> u8 { 0 } [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `range` [INFO] [stdout] --> src/memory/lua_device.rs:21:37 [INFO] [stdout] | [INFO] [stdout] 21 | fn read(&mut self, offset: u32, range: u32) -> u8 { 0 } [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_range` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `offset` [INFO] [stdout] --> src/memory/lua_device.rs:22:26 [INFO] [stdout] | [INFO] [stdout] 22 | fn read16(&mut self, offset: u32, range: u32) -> [u8; 2] { [0, 0] } [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `range` [INFO] [stdout] --> src/memory/lua_device.rs:22:39 [INFO] [stdout] | [INFO] [stdout] 22 | fn read16(&mut self, offset: u32, range: u32) -> [u8; 2] { [0, 0] } [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_range` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `offset` [INFO] [stdout] --> src/memory/mod.rs:55:24 [INFO] [stdout] | [INFO] [stdout] 55 | fn read(&mut self, offset: u32, range: u32) -> u8 { 0 } [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `range` [INFO] [stdout] --> src/memory/mod.rs:55:37 [INFO] [stdout] | [INFO] [stdout] 55 | fn read(&mut self, offset: u32, range: u32) -> u8 { 0 } [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_range` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `offset` [INFO] [stdout] --> src/memory/mod.rs:57:26 [INFO] [stdout] | [INFO] [stdout] 57 | fn read16(&mut self, offset: u32, range: u32) -> [u8; 2] { [0, 0] } [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `range` [INFO] [stdout] --> src/memory/mod.rs:57:39 [INFO] [stdout] | [INFO] [stdout] 57 | fn read16(&mut self, offset: u32, range: u32) -> [u8; 2] { [0, 0] } [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_range` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `privilege` [INFO] [stdout] --> src/processor/mod.rs:146:13 [INFO] [stdout] | [INFO] [stdout] 146 | let privilege = (self.xflags & PRIV_MASK) >> 6; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_privilege` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instruction` [INFO] [stdout] --> src/processor/mod.rs:163:13 [INFO] [stdout] | [INFO] [stdout] 163 | let instruction = self.get_instruction_byte(mem); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/processor/mod.rs:182:17 [INFO] [stdout] | [INFO] [stdout] 182 | Err(e) => { // interrupt processor here [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `c` [INFO] [stdout] --> src/processor/mod.rs:278:25 [INFO] [stdout] | [INFO] [stdout] 278 | Self::Const(c) => todo!(), [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Computer` is never constructed [INFO] [stdout] --> src/main.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | struct Computer { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MemoryMap` is never constructed [INFO] [stdout] --> src/memory/mod.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct MemoryMap { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `find_device_get_offset`, `read`, `read16`, `write`, and `write16` are never used [INFO] [stdout] --> src/memory/mod.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 10 | impl MemoryMap { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] 11 | fn find_device_get_offset(&mut self, addr: u32) -> Option<(&mut MMapDevice, u32, u32)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn read(&mut self, addr: u32) -> u8 { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn read16(&mut self, addr: u32) -> [u8; 2] { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn write(&mut self, val: u8, addr: u32) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | pub fn write16(&mut self, val: [u8; 2], addr: u32) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MMapDevice` is never constructed [INFO] [stdout] --> src/memory/mod.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 46 | struct MMapDevice { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `write16`, `read16`, and `clock` are never used [INFO] [stdout] --> src/memory/mod.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 51 | pub trait Device { [INFO] [stdout] | ------ methods in this trait [INFO] [stdout] ... [INFO] [stdout] 54 | fn write16(&mut self, val: [u8; 2], offset: u32, range: u32); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | fn read16(&mut self, offset: u32, range: u32) -> [u8; 2] { [0, 0] } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 58 | fn clock(&mut self) -> DevMsg { DevMsg::None } [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Irq` and `Nmi` are never constructed [INFO] [stdout] --> src/memory/mod.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 60 | pub enum DevMsg { [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] 61 | None, [INFO] [stdout] 62 | Irq, [INFO] [stdout] | ^^^ [INFO] [stdout] 63 | Nmi [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `lua` is never read [INFO] [stdout] --> src/memory/lua_device.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct LuaDevice<'a> { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 5 | lua: Lua<'a>, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/memory/lua_device.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 7 | impl<'a> LuaDevice<'a> { [INFO] [stdout] | ---------------------- associated function in this implementation [INFO] [stdout] 8 | fn new(code: &str) -> (LuaDevice, String) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `read_16` is never used [INFO] [stdout] --> src/processor/mod.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 18 | impl Processor { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 66 | fn read_16(&self, regid: u8) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `clock`, `get_flat_pc`, `increment_pc`, `decrement_pc`, `get_instruction_byte`, and `read_operand` are never used [INFO] [stdout] --> src/processor/mod.rs:162:8 [INFO] [stdout] | [INFO] [stdout] 161 | impl Processor { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] 162 | fn clock(&mut self, mem: &mut MemoryMap) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 213 | fn get_flat_pc(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | fn increment_pc(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 219 | fn decrement_pc(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 227 | fn get_instruction_byte(&mut self, mem: &mut MemoryMap) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 233 | fn read_operand(&mut self, mem: &mut MemoryMap) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `address` is never used [INFO] [stdout] --> src/processor/mod.rs:283:4 [INFO] [stdout] | [INFO] [stdout] 283 | fn address(addr: u16, offset: u16) -> u32 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CARRY_MASK` is never used [INFO] [stdout] --> src/processor/consts.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | pub const CARRY_MASK: u32 = 0b0000_0000_0000_0001; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NEGATIVE_MASK` is never used [INFO] [stdout] --> src/processor/consts.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | pub const NEGATIVE_MASK: u32 = 0b0000_0000_0000_0010; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OVERFLOW_MASK` is never used [INFO] [stdout] --> src/processor/consts.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | pub const OVERFLOW_MASK: u32 = 0b0000_0000_0000_0100; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ZERO_MASK` is never used [INFO] [stdout] --> src/processor/consts.rs:11:11 [INFO] [stdout] | [INFO] [stdout] 11 | pub const ZERO_MASK: u32 = 0b0000_0000_0000_1000; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DSEG_MASK` is never used [INFO] [stdout] --> src/processor/consts.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | pub const DSEG_MASK: u32 = 0b0000_0000_0010_0000; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MODE32_MASK` is never used [INFO] [stdout] --> src/processor/consts.rs:15:11 [INFO] [stdout] | [INFO] [stdout] 15 | pub const MODE32_MASK: u32 = 0b0000_0001_0000_0000; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/processor/consts.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub enum GPRs { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] 18 | A = 0x00, [INFO] [stdout] 19 | XA = 0x01, [INFO] [stdout] | ^^ [INFO] [stdout] 20 | AL = 0x02, [INFO] [stdout] | ^^ [INFO] [stdout] 21 | AH = 0x03, [INFO] [stdout] | ^^ [INFO] [stdout] 22 | [INFO] [stdout] 23 | B = 0x04, [INFO] [stdout] | ^ [INFO] [stdout] 24 | XB = 0x05, [INFO] [stdout] | ^^ [INFO] [stdout] 25 | BL = 0x06, [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 28 | C = 0x08, [INFO] [stdout] | ^ [INFO] [stdout] 29 | XC = 0x09, [INFO] [stdout] 30 | CL = 0x0a, [INFO] [stdout] | ^^ [INFO] [stdout] 31 | [INFO] [stdout] 32 | D = 0x0c, [INFO] [stdout] | ^ [INFO] [stdout] 33 | XD = 0x0d, [INFO] [stdout] | ^^ [INFO] [stdout] 34 | DL = 0x0e, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/processor/consts.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 36 | pub enum Ptrs { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] 37 | SP = 0x10, [INFO] [stdout] 38 | XSP = 0x11, [INFO] [stdout] | ^^^ [INFO] [stdout] 39 | BP = 0x12, [INFO] [stdout] 40 | XBP = 0x13, [INFO] [stdout] | ^^^ [INFO] [stdout] 41 | SI = 0x14, [INFO] [stdout] | ^^ [INFO] [stdout] 42 | XSI = 0x15, [INFO] [stdout] | ^^^ [INFO] [stdout] 43 | DI = 0x16, [INFO] [stdout] | ^^ [INFO] [stdout] 44 | XDI = 0x17, [INFO] [stdout] | ^^^ [INFO] [stdout] 45 | [INFO] [stdout] 46 | RP = 0x18, [INFO] [stdout] | ^^ [INFO] [stdout] 47 | XRP = 0x19, [INFO] [stdout] | ^^^ [INFO] [stdout] 48 | ROP = 0x1a, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Offs` is never used [INFO] [stdout] --> src/processor/consts.rs:50:10 [INFO] [stdout] | [INFO] [stdout] 50 | pub enum Offs { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Spec` is never used [INFO] [stdout] --> src/processor/consts.rs:56:10 [INFO] [stdout] | [INFO] [stdout] 56 | pub enum Spec { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update_reg` is never used [INFO] [stdout] --> src/processor/regval.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl FlagUpdate { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn update_reg(self, old: u32) -> u32 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `mul` is never used [INFO] [stdout] --> src/processor/regval.rs:234:12 [INFO] [stdout] | [INFO] [stdout] 138 | impl RegVal { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 234 | pub fn mul(self, rhs: RegVal) -> Option<((RegVal, RegVal), FlagUpdate)> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `merge_up` is never used [INFO] [stdout] --> src/utils.rs:49:8 [INFO] [stdout] | [INFO] [stdout] 48 | pub trait MergeUp { [INFO] [stdout] | ------- associated function in this trait [INFO] [stdout] 49 | fn merge_up(lo: Self, hi: Self) -> T; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.33s [INFO] running `Command { std: "docker" "inspect" "14fc9070ad1ad04c3ed005fcabd443a40c52fb9ab61fc7c555c40a119bd2750f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "14fc9070ad1ad04c3ed005fcabd443a40c52fb9ab61fc7c555c40a119bd2750f", kill_on_drop: false }` [INFO] [stdout] 14fc9070ad1ad04c3ed005fcabd443a40c52fb9ab61fc7c555c40a119bd2750f