[INFO] cloning repository https://github.com/glinesbdev/gb_emulator [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/glinesbdev/gb_emulator" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fglinesbdev%2Fgb_emulator", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fglinesbdev%2Fgb_emulator'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] c952b663dc8f99504dc17bec867125bc8bff0810 [INFO] checking glinesbdev/gb_emulator against master#19f42cb9bb65555e7d95dab7d17573ae6c5d634c for pr-139087 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fglinesbdev%2Fgb_emulator" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/glinesbdev/gb_emulator on toolchain 19f42cb9bb65555e7d95dab7d17573ae6c5d634c [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+19f42cb9bb65555e7d95dab7d17573ae6c5d634c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/glinesbdev/gb_emulator [INFO] finished tweaking git repo https://github.com/glinesbdev/gb_emulator [INFO] tweaked toml for git repo https://github.com/glinesbdev/gb_emulator written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/glinesbdev/gb_emulator 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" "+19f42cb9bb65555e7d95dab7d17573ae6c5d634c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:4b26683ee3c49f365255c425c23003cbf4366de097804722c29c5bbbee3624d2" "/opt/rustwide/cargo-home/bin/cargo" "+19f42cb9bb65555e7d95dab7d17573ae6c5d634c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3e141e10eb335c48ab3e9cd9e7f2dddbc2f4698f8d6ba0f5c7da90124626033d [INFO] running `Command { std: "docker" "start" "-a" "3e141e10eb335c48ab3e9cd9e7f2dddbc2f4698f8d6ba0f5c7da90124626033d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3e141e10eb335c48ab3e9cd9e7f2dddbc2f4698f8d6ba0f5c7da90124626033d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3e141e10eb335c48ab3e9cd9e7f2dddbc2f4698f8d6ba0f5c7da90124626033d", kill_on_drop: false }` [INFO] [stdout] 3e141e10eb335c48ab3e9cd9e7f2dddbc2f4698f8d6ba0f5c7da90124626033d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4b26683ee3c49f365255c425c23003cbf4366de097804722c29c5bbbee3624d2" "/opt/rustwide/cargo-home/bin/cargo" "+19f42cb9bb65555e7d95dab7d17573ae6c5d634c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b4473133f486c0826db4898b52e59afb265406a026383ae2d22736dde62cc71e [INFO] running `Command { std: "docker" "start" "-a" "b4473133f486c0826db4898b52e59afb265406a026383ae2d22736dde62cc71e", kill_on_drop: false }` [INFO] [stderr] Checking gb_emulator v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused macro definition: `assert_flags` [INFO] [stdout] --> src/cpu/./tests/cpu_tests.rs:5:14 [INFO] [stdout] | [INFO] [stdout] 5 | macro_rules! assert_flags { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `test_instruction` [INFO] [stdout] --> src/cpu/./tests/cpu_tests.rs:22:14 [INFO] [stdout] | [INFO] [stdout] 22 | macro_rules! test_instruction { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `carry` [INFO] [stdout] --> src/cpu/mod.rs:481:13 [INFO] [stdout] | [INFO] [stdout] 481 | let carry = u8::from(self.registers.f.carry); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_carry` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `boot_rom` [INFO] [stdout] --> src/memory.rs:73:16 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn new(boot_rom: Option>, rom: Vec) -> Self { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_boot_rom` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | fn run(mut cpu: CPU) { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `pc`, `sp`, and `registers` are never read [INFO] [stdout] --> src/cpu/mod.rs:146:9 [INFO] [stdout] | [INFO] [stdout] 145 | pub struct CPU { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] 146 | pub pc: u16, [INFO] [stdout] | ^^ [INFO] [stdout] 147 | pub sp: u16, [INFO] [stdout] | ^^ [INFO] [stdout] 148 | pub registers: Registers, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/cpu/mod.rs:163:12 [INFO] [stdout] | [INFO] [stdout] 153 | impl CPU { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 163 | pub fn execute_instruction(&mut self, instruction: Instruction) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 271 | fn add(&mut self, value: u8) -> u8 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 281 | fn adc(&mut self, value: u8) -> u8 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 294 | fn and(&mut self, value: u8) -> u8 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 304 | fn compare(&mut self, value: u8) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 319 | fn dec(&mut self, value: u8) -> u8 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 333 | fn inc(&mut self, value: u8) -> u8 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 347 | fn or(&mut self, value: u8) -> u8 { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 357 | fn sbc(&mut self, value: u8) -> u8 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 370 | fn sub(&mut self, value: u8) -> u8 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 380 | fn xor(&mut self, value: u8) -> u8 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 392 | fn add_hl(&mut self, value: u16) -> u16 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 409 | fn inc_16bit(&mut self, value: u16) -> u16 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 413 | fn dec_16bit(&mut self, value: u16) -> u16 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 419 | fn bit(&mut self, value: u8, bit_position: BitPosition) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 425 | fn set(&mut self, value: u8, bit_position: BitPosition) -> u8 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 429 | fn swap(&mut self, value: u8) -> u8 { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 441 | fn rl(&mut self, value: u8) -> u8 { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 454 | fn rla(&mut self, value: u8) -> u8 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 461 | fn rlc(&mut self, value: u8) -> u8 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 473 | fn rlca(&mut self, value: u8) -> u8 { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 480 | fn rr(&mut self, value: u8) -> u8 { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 493 | fn rra(&mut self, value: u8) -> u8 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 500 | fn rrc(&mut self, value: u8) -> u8 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 512 | fn rrca(&mut self, value: u8) -> u8 { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 521 | fn ccf(&mut self) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 527 | fn complement(&mut self, value: u8) -> u8 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 535 | fn scf(&mut self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ArithmeticTarget` is never used [INFO] [stdout] --> src/cpu/instructions.rs:3:10 [INFO] [stdout] | [INFO] [stdout] 3 | pub enum ArithmeticTarget { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `IncDecTarget` is never used [INFO] [stdout] --> src/cpu/instructions.rs:14:10 [INFO] [stdout] | [INFO] [stdout] 14 | pub enum IncDecTarget { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ADDHLTarget` is never used [INFO] [stdout] --> src/cpu/instructions.rs:29:10 [INFO] [stdout] | [INFO] [stdout] 29 | pub enum ADDHLTarget { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `PrefixTarget` is never used [INFO] [stdout] --> src/cpu/instructions.rs:36:10 [INFO] [stdout] | [INFO] [stdout] 36 | pub enum PrefixTarget { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `LoadByteTarget` is never used [INFO] [stdout] --> src/cpu/instructions.rs:73:10 [INFO] [stdout] | [INFO] [stdout] 73 | pub enum LoadByteTarget { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `LoadByteSource` is never used [INFO] [stdout] --> src/cpu/instructions.rs:84:10 [INFO] [stdout] | [INFO] [stdout] 84 | pub enum LoadByteSource { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `LoadWordTarget` is never used [INFO] [stdout] --> src/cpu/instructions.rs:95:10 [INFO] [stdout] | [INFO] [stdout] 95 | pub enum LoadWordTarget { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `LoadType` is never used [INFO] [stdout] --> src/cpu/instructions.rs:101:10 [INFO] [stdout] | [INFO] [stdout] 101 | pub enum LoadType { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `RSTVector` is never used [INFO] [stdout] --> src/cpu/instructions.rs:106:10 [INFO] [stdout] | [INFO] [stdout] 106 | pub enum RSTVector { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Interrupts` is never used [INFO] [stdout] --> src/cpu/instructions.rs:117:10 [INFO] [stdout] | [INFO] [stdout] 117 | pub enum Interrupts { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Instruction` is never used [INFO] [stdout] --> src/cpu/instructions.rs:125:10 [INFO] [stdout] | [INFO] [stdout] 125 | pub enum Instruction { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/cpu/registers.rs:7:9 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Registers { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 7 | pub a: u8, [INFO] [stdout] | ^ [INFO] [stdout] 8 | pub b: u8, [INFO] [stdout] | ^ [INFO] [stdout] 9 | pub c: u8, [INFO] [stdout] | ^ [INFO] [stdout] 10 | pub d: u8, [INFO] [stdout] | ^ [INFO] [stdout] 11 | pub e: u8, [INFO] [stdout] | ^ [INFO] [stdout] 12 | pub f: FlagsRegister, [INFO] [stdout] | ^ [INFO] [stdout] 13 | pub h: u8, [INFO] [stdout] | ^ [INFO] [stdout] 14 | pub l: u8, [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_bc`, `set_bc`, `get_de`, `set_de`, `get_hl`, and `set_hl` are never used [INFO] [stdout] --> src/cpu/registers.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl Registers { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn get_bc(&self) -> u16 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn set_bc(&mut self, value: u16) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn get_de(&self) -> u16 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn set_de(&mut self, value: u16) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn get_hl(&self) -> u16 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn set_hl(&mut self, value: u16) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `new_cpu` is never used [INFO] [stdout] --> src/cpu/./tests/cpu_tests.rs:70:4 [INFO] [stdout] | [INFO] [stdout] 70 | fn new_cpu() -> CPU { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VRAM_START` is never used [INFO] [stdout] --> src/memory.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | pub const VRAM_START: usize = 0x8000; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VRAM_END` is never used [INFO] [stdout] --> src/memory.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | pub const VRAM_END: usize = 0x9FFF; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VRAM_SIZE` is never used [INFO] [stdout] --> src/memory.rs:11:11 [INFO] [stdout] | [INFO] [stdout] 11 | pub const VRAM_SIZE: usize = VRAM_END - VRAM_START + 1; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EXTERNAL_RAM_START` is never used [INFO] [stdout] --> src/memory.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | pub const EXTERNAL_RAM_START: usize = 0xA000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EXTERNAL_RAM_END` is never used [INFO] [stdout] --> src/memory.rs:14:11 [INFO] [stdout] | [INFO] [stdout] 14 | pub const EXTERNAL_RAM_END: usize = 0xBFFF; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EXTERNAL_RAM_SIZE` is never used [INFO] [stdout] --> src/memory.rs:15:11 [INFO] [stdout] | [INFO] [stdout] 15 | pub const EXTERNAL_RAM_SIZE: usize = EXTERNAL_RAM_END - EXTERNAL_RAM_START + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WRAM_1_START` is never used [INFO] [stdout] --> src/memory.rs:17:11 [INFO] [stdout] | [INFO] [stdout] 17 | pub const WRAM_1_START: usize = 0xC000; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WRAM_1_END` is never used [INFO] [stdout] --> src/memory.rs:18:11 [INFO] [stdout] | [INFO] [stdout] 18 | pub const WRAM_1_END: usize = 0xCFFF; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WRAM_1_SIZE` is never used [INFO] [stdout] --> src/memory.rs:19:11 [INFO] [stdout] | [INFO] [stdout] 19 | pub const WRAM_1_SIZE: usize = WRAM_1_END - WRAM_1_START + 1; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WRAM_2_START` is never used [INFO] [stdout] --> src/memory.rs:21:11 [INFO] [stdout] | [INFO] [stdout] 21 | pub const WRAM_2_START: usize = 0xD000; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WRAM_2_END` is never used [INFO] [stdout] --> src/memory.rs:22:11 [INFO] [stdout] | [INFO] [stdout] 22 | pub const WRAM_2_END: usize = 0xDFFF; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WRAM_2_SIZE` is never used [INFO] [stdout] --> src/memory.rs:23:11 [INFO] [stdout] | [INFO] [stdout] 23 | pub const WRAM_2_SIZE: usize = WRAM_2_END - WRAM_2_START + 1; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ECHO_RAM_START` is never used [INFO] [stdout] --> src/memory.rs:25:11 [INFO] [stdout] | [INFO] [stdout] 25 | pub const ECHO_RAM_START: usize = 0xE000; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ECHO_RAM_END` is never used [INFO] [stdout] --> src/memory.rs:26:11 [INFO] [stdout] | [INFO] [stdout] 26 | pub const ECHO_RAM_END: usize = 0xFDFF; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ECHO_RAM_SIZE` is never used [INFO] [stdout] --> src/memory.rs:27:11 [INFO] [stdout] | [INFO] [stdout] 27 | pub const ECHO_RAM_SIZE: usize = ECHO_RAM_END - ECHO_RAM_START + 1; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OAM_START` is never used [INFO] [stdout] --> src/memory.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub const OAM_START: usize = 0xFE00; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OAM_END` is never used [INFO] [stdout] --> src/memory.rs:30:11 [INFO] [stdout] | [INFO] [stdout] 30 | pub const OAM_END: usize = 0xFE9F; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OAM_SIZE` is never used [INFO] [stdout] --> src/memory.rs:31:11 [INFO] [stdout] | [INFO] [stdout] 31 | pub const OAM_SIZE: usize = OAM_END - OAM_START + 1; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNUSABLE_START` is never used [INFO] [stdout] --> src/memory.rs:33:11 [INFO] [stdout] | [INFO] [stdout] 33 | pub const UNUSABLE_START: usize = 0xFEA0; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNUSABLE_END` is never used [INFO] [stdout] --> src/memory.rs:34:11 [INFO] [stdout] | [INFO] [stdout] 34 | pub const UNUSABLE_END: usize = 0xFEFF; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNUSABLE_SIZE` is never used [INFO] [stdout] --> src/memory.rs:35:11 [INFO] [stdout] | [INFO] [stdout] 35 | pub const UNUSABLE_SIZE: usize = UNUSABLE_END - UNUSABLE_START + 1; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IO_REGISTERS_START` is never used [INFO] [stdout] --> src/memory.rs:37:11 [INFO] [stdout] | [INFO] [stdout] 37 | pub const IO_REGISTERS_START: usize = 0xFF00; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IO_REGISTERS_END` is never used [INFO] [stdout] --> src/memory.rs:38:11 [INFO] [stdout] | [INFO] [stdout] 38 | pub const IO_REGISTERS_END: usize = 0xFF7F; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IO_REGISTERS_SIZE` is never used [INFO] [stdout] --> src/memory.rs:39:11 [INFO] [stdout] | [INFO] [stdout] 39 | pub const IO_REGISTERS_SIZE: usize = IO_REGISTERS_END - IO_REGISTERS_START + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HRAM_START` is never used [INFO] [stdout] --> src/memory.rs:41:11 [INFO] [stdout] | [INFO] [stdout] 41 | pub const HRAM_START: usize = 0xFF80; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HRAM_END` is never used [INFO] [stdout] --> src/memory.rs:42:11 [INFO] [stdout] | [INFO] [stdout] 42 | pub const HRAM_END: usize = 0xFFEE; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HRAM_SIZE` is never used [INFO] [stdout] --> src/memory.rs:43:11 [INFO] [stdout] | [INFO] [stdout] 43 | pub const HRAM_SIZE: usize = HRAM_END - HRAM_START + 1; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INTERRUPT_ENABLE` is never used [INFO] [stdout] --> src/memory.rs:45:11 [INFO] [stdout] | [INFO] [stdout] 45 | pub const INTERRUPT_ENABLE: usize = 0xFFFF; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `vblank`, `stat`, `timer`, `serial`, and `joypad` are never read [INFO] [stdout] --> src/memory.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 47 | pub struct InterruptFlags { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 48 | pub vblank: bool, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 49 | pub stat: bool, [INFO] [stdout] | ^^^^ [INFO] [stdout] 50 | pub timer: bool, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 51 | pub serial: bool, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 52 | pub joypad: bool, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `interrupt_flags` is never read [INFO] [stdout] --> src/memory.rs:69:9 [INFO] [stdout] | [INFO] [stdout] 67 | pub struct Memory { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 68 | pub bus: [u8; 0xFFFF], [INFO] [stdout] 69 | pub interrupt_flags: InterruptFlags, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `carry` [INFO] [stdout] --> src/cpu/mod.rs:481:13 [INFO] [stdout] | [INFO] [stdout] 481 | let carry = u8::from(self.registers.f.carry); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_carry` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `boot_rom` [INFO] [stdout] --> src/memory.rs:73:16 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn new(boot_rom: Option>, rom: Vec) -> Self { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_boot_rom` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | fn run(mut cpu: CPU) { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `pc` and `sp` are never read [INFO] [stdout] --> src/cpu/mod.rs:146:9 [INFO] [stdout] | [INFO] [stdout] 145 | pub struct CPU { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] 146 | pub pc: u16, [INFO] [stdout] | ^^ [INFO] [stdout] 147 | pub sp: u16, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `E`, `L`, and `HLI` are never constructed [INFO] [stdout] --> src/cpu/instructions.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 3 | pub enum ArithmeticTarget { [INFO] [stdout] | ---------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 8 | E, [INFO] [stdout] | ^ [INFO] [stdout] 9 | H, [INFO] [stdout] 10 | L, [INFO] [stdout] | ^ [INFO] [stdout] 11 | HLI, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/cpu/instructions.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub enum IncDecTarget { [INFO] [stdout] | ------------ variants in this enum [INFO] [stdout] 15 | A, [INFO] [stdout] 16 | B, [INFO] [stdout] | ^ [INFO] [stdout] 17 | C, [INFO] [stdout] | ^ [INFO] [stdout] 18 | D, [INFO] [stdout] | ^ [INFO] [stdout] 19 | E, [INFO] [stdout] | ^ [INFO] [stdout] 20 | H, [INFO] [stdout] | ^ [INFO] [stdout] 21 | L, [INFO] [stdout] | ^ [INFO] [stdout] 22 | BC, [INFO] [stdout] | ^^ [INFO] [stdout] 23 | DE, [INFO] [stdout] | ^^ [INFO] [stdout] 24 | HL, [INFO] [stdout] 25 | HLI, [INFO] [stdout] | ^^^ [INFO] [stdout] 26 | SP, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SP` is never constructed [INFO] [stdout] --> src/cpu/instructions.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 29 | pub enum ADDHLTarget { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 33 | SP, [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `D`, `E`, and `HLI` are never constructed [INFO] [stdout] --> src/cpu/instructions.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 36 | pub enum PrefixTarget { [INFO] [stdout] | ------------ variants in this enum [INFO] [stdout] ... [INFO] [stdout] 40 | D, [INFO] [stdout] | ^ [INFO] [stdout] 41 | E, [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 44 | HLI, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/cpu/instructions.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 73 | pub enum LoadByteTarget { [INFO] [stdout] | -------------- variants in this enum [INFO] [stdout] 74 | A, [INFO] [stdout] | ^ [INFO] [stdout] 75 | B, [INFO] [stdout] | ^ [INFO] [stdout] 76 | C, [INFO] [stdout] | ^ [INFO] [stdout] 77 | D, [INFO] [stdout] | ^ [INFO] [stdout] 78 | E, [INFO] [stdout] | ^ [INFO] [stdout] 79 | H, [INFO] [stdout] | ^ [INFO] [stdout] 80 | L, [INFO] [stdout] | ^ [INFO] [stdout] 81 | HLI, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/cpu/instructions.rs:85:5 [INFO] [stdout] | [INFO] [stdout] 84 | pub enum LoadByteSource { [INFO] [stdout] | -------------- variants in this enum [INFO] [stdout] 85 | A, [INFO] [stdout] | ^ [INFO] [stdout] 86 | B, [INFO] [stdout] | ^ [INFO] [stdout] 87 | C, [INFO] [stdout] | ^ [INFO] [stdout] 88 | D, [INFO] [stdout] | ^ [INFO] [stdout] 89 | E, [INFO] [stdout] | ^ [INFO] [stdout] 90 | H, [INFO] [stdout] | ^ [INFO] [stdout] 91 | L, [INFO] [stdout] | ^ [INFO] [stdout] 92 | HLI, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `LoadWordTarget` is never used [INFO] [stdout] --> src/cpu/instructions.rs:95:10 [INFO] [stdout] | [INFO] [stdout] 95 | pub enum LoadWordTarget { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `BYTE` is never constructed [INFO] [stdout] --> src/cpu/instructions.rs:102:5 [INFO] [stdout] | [INFO] [stdout] 101 | pub enum LoadType { [INFO] [stdout] | -------- variant in this enum [INFO] [stdout] 102 | BYTE(LoadByteSource, LoadByteTarget), [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `RSTVector` is never used [INFO] [stdout] --> src/cpu/instructions.rs:106:10 [INFO] [stdout] | [INFO] [stdout] 106 | pub enum RSTVector { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Interrupts` is never used [INFO] [stdout] --> src/cpu/instructions.rs:117:10 [INFO] [stdout] | [INFO] [stdout] 117 | pub enum Interrupts { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `SBC`, `BIT`, and `LD` are never constructed [INFO] [stdout] --> src/cpu/instructions.rs:134:5 [INFO] [stdout] | [INFO] [stdout] 125 | pub enum Instruction { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 134 | SBC(ArithmeticTarget), [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | BIT(PrefixTarget, BitPosition), [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | LD(LoadType), [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VRAM_START` is never used [INFO] [stdout] --> src/memory.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | pub const VRAM_START: usize = 0x8000; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VRAM_END` is never used [INFO] [stdout] --> src/memory.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | pub const VRAM_END: usize = 0x9FFF; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `VRAM_SIZE` is never used [INFO] [stdout] --> src/memory.rs:11:11 [INFO] [stdout] | [INFO] [stdout] 11 | pub const VRAM_SIZE: usize = VRAM_END - VRAM_START + 1; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EXTERNAL_RAM_START` is never used [INFO] [stdout] --> src/memory.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | pub const EXTERNAL_RAM_START: usize = 0xA000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EXTERNAL_RAM_END` is never used [INFO] [stdout] --> src/memory.rs:14:11 [INFO] [stdout] | [INFO] [stdout] 14 | pub const EXTERNAL_RAM_END: usize = 0xBFFF; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EXTERNAL_RAM_SIZE` is never used [INFO] [stdout] --> src/memory.rs:15:11 [INFO] [stdout] | [INFO] [stdout] 15 | pub const EXTERNAL_RAM_SIZE: usize = EXTERNAL_RAM_END - EXTERNAL_RAM_START + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WRAM_1_START` is never used [INFO] [stdout] --> src/memory.rs:17:11 [INFO] [stdout] | [INFO] [stdout] 17 | pub const WRAM_1_START: usize = 0xC000; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WRAM_1_END` is never used [INFO] [stdout] --> src/memory.rs:18:11 [INFO] [stdout] | [INFO] [stdout] 18 | pub const WRAM_1_END: usize = 0xCFFF; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WRAM_1_SIZE` is never used [INFO] [stdout] --> src/memory.rs:19:11 [INFO] [stdout] | [INFO] [stdout] 19 | pub const WRAM_1_SIZE: usize = WRAM_1_END - WRAM_1_START + 1; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WRAM_2_START` is never used [INFO] [stdout] --> src/memory.rs:21:11 [INFO] [stdout] | [INFO] [stdout] 21 | pub const WRAM_2_START: usize = 0xD000; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WRAM_2_END` is never used [INFO] [stdout] --> src/memory.rs:22:11 [INFO] [stdout] | [INFO] [stdout] 22 | pub const WRAM_2_END: usize = 0xDFFF; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `WRAM_2_SIZE` is never used [INFO] [stdout] --> src/memory.rs:23:11 [INFO] [stdout] | [INFO] [stdout] 23 | pub const WRAM_2_SIZE: usize = WRAM_2_END - WRAM_2_START + 1; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ECHO_RAM_START` is never used [INFO] [stdout] --> src/memory.rs:25:11 [INFO] [stdout] | [INFO] [stdout] 25 | pub const ECHO_RAM_START: usize = 0xE000; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ECHO_RAM_END` is never used [INFO] [stdout] --> src/memory.rs:26:11 [INFO] [stdout] | [INFO] [stdout] 26 | pub const ECHO_RAM_END: usize = 0xFDFF; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ECHO_RAM_SIZE` is never used [INFO] [stdout] --> src/memory.rs:27:11 [INFO] [stdout] | [INFO] [stdout] 27 | pub const ECHO_RAM_SIZE: usize = ECHO_RAM_END - ECHO_RAM_START + 1; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OAM_START` is never used [INFO] [stdout] --> src/memory.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub const OAM_START: usize = 0xFE00; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OAM_END` is never used [INFO] [stdout] --> src/memory.rs:30:11 [INFO] [stdout] | [INFO] [stdout] 30 | pub const OAM_END: usize = 0xFE9F; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OAM_SIZE` is never used [INFO] [stdout] --> src/memory.rs:31:11 [INFO] [stdout] | [INFO] [stdout] 31 | pub const OAM_SIZE: usize = OAM_END - OAM_START + 1; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNUSABLE_START` is never used [INFO] [stdout] --> src/memory.rs:33:11 [INFO] [stdout] | [INFO] [stdout] 33 | pub const UNUSABLE_START: usize = 0xFEA0; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNUSABLE_END` is never used [INFO] [stdout] --> src/memory.rs:34:11 [INFO] [stdout] | [INFO] [stdout] 34 | pub const UNUSABLE_END: usize = 0xFEFF; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UNUSABLE_SIZE` is never used [INFO] [stdout] --> src/memory.rs:35:11 [INFO] [stdout] | [INFO] [stdout] 35 | pub const UNUSABLE_SIZE: usize = UNUSABLE_END - UNUSABLE_START + 1; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IO_REGISTERS_START` is never used [INFO] [stdout] --> src/memory.rs:37:11 [INFO] [stdout] | [INFO] [stdout] 37 | pub const IO_REGISTERS_START: usize = 0xFF00; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IO_REGISTERS_END` is never used [INFO] [stdout] --> src/memory.rs:38:11 [INFO] [stdout] | [INFO] [stdout] 38 | pub const IO_REGISTERS_END: usize = 0xFF7F; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IO_REGISTERS_SIZE` is never used [INFO] [stdout] --> src/memory.rs:39:11 [INFO] [stdout] | [INFO] [stdout] 39 | pub const IO_REGISTERS_SIZE: usize = IO_REGISTERS_END - IO_REGISTERS_START + 1; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HRAM_START` is never used [INFO] [stdout] --> src/memory.rs:41:11 [INFO] [stdout] | [INFO] [stdout] 41 | pub const HRAM_START: usize = 0xFF80; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HRAM_END` is never used [INFO] [stdout] --> src/memory.rs:42:11 [INFO] [stdout] | [INFO] [stdout] 42 | pub const HRAM_END: usize = 0xFFEE; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HRAM_SIZE` is never used [INFO] [stdout] --> src/memory.rs:43:11 [INFO] [stdout] | [INFO] [stdout] 43 | pub const HRAM_SIZE: usize = HRAM_END - HRAM_START + 1; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INTERRUPT_ENABLE` is never used [INFO] [stdout] --> src/memory.rs:45:11 [INFO] [stdout] | [INFO] [stdout] 45 | pub const INTERRUPT_ENABLE: usize = 0xFFFF; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `vblank`, `stat`, `timer`, `serial`, and `joypad` are never read [INFO] [stdout] --> src/memory.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 47 | pub struct InterruptFlags { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 48 | pub vblank: bool, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 49 | pub stat: bool, [INFO] [stdout] | ^^^^ [INFO] [stdout] 50 | pub timer: bool, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 51 | pub serial: bool, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 52 | pub joypad: bool, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `interrupt_flags` is never read [INFO] [stdout] --> src/memory.rs:69:9 [INFO] [stdout] | [INFO] [stdout] 67 | pub struct Memory { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 68 | pub bus: [u8; 0xFFFF], [INFO] [stdout] 69 | pub interrupt_flags: InterruptFlags, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.29s [INFO] running `Command { std: "docker" "inspect" "b4473133f486c0826db4898b52e59afb265406a026383ae2d22736dde62cc71e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b4473133f486c0826db4898b52e59afb265406a026383ae2d22736dde62cc71e", kill_on_drop: false }` [INFO] [stdout] b4473133f486c0826db4898b52e59afb265406a026383ae2d22736dde62cc71e