[INFO] updating cached repository mattbruv/Gameboy-Crust [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/mattbruv/Gameboy-Crust [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/mattbruv/Gameboy-Crust" "work/ex/pr-59199/sources/master#bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7/gh/mattbruv/Gameboy-Crust"` [INFO] [stderr] Cloning into 'work/ex/pr-59199/sources/master#bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7/gh/mattbruv/Gameboy-Crust'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/mattbruv/Gameboy-Crust" "work/ex/pr-59199/sources/try#68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b/gh/mattbruv/Gameboy-Crust"` [INFO] [stderr] Cloning into 'work/ex/pr-59199/sources/try#68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b/gh/mattbruv/Gameboy-Crust'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] d936de9b941c7f0144949df8f3ab0f6f02d58468 [INFO] sha for GitHub repo mattbruv/Gameboy-Crust: d936de9b941c7f0144949df8f3ab0f6f02d58468 [INFO] validating manifest of mattbruv/Gameboy-Crust on toolchain master#bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7 [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of mattbruv/Gameboy-Crust on toolchain try#68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing mattbruv/Gameboy-Crust [INFO] finished frobbing mattbruv/Gameboy-Crust [INFO] frobbed toml for mattbruv/Gameboy-Crust written to work/ex/pr-59199/sources/master#bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7/gh/mattbruv/Gameboy-Crust/Cargo.toml [INFO] started frobbing mattbruv/Gameboy-Crust [INFO] finished frobbing mattbruv/Gameboy-Crust [INFO] frobbed toml for mattbruv/Gameboy-Crust written to work/ex/pr-59199/sources/try#68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b/gh/mattbruv/Gameboy-Crust/Cargo.toml [INFO] crate mattbruv/Gameboy-Crust already has a lockfile, it will not be regenerated [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] checking mattbruv/Gameboy-Crust against try#68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b for pr-59199 [INFO] running `"docker" "create" "-v" "/mnt/crater-raid/crater/work/local/target-dirs/pr-59199/worker-6/try#68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b:/opt/crater/target:rw,Z" "-v" "/mnt/crater-raid/crater/work/ex/pr-59199/sources/try#68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b/gh/mattbruv/Gameboy-Crust:/opt/crater/workdir:ro,Z" "-v" "/mnt/crater-raid/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/crater-raid/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 8b02df8ccfa9ba9656bae77cdc4ff0a03a4036a2b8cb2c246f4f762de681aea8 [INFO] running `"docker" "start" "-a" "8b02df8ccfa9ba9656bae77cdc4ff0a03a4036a2b8cb2c246f4f762de681aea8"` [INFO] [stderr] Compiling minifb v0.10.3 [INFO] [stderr] Checking x11-dl v2.14.0 [INFO] [stderr] Checking gameboy-crust v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused import: `std::io::*` [INFO] [stderr] --> src/core/helper.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::io::*; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused macro definition [INFO] [stderr] --> src/core/helper.rs:100:1 [INFO] [stderr] | [INFO] [stderr] 100 | / macro_rules! hex { [INFO] [stderr] 101 | | ($val:expr) => {{ [INFO] [stderr] 102 | | println!("${:02X}", $val); [INFO] [stderr] 103 | | }} [INFO] [stderr] 104 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_macros)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `core::helper::*` [INFO] [stderr] --> src/core/register.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use core::helper::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/core/helper.rs:88:3 [INFO] [stderr] | [INFO] [stderr] 88 | (($word >> 8) as u8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] ::: src/core/register.rs:63:18 [INFO] [stderr] | [INFO] [stderr] 63 | self.a = high!(value); [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/core/helper.rs:95:3 [INFO] [stderr] | [INFO] [stderr] 95 | (($word & 0xFF) as u8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] ::: src/core/register.rs:64:18 [INFO] [stderr] | [INFO] [stderr] 64 | self.f = low!(value); [INFO] [stderr] | ----------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/core/helper.rs:88:3 [INFO] [stderr] | [INFO] [stderr] 88 | (($word >> 8) as u8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] ::: src/core/register.rs:68:18 [INFO] [stderr] | [INFO] [stderr] 68 | self.b = high!(value); [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/core/helper.rs:95:3 [INFO] [stderr] | [INFO] [stderr] 95 | (($word & 0xFF) as u8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] ::: src/core/register.rs:69:18 [INFO] [stderr] | [INFO] [stderr] 69 | self.c = low!(value); [INFO] [stderr] | ----------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/core/helper.rs:88:3 [INFO] [stderr] | [INFO] [stderr] 88 | (($word >> 8) as u8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] ::: src/core/register.rs:73:18 [INFO] [stderr] | [INFO] [stderr] 73 | self.d = high!(value); [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/core/helper.rs:95:3 [INFO] [stderr] | [INFO] [stderr] 95 | (($word & 0xFF) as u8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] ::: src/core/register.rs:74:18 [INFO] [stderr] | [INFO] [stderr] 74 | self.e = low!(value); [INFO] [stderr] | ----------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/core/helper.rs:88:3 [INFO] [stderr] | [INFO] [stderr] 88 | (($word >> 8) as u8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] ::: src/core/register.rs:78:18 [INFO] [stderr] | [INFO] [stderr] 78 | self.h = high!(value); [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/core/helper.rs:95:3 [INFO] [stderr] | [INFO] [stderr] 95 | (($word & 0xFF) as u8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] ::: src/core/register.rs:79:18 [INFO] [stderr] | [INFO] [stderr] 79 | self.l = low!(value); [INFO] [stderr] | ----------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `match` head expression [INFO] [stderr] --> src/core/register.rs:127:10 [INFO] [stderr] | [INFO] [stderr] 127 | match (self.f & Flag::Zero as u8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `match` head expression [INFO] [stderr] --> src/core/register.rs:132:10 [INFO] [stderr] | [INFO] [stderr] 132 | match (self.f & Flag::Sub as u8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `match` head expression [INFO] [stderr] --> src/core/register.rs:137:10 [INFO] [stderr] | [INFO] [stderr] 137 | match (self.f & Flag::HalfCarry as u8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `match` head expression [INFO] [stderr] --> src/core/register.rs:142:10 [INFO] [stderr] | [INFO] [stderr] 142 | match (self.f & Flag::Carry as u8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused import: `core::disassembler::*` [INFO] [stderr] --> src/core/cpu.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use core::disassembler::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/core/helper.rs:95:3 [INFO] [stderr] | [INFO] [stderr] 95 | (($word & 0xFF) as u8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] ::: src/core/cpu.rs:223:34 [INFO] [stderr] | [INFO] [stderr] 223 | memory.write(nn, low!(self.regs.sp)); [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/core/helper.rs:88:3 [INFO] [stderr] | [INFO] [stderr] 88 | (($word >> 8) as u8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] ::: src/core/cpu.rs:224:38 [INFO] [stderr] | [INFO] [stderr] 224 | memory.write(nn + 1, high!(self.regs.sp)); [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/core/helper.rs:88:3 [INFO] [stderr] | [INFO] [stderr] 88 | (($word >> 8) as u8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] ::: src/core/cpu.rs:745:36 [INFO] [stderr] | [INFO] [stderr] 745 | memory.write(self.regs.sp, high!(data)); [INFO] [stderr] | ----------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/core/helper.rs:95:3 [INFO] [stderr] | [INFO] [stderr] 95 | (($word & 0xFF) as u8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] ::: src/core/cpu.rs:747:36 [INFO] [stderr] | [INFO] [stderr] 747 | memory.write(self.regs.sp, low!(data)); [INFO] [stderr] | ---------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/core/cpu.rs:770:34 [INFO] [stderr] | [INFO] [stderr] 770 | self.regs.set_flag(Flag::Zero, (result == 0)); [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/core/cpu.rs:783:34 [INFO] [stderr] | [INFO] [stderr] 783 | self.regs.set_flag(Flag::Zero, (result == 0)); [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/core/cpu.rs:792:34 [INFO] [stderr] | [INFO] [stderr] 792 | self.regs.set_flag(Flag::Zero, (result == 0)); [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/core/cpu.rs:801:34 [INFO] [stderr] | [INFO] [stderr] 801 | self.regs.set_flag(Flag::Zero, (result == 0)); [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/core/cpu.rs:810:34 [INFO] [stderr] | [INFO] [stderr] 810 | self.regs.set_flag(Flag::Zero, (result == 0)); [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/core/cpu.rs:826:34 [INFO] [stderr] | [INFO] [stderr] 826 | self.regs.set_flag(Flag::Zero, (result == 0)); [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/core/cpu.rs:835:34 [INFO] [stderr] | [INFO] [stderr] 835 | self.regs.set_flag(Flag::Zero, (result == 0)); [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/core/cpu.rs:855:35 [INFO] [stderr] | [INFO] [stderr] 855 | self.regs.set_flag(Flag::Carry, (bit7 == 1)); [INFO] [stderr] | ^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/core/cpu.rs:858:34 [INFO] [stderr] | [INFO] [stderr] 858 | self.regs.set_flag(Flag::Zero, (result == 0 && update_zero)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/core/cpu.rs:870:35 [INFO] [stderr] | [INFO] [stderr] 870 | self.regs.set_flag(Flag::Carry, (bit1 == 1)); [INFO] [stderr] | ^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/core/cpu.rs:873:34 [INFO] [stderr] | [INFO] [stderr] 873 | self.regs.set_flag(Flag::Zero, (result == 0 && update_zero)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/core/gpu.rs:337:13 [INFO] [stderr] | [INFO] [stderr] 337 | let row = (y / 8); [INFO] [stderr] | ^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/core/gpu.rs:342:17 [INFO] [stderr] | [INFO] [stderr] 342 | let column = (x / 8); [INFO] [stderr] | ^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/core/gpu.rs:404:18 [INFO] [stderr] | [INFO] [stderr] 404 | debug_color |= (debug_line_color as u32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/core/gpu.rs:473:9 [INFO] [stderr] | [INFO] [stderr] 473 | if (scanline_y.wrapping_sub(sprite_y) < 8) { // top half [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused import: `interconnect::*` [INFO] [stderr] --> src/core/dma.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use interconnect::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/core/dma.rs:36:12 [INFO] [stderr] | [INFO] [stderr] 36 | if (self.cycles - adjusted_cycles < 0) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/core/timer.rs:55:20 [INFO] [stderr] | [INFO] [stderr] 55 | if (timer_value == 255) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::*` [INFO] [stderr] --> src/core/helper.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::io::*; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused macro definition [INFO] [stderr] --> src/core/helper.rs:100:1 [INFO] [stderr] | [INFO] [stderr] 100 | / macro_rules! hex { [INFO] [stderr] 101 | | ($val:expr) => {{ [INFO] [stderr] 102 | | println!("${:02X}", $val); [INFO] [stderr] 103 | | }} [INFO] [stderr] 104 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_macros)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `core::helper::*` [INFO] [stderr] --> src/core/register.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use core::helper::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/core/helper.rs:88:3 [INFO] [stderr] | [INFO] [stderr] 88 | (($word >> 8) as u8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] ::: src/core/register.rs:63:18 [INFO] [stderr] | [INFO] [stderr] 63 | self.a = high!(value); [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/core/helper.rs:95:3 [INFO] [stderr] | [INFO] [stderr] 95 | (($word & 0xFF) as u8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] ::: src/core/register.rs:64:18 [INFO] [stderr] | [INFO] [stderr] 64 | self.f = low!(value); [INFO] [stderr] | ----------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/core/helper.rs:88:3 [INFO] [stderr] | [INFO] [stderr] 88 | (($word >> 8) as u8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] ::: src/core/register.rs:68:18 [INFO] [stderr] | [INFO] [stderr] 68 | self.b = high!(value); [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/core/helper.rs:95:3 [INFO] [stderr] | [INFO] [stderr] 95 | (($word & 0xFF) as u8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] ::: src/core/register.rs:69:18 [INFO] [stderr] | [INFO] [stderr] 69 | self.c = low!(value); [INFO] [stderr] | ----------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/core/helper.rs:88:3 [INFO] [stderr] | [INFO] [stderr] 88 | (($word >> 8) as u8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] ::: src/core/register.rs:73:18 [INFO] [stderr] | [INFO] [stderr] 73 | self.d = high!(value); [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/core/helper.rs:95:3 [INFO] [stderr] | [INFO] [stderr] 95 | (($word & 0xFF) as u8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] ::: src/core/register.rs:74:18 [INFO] [stderr] | [INFO] [stderr] 74 | self.e = low!(value); [INFO] [stderr] | ----------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/core/helper.rs:88:3 [INFO] [stderr] | [INFO] [stderr] 88 | (($word >> 8) as u8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] ::: src/core/register.rs:78:18 [INFO] [stderr] | [INFO] [stderr] 78 | self.h = high!(value); [INFO] [stderr] | ------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/core/helper.rs:95:3 [INFO] [stderr] | [INFO] [stderr] 95 | (($word & 0xFF) as u8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] ::: src/core/register.rs:79:18 [INFO] [stderr] | [INFO] [stderr] 79 | self.l = low!(value); [INFO] [stderr] | ----------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `match` head expression [INFO] [stderr] --> src/core/register.rs:127:10 [INFO] [stderr] | [INFO] [stderr] 127 | match (self.f & Flag::Zero as u8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `match` head expression [INFO] [stderr] --> src/core/register.rs:132:10 [INFO] [stderr] | [INFO] [stderr] 132 | match (self.f & Flag::Sub as u8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `match` head expression [INFO] [stderr] --> src/core/register.rs:137:10 [INFO] [stderr] | [INFO] [stderr] 137 | match (self.f & Flag::HalfCarry as u8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `match` head expression [INFO] [stderr] --> src/core/register.rs:142:10 [INFO] [stderr] | [INFO] [stderr] 142 | match (self.f & Flag::Carry as u8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused import: `core::disassembler::*` [INFO] [stderr] --> src/core/cpu.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use core::disassembler::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/core/helper.rs:95:3 [INFO] [stderr] | [INFO] [stderr] 95 | (($word & 0xFF) as u8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] ::: src/core/cpu.rs:223:34 [INFO] [stderr] | [INFO] [stderr] 223 | memory.write(nn, low!(self.regs.sp)); [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/core/helper.rs:88:3 [INFO] [stderr] | [INFO] [stderr] 88 | (($word >> 8) as u8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] ::: src/core/cpu.rs:224:38 [INFO] [stderr] | [INFO] [stderr] 224 | memory.write(nn + 1, high!(self.regs.sp)); [INFO] [stderr] | ------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/core/helper.rs:88:3 [INFO] [stderr] | [INFO] [stderr] 88 | (($word >> 8) as u8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] ::: src/core/cpu.rs:745:36 [INFO] [stderr] | [INFO] [stderr] 745 | memory.write(self.regs.sp, high!(data)); [INFO] [stderr] | ----------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/core/helper.rs:95:3 [INFO] [stderr] | [INFO] [stderr] 95 | (($word & 0xFF) as u8) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] ::: src/core/cpu.rs:747:36 [INFO] [stderr] | [INFO] [stderr] 747 | memory.write(self.regs.sp, low!(data)); [INFO] [stderr] | ---------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/core/cpu.rs:770:34 [INFO] [stderr] | [INFO] [stderr] 770 | self.regs.set_flag(Flag::Zero, (result == 0)); [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/core/cpu.rs:783:34 [INFO] [stderr] | [INFO] [stderr] 783 | self.regs.set_flag(Flag::Zero, (result == 0)); [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/core/cpu.rs:792:34 [INFO] [stderr] | [INFO] [stderr] 792 | self.regs.set_flag(Flag::Zero, (result == 0)); [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/core/cpu.rs:801:34 [INFO] [stderr] | [INFO] [stderr] 801 | self.regs.set_flag(Flag::Zero, (result == 0)); [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/core/cpu.rs:810:34 [INFO] [stderr] | [INFO] [stderr] 810 | self.regs.set_flag(Flag::Zero, (result == 0)); [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/core/cpu.rs:826:34 [INFO] [stderr] | [INFO] [stderr] 826 | self.regs.set_flag(Flag::Zero, (result == 0)); [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/core/cpu.rs:835:34 [INFO] [stderr] | [INFO] [stderr] 835 | self.regs.set_flag(Flag::Zero, (result == 0)); [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/core/cpu.rs:855:35 [INFO] [stderr] | [INFO] [stderr] 855 | self.regs.set_flag(Flag::Carry, (bit7 == 1)); [INFO] [stderr] | ^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/core/cpu.rs:858:34 [INFO] [stderr] | [INFO] [stderr] 858 | self.regs.set_flag(Flag::Zero, (result == 0 && update_zero)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/core/cpu.rs:870:35 [INFO] [stderr] | [INFO] [stderr] 870 | self.regs.set_flag(Flag::Carry, (bit1 == 1)); [INFO] [stderr] | ^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around method argument [INFO] [stderr] --> src/core/cpu.rs:873:34 [INFO] [stderr] | [INFO] [stderr] 873 | self.regs.set_flag(Flag::Zero, (result == 0 && update_zero)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/core/gpu.rs:337:13 [INFO] [stderr] | [INFO] [stderr] 337 | let row = (y / 8); [INFO] [stderr] | ^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/core/gpu.rs:342:17 [INFO] [stderr] | [INFO] [stderr] 342 | let column = (x / 8); [INFO] [stderr] | ^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/core/gpu.rs:404:18 [INFO] [stderr] | [INFO] [stderr] 404 | debug_color |= (debug_line_color as u32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/core/gpu.rs:473:9 [INFO] [stderr] | [INFO] [stderr] 473 | if (scanline_y.wrapping_sub(sprite_y) < 8) { // top half [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused import: `interconnect::*` [INFO] [stderr] --> src/core/dma.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use interconnect::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/core/dma.rs:36:12 [INFO] [stderr] | [INFO] [stderr] 36 | if (self.cycles - adjusted_cycles < 0) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/core/timer.rs:55:20 [INFO] [stderr] | [INFO] [stderr] 55 | if (timer_value == 255) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/core/interconnect.rs:53:4 [INFO] [stderr] | [INFO] [stderr] 53 | _ => panic!("Invalid Read") [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unreachable_patterns)] on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/core/interconnect.rs:74:4 [INFO] [stderr] | [INFO] [stderr] 74 | _ => panic!("Invalid Write") [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/core/cpu.rs:430:4 [INFO] [stderr] | [INFO] [stderr] 430 | 0xC3 => { self.regs.pc = self.next_pointer(memory); 4 }, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/core/interconnect.rs:53:4 [INFO] [stderr] | [INFO] [stderr] 53 | _ => panic!("Invalid Read") [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unreachable_patterns)] on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/core/interconnect.rs:74:4 [INFO] [stderr] | [INFO] [stderr] 74 | _ => panic!("Invalid Write") [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/core/cpu.rs:430:4 [INFO] [stderr] | [INFO] [stderr] 430 | 0xC3 => { self.regs.pc = self.next_pointer(memory); 4 }, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/core/cpu.rs:738:4 [INFO] [stderr] | [INFO] [stderr] 738 | _ => panic!("Unknown Sub-Op: ${:02X} @ ${:04X} dec: {}", opcode, pc, opcode) [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/core/cpu.rs:1007:7 [INFO] [stderr] | [INFO] [stderr] 1007 | }, _ => unreachable!() [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/core/cpu.rs:1037:7 [INFO] [stderr] | [INFO] [stderr] 1037 | }, _ => unreachable!() [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/core/cpu.rs:1060:7 [INFO] [stderr] | [INFO] [stderr] 1060 | }, _ => unreachable!() [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/core/cpu.rs:738:4 [INFO] [stderr] | [INFO] [stderr] 738 | _ => panic!("Unknown Sub-Op: ${:02X} @ ${:04X} dec: {}", opcode, pc, opcode) [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n2` [INFO] [stderr] --> src/core/disassembler.rs:7:6 [INFO] [stderr] | [INFO] [stderr] 7 | let n2 = mem.read(reg.pc + 1); // opcode + 2 [INFO] [stderr] | ^^ help: consider prefixing with an underscore: `_n2` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n3` [INFO] [stderr] --> src/core/disassembler.rs:8:6 [INFO] [stderr] | [INFO] [stderr] 8 | let n3 = mem.read(reg.pc + 2); // opcode + 3 [INFO] [stderr] | ^^ help: consider prefixing with an underscore: `_n3` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `new_mode` [INFO] [stderr] --> src/core/gpu.rs:221:11 [INFO] [stderr] | [INFO] [stderr] 221 | let mut new_mode: StatusMode; [INFO] [stderr] | ^^^^^^^^ help: consider prefixing with an underscore: `_new_mode` [INFO] [stderr] [INFO] [stderr] warning: variable `debug_color` is assigned to, but never used [INFO] [stderr] --> src/core/gpu.rs:402:11 [INFO] [stderr] | [INFO] [stderr] 402 | let mut debug_color: u32 = (debug_line_color as u32) << 16; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_debug_color` instead [INFO] [stderr] [INFO] [stderr] warning: value assigned to `debug_color` is never read [INFO] [stderr] --> src/core/gpu.rs:404:3 [INFO] [stderr] | [INFO] [stderr] 404 | debug_color |= (debug_line_color as u32); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_assignments)] on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `display_x` [INFO] [stderr] --> src/core/gpu.rs:407:8 [INFO] [stderr] | [INFO] [stderr] 407 | let display_x = (i as u8).wrapping_add(window_x); [INFO] [stderr] | ^^^^^^^^^ help: consider prefixing with an underscore: `_display_x` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `stat` [INFO] [stderr] --> src/core/gpu.rs:589:7 [INFO] [stderr] | [INFO] [stderr] 589 | let stat = self.LCDC.get(); [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_stat` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `address` [INFO] [stderr] --> src/core/mbc/mbc0.rs:9:22 [INFO] [stderr] | [INFO] [stderr] 9 | fn write(&mut self, address: u16, data: u8) {} [INFO] [stderr] | ^^^^^^^ help: consider prefixing with an underscore: `_address` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `data` [INFO] [stderr] --> src/core/mbc/mbc0.rs:9:36 [INFO] [stderr] | [INFO] [stderr] 9 | fn write(&mut self, address: u16, data: u8) {} [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_data` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `name` [INFO] [stderr] --> src/core/mbc/mbc0.rs:10:29 [INFO] [stderr] | [INFO] [stderr] 10 | fn set_title(&mut self, name: String) {} [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `address` [INFO] [stderr] --> src/core/mbc/mbc2.rs:19:22 [INFO] [stderr] | [INFO] [stderr] 19 | fn write(&mut self, address: u16, data: u8) { [INFO] [stderr] | ^^^^^^^ help: consider prefixing with an underscore: `_address` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `data` [INFO] [stderr] --> src/core/mbc/mbc2.rs:19:36 [INFO] [stderr] | [INFO] [stderr] 19 | fn write(&mut self, address: u16, data: u8) { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_data` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `name` [INFO] [stderr] --> src/core/mbc/mbc2.rs:22:29 [INFO] [stderr] | [INFO] [stderr] 22 | fn set_title(&mut self, name: String) { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `data` [INFO] [stderr] --> src/core/timer.rs:101:33 [INFO] [stderr] | [INFO] [stderr] 101 | pub fn write_div(&mut self, data: u8) { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_data` [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/core/cpu.rs:1007:7 [INFO] [stderr] | [INFO] [stderr] 1007 | }, _ => unreachable!() [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/core/cpu.rs:1037:7 [INFO] [stderr] | [INFO] [stderr] 1037 | }, _ => unreachable!() [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/core/cpu.rs:1060:7 [INFO] [stderr] | [INFO] [stderr] 1060 | }, _ => unreachable!() [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n2` [INFO] [stderr] --> src/core/disassembler.rs:7:6 [INFO] [stderr] | [INFO] [stderr] 7 | let n2 = mem.read(reg.pc + 1); // opcode + 2 [INFO] [stderr] | ^^ help: consider prefixing with an underscore: `_n2` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n3` [INFO] [stderr] --> src/core/disassembler.rs:8:6 [INFO] [stderr] | [INFO] [stderr] 8 | let n3 = mem.read(reg.pc + 2); // opcode + 3 [INFO] [stderr] | ^^ help: consider prefixing with an underscore: `_n3` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `new_mode` [INFO] [stderr] --> src/core/gpu.rs:221:11 [INFO] [stderr] | [INFO] [stderr] 221 | let mut new_mode: StatusMode; [INFO] [stderr] | ^^^^^^^^ help: consider prefixing with an underscore: `_new_mode` [INFO] [stderr] [INFO] [stderr] warning: variable `debug_color` is assigned to, but never used [INFO] [stderr] --> src/core/gpu.rs:402:11 [INFO] [stderr] | [INFO] [stderr] 402 | let mut debug_color: u32 = (debug_line_color as u32) << 16; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_debug_color` instead [INFO] [stderr] [INFO] [stderr] warning: value assigned to `debug_color` is never read [INFO] [stderr] --> src/core/gpu.rs:404:3 [INFO] [stderr] | [INFO] [stderr] 404 | debug_color |= (debug_line_color as u32); [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_assignments)] on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `display_x` [INFO] [stderr] --> src/core/gpu.rs:407:8 [INFO] [stderr] | [INFO] [stderr] 407 | let display_x = (i as u8).wrapping_add(window_x); [INFO] [stderr] | ^^^^^^^^^ help: consider prefixing with an underscore: `_display_x` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `stat` [INFO] [stderr] --> src/core/gpu.rs:589:7 [INFO] [stderr] | [INFO] [stderr] 589 | let stat = self.LCDC.get(); [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_stat` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `address` [INFO] [stderr] --> src/core/mbc/mbc0.rs:9:22 [INFO] [stderr] | [INFO] [stderr] 9 | fn write(&mut self, address: u16, data: u8) {} [INFO] [stderr] | ^^^^^^^ help: consider prefixing with an underscore: `_address` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `data` [INFO] [stderr] --> src/core/mbc/mbc0.rs:9:36 [INFO] [stderr] | [INFO] [stderr] 9 | fn write(&mut self, address: u16, data: u8) {} [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_data` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `name` [INFO] [stderr] --> src/core/mbc/mbc0.rs:10:29 [INFO] [stderr] | [INFO] [stderr] 10 | fn set_title(&mut self, name: String) {} [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `address` [INFO] [stderr] --> src/core/mbc/mbc2.rs:19:22 [INFO] [stderr] | [INFO] [stderr] 19 | fn write(&mut self, address: u16, data: u8) { [INFO] [stderr] | ^^^^^^^ help: consider prefixing with an underscore: `_address` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `data` [INFO] [stderr] --> src/core/mbc/mbc2.rs:19:36 [INFO] [stderr] | [INFO] [stderr] 19 | fn write(&mut self, address: u16, data: u8) { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_data` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `name` [INFO] [stderr] --> src/core/mbc/mbc2.rs:22:29 [INFO] [stderr] | [INFO] [stderr] 22 | fn set_title(&mut self, name: String) { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `data` [INFO] [stderr] --> src/core/timer.rs:101:33 [INFO] [stderr] | [INFO] [stderr] 101 | pub fn write_div(&mut self, data: u8) { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_data` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/core/gpu.rs:221:7 [INFO] [stderr] | [INFO] [stderr] 221 | let mut new_mode: StatusMode; [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/core/gpu.rs:454:7 [INFO] [stderr] | [INFO] [stderr] 454 | let mut iter = self.sprite_table.clone().into_iter().filter(|sprite| { [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/core/joypad.rs:57:13 [INFO] [stderr] | [INFO] [stderr] 57 | let mut result = self.register.get() & 0x30; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/core/gpu.rs:221:7 [INFO] [stderr] | [INFO] [stderr] 221 | let mut new_mode: StatusMode; [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/emu/emulator.rs:36:7 [INFO] [stderr] | [INFO] [stderr] 36 | let mut multiplier = 100; [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/core/gpu.rs:454:7 [INFO] [stderr] | [INFO] [stderr] 454 | let mut iter = self.sprite_table.clone().into_iter().filter(|sprite| { [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: method is never used: `sub` [INFO] [stderr] --> src/core/helper.rs:73:2 [INFO] [stderr] | [INFO] [stderr] 73 | pub fn sub(&mut self, data: u8) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Serial` [INFO] [stderr] --> src/core/interrupt.rs:8:2 [INFO] [stderr] | [INFO] [stderr] 8 | Serial = 0b00001000, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `counter` [INFO] [stderr] --> src/core/interrupt.rs:23:2 [INFO] [stderr] | [INFO] [stderr] 23 | counter: u32, // counts the number of opcodes since interrupt status changed [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `read` [INFO] [stderr] --> src/core/interrupt.rs:48:2 [INFO] [stderr] | [INFO] [stderr] 48 | pub fn read(&mut self, address: u16) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `disassemble` [INFO] [stderr] --> src/core/disassembler.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | pub fn disassemble(reg: &Registers, mem: &Interconnect, opcode: u8) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `SB` [INFO] [stderr] --> src/core/memory_map.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | pub const SB: u16 = 0xFF01; // Serial transfer data [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `SC` [INFO] [stderr] --> src/core/memory_map.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | pub const SC: u16 = 0xFF02; // SIO Control [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NR10` [INFO] [stderr] --> src/core/memory_map.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | pub const NR10: u16 = 0xFF10; // Sound Mode 1 sweep [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NR11` [INFO] [stderr] --> src/core/memory_map.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | pub const NR11: u16 = 0xFF11; // Sound Mode 1 wave pattern [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NR12` [INFO] [stderr] --> src/core/memory_map.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | pub const NR12: u16 = 0xFF12; // Sound Mode 1 envelope [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NR13` [INFO] [stderr] --> src/core/memory_map.rs:13:1 [INFO] [stderr] | [INFO] [stderr] 13 | pub const NR13: u16 = 0xFF13; // Sound Mode 1 frequency low [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NR14` [INFO] [stderr] --> src/core/memory_map.rs:14:1 [INFO] [stderr] | [INFO] [stderr] 14 | pub const NR14: u16 = 0xFF14; // Sound Mode 1 frequency high [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NR21` [INFO] [stderr] --> src/core/memory_map.rs:15:1 [INFO] [stderr] | [INFO] [stderr] 15 | pub const NR21: u16 = 0xFF16; // Sound Mode 2 wave pattern [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NR22` [INFO] [stderr] --> src/core/memory_map.rs:16:1 [INFO] [stderr] | [INFO] [stderr] 16 | pub const NR22: u16 = 0xFF17; // Sound Mode 2 envelope [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NR23` [INFO] [stderr] --> src/core/memory_map.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | pub const NR23: u16 = 0xFF18; // Sound Mode 2 frequency low [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NR24` [INFO] [stderr] --> src/core/memory_map.rs:18:1 [INFO] [stderr] | [INFO] [stderr] 18 | pub const NR24: u16 = 0xFF19; // Sound Mode 2 frequency high [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NR30` [INFO] [stderr] --> src/core/memory_map.rs:19:1 [INFO] [stderr] | [INFO] [stderr] 19 | pub const NR30: u16 = 0xFF1A; // Sound Mode 3 sound on/off [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NR31` [INFO] [stderr] --> src/core/memory_map.rs:20:1 [INFO] [stderr] | [INFO] [stderr] 20 | pub const NR31: u16 = 0xFF1B; // Sound Mode 3 sound length [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NR32` [INFO] [stderr] --> src/core/memory_map.rs:21:1 [INFO] [stderr] | [INFO] [stderr] 21 | pub const NR32: u16 = 0xFF1C; // Sound Mode 3 output level [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NR33` [INFO] [stderr] --> src/core/memory_map.rs:22:1 [INFO] [stderr] | [INFO] [stderr] 22 | pub const NR33: u16 = 0xFF1D; // Sound Mode 3 frequency low [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NR34` [INFO] [stderr] --> src/core/memory_map.rs:23:1 [INFO] [stderr] | [INFO] [stderr] 23 | pub const NR34: u16 = 0xFF1E; // Sound Mode 3 frequency high [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NR41` [INFO] [stderr] --> src/core/memory_map.rs:24:1 [INFO] [stderr] | [INFO] [stderr] 24 | pub const NR41: u16 = 0xFF20; // Sound Mode 4 sound length [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NR42` [INFO] [stderr] --> src/core/memory_map.rs:25:1 [INFO] [stderr] | [INFO] [stderr] 25 | pub const NR42: u16 = 0xFF21; // Sound Mode 4 envelope [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NR43` [INFO] [stderr] --> src/core/memory_map.rs:26:1 [INFO] [stderr] | [INFO] [stderr] 26 | pub const NR43: u16 = 0xFF22; // Sound Mode 4 polynomial counter [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NR44` [INFO] [stderr] --> src/core/memory_map.rs:27:1 [INFO] [stderr] | [INFO] [stderr] 27 | pub const NR44: u16 = 0xFF23; // Sound Mode 4 counter/consecutive [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NR50` [INFO] [stderr] --> src/core/memory_map.rs:28:1 [INFO] [stderr] | [INFO] [stderr] 28 | pub const NR50: u16 = 0xFF24; // Channel Control/Volume [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NR51` [INFO] [stderr] --> src/core/memory_map.rs:29:1 [INFO] [stderr] | [INFO] [stderr] 29 | pub const NR51: u16 = 0xFF25; // Sound output terminal [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NR52` [INFO] [stderr] --> src/core/memory_map.rs:30:1 [INFO] [stderr] | [INFO] [stderr] 30 | pub const NR52: u16 = 0xFF26; // Sound on/off [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `size` [INFO] [stderr] --> src/core/rom.rs:46:2 [INFO] [stderr] | [INFO] [stderr] 46 | pub fn size(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum is never used: `StatusInterrupt` [INFO] [stderr] --> src/core/gpu.rs:33:1 [INFO] [stderr] | [INFO] [stderr] 33 | enum StatusInterrupt { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_stat` [INFO] [stderr] --> src/core/gpu.rs:550:2 [INFO] [stderr] | [INFO] [stderr] 550 | fn set_stat(&mut self, mode: StatusInterrupt) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `size` [INFO] [stderr] --> src/core/wram.rs:15:2 [INFO] [stderr] | [INFO] [stderr] 15 | pub fn size(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `size` [INFO] [stderr] --> src/core/hram.rs:15:2 [INFO] [stderr] | [INFO] [stderr] 15 | pub fn size(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `rom_bank` [INFO] [stderr] --> src/core/mbc/mbc2.rs:4:2 [INFO] [stderr] | [INFO] [stderr] 4 | rom_bank: u8 [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `rtc_register` [INFO] [stderr] --> src/core/mbc/mbc3.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | rtc_register: u8, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `select_ram_bank` [INFO] [stderr] --> src/core/mbc/mbc3.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | select_ram_bank: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/core/helper.rs:18:2 [INFO] [stderr] | [INFO] [stderr] 18 | file.write_all(bytes); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/core/helper.rs:28:13 [INFO] [stderr] | [INFO] [stderr] 28 | f.read_to_end(&mut temp_vec); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: structure field `IE` should have a snake case name [INFO] [stderr] --> src/core/interrupt.rs:26:6 [INFO] [stderr] | [INFO] [stderr] 26 | pub IE: MemoryRegister, // used to control intterupts [INFO] [stderr] | ^^ help: convert the identifier to snake case: `ie` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: structure field `IF` should have a snake case name [INFO] [stderr] --> src/core/interrupt.rs:27:6 [INFO] [stderr] | [INFO] [stderr] 27 | pub IF: MemoryRegister, // indicates which type of interrupt is set [INFO] [stderr] | ^^ help: convert the identifier to snake case: `if` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/core/joypad.rs:57:13 [INFO] [stderr] | [INFO] [stderr] 57 | let mut result = self.register.get() & 0x30; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: structure field `Vram` should have a snake case name [INFO] [stderr] --> src/core/gpu.rs:84:2 [INFO] [stderr] | [INFO] [stderr] 84 | Vram: Vec, [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `vram` [INFO] [stderr] [INFO] [stderr] warning: structure field `Oam` should have a snake case name [INFO] [stderr] --> src/core/gpu.rs:85:2 [INFO] [stderr] | [INFO] [stderr] 85 | Oam: Vec, [INFO] [stderr] | ^^^ help: convert the identifier to snake case: `oam` [INFO] [stderr] [INFO] [stderr] warning: structure field `LCDC` should have a snake case name [INFO] [stderr] --> src/core/gpu.rs:93:6 [INFO] [stderr] | [INFO] [stderr] 93 | pub LCDC: MemoryRegister, [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `lcdc` [INFO] [stderr] [INFO] [stderr] warning: structure field `STAT` should have a snake case name [INFO] [stderr] --> src/core/gpu.rs:94:6 [INFO] [stderr] | [INFO] [stderr] 94 | pub STAT: MemoryRegister, [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `stat` [INFO] [stderr] [INFO] [stderr] warning: structure field `LYC` should have a snake case name [INFO] [stderr] --> src/core/gpu.rs:95:6 [INFO] [stderr] | [INFO] [stderr] 95 | pub LYC: MemoryRegister, [INFO] [stderr] | ^^^ help: convert the identifier to snake case: `lyc` [INFO] [stderr] [INFO] [stderr] warning: structure field `LY` should have a snake case name [INFO] [stderr] --> src/core/gpu.rs:96:6 [INFO] [stderr] | [INFO] [stderr] 96 | pub LY: MemoryRegister, [INFO] [stderr] | ^^ help: convert the identifier to snake case: `ly` [INFO] [stderr] [INFO] [stderr] warning: structure field `BGP` should have a snake case name [INFO] [stderr] --> src/core/gpu.rs:97:6 [INFO] [stderr] | [INFO] [stderr] 97 | pub BGP: MemoryRegister, [INFO] [stderr] | ^^^ help: convert the identifier to snake case: `bgp` [INFO] [stderr] [INFO] [stderr] warning: structure field `OBP0` should have a snake case name [INFO] [stderr] --> src/core/gpu.rs:98:6 [INFO] [stderr] | [INFO] [stderr] 98 | pub OBP0: MemoryRegister, [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `obp0` [INFO] [stderr] [INFO] [stderr] warning: structure field `OBP1` should have a snake case name [INFO] [stderr] --> src/core/gpu.rs:99:6 [INFO] [stderr] | [INFO] [stderr] 99 | pub OBP1: MemoryRegister, [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `obp1` [INFO] [stderr] [INFO] [stderr] warning: structure field `SCY` should have a snake case name [INFO] [stderr] --> src/core/gpu.rs:100:6 [INFO] [stderr] | [INFO] [stderr] 100 | pub SCY: MemoryRegister, [INFO] [stderr] | ^^^ help: convert the identifier to snake case: `scy` [INFO] [stderr] [INFO] [stderr] warning: structure field `SCX` should have a snake case name [INFO] [stderr] --> src/core/gpu.rs:101:6 [INFO] [stderr] | [INFO] [stderr] 101 | pub SCX: MemoryRegister, [INFO] [stderr] | ^^^ help: convert the identifier to snake case: `scx` [INFO] [stderr] [INFO] [stderr] warning: structure field `WY` should have a snake case name [INFO] [stderr] --> src/core/gpu.rs:102:6 [INFO] [stderr] | [INFO] [stderr] 102 | pub WY: MemoryRegister, [INFO] [stderr] | ^^ help: convert the identifier to snake case: `wy` [INFO] [stderr] [INFO] [stderr] warning: structure field `WX` should have a snake case name [INFO] [stderr] --> src/core/gpu.rs:103:6 [INFO] [stderr] | [INFO] [stderr] 103 | pub WX: MemoryRegister, [INFO] [stderr] | ^^ help: convert the identifier to snake case: `wx` [INFO] [stderr] [INFO] [stderr] warning: structure field `DIV` should have a snake case name [INFO] [stderr] --> src/core/timer.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | DIV: MemoryRegister, [INFO] [stderr] | ^^^ help: convert the identifier to snake case: `div` [INFO] [stderr] [INFO] [stderr] warning: structure field `TIMA` should have a snake case name [INFO] [stderr] --> src/core/timer.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | TIMA: MemoryRegister, [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `tima` [INFO] [stderr] [INFO] [stderr] warning: structure field `TMA` should have a snake case name [INFO] [stderr] --> src/core/timer.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | TMA: MemoryRegister, [INFO] [stderr] | ^^^ help: convert the identifier to snake case: `tma` [INFO] [stderr] [INFO] [stderr] warning: structure field `TAC` should have a snake case name [INFO] [stderr] --> src/core/timer.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | TAC: MemoryRegister, [INFO] [stderr] | ^^^ help: convert the identifier to snake case: `tac` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/emu/emulator.rs:36:7 [INFO] [stderr] | [INFO] [stderr] 36 | let mut multiplier = 100; [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: method is never used: `sub` [INFO] [stderr] --> src/core/helper.rs:73:2 [INFO] [stderr] | [INFO] [stderr] 73 | pub fn sub(&mut self, data: u8) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Serial` [INFO] [stderr] --> src/core/interrupt.rs:8:2 [INFO] [stderr] | [INFO] [stderr] 8 | Serial = 0b00001000, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `counter` [INFO] [stderr] --> src/core/interrupt.rs:23:2 [INFO] [stderr] | [INFO] [stderr] 23 | counter: u32, // counts the number of opcodes since interrupt status changed [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `read` [INFO] [stderr] --> src/core/interrupt.rs:48:2 [INFO] [stderr] | [INFO] [stderr] 48 | pub fn read(&mut self, address: u16) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `disassemble` [INFO] [stderr] --> src/core/disassembler.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | pub fn disassemble(reg: &Registers, mem: &Interconnect, opcode: u8) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `SB` [INFO] [stderr] --> src/core/memory_map.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | pub const SB: u16 = 0xFF01; // Serial transfer data [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `SC` [INFO] [stderr] --> src/core/memory_map.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | pub const SC: u16 = 0xFF02; // SIO Control [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NR10` [INFO] [stderr] --> src/core/memory_map.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | pub const NR10: u16 = 0xFF10; // Sound Mode 1 sweep [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NR11` [INFO] [stderr] --> src/core/memory_map.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | pub const NR11: u16 = 0xFF11; // Sound Mode 1 wave pattern [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NR12` [INFO] [stderr] --> src/core/memory_map.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | pub const NR12: u16 = 0xFF12; // Sound Mode 1 envelope [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NR13` [INFO] [stderr] --> src/core/memory_map.rs:13:1 [INFO] [stderr] | [INFO] [stderr] 13 | pub const NR13: u16 = 0xFF13; // Sound Mode 1 frequency low [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NR14` [INFO] [stderr] --> src/core/memory_map.rs:14:1 [INFO] [stderr] | [INFO] [stderr] 14 | pub const NR14: u16 = 0xFF14; // Sound Mode 1 frequency high [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NR21` [INFO] [stderr] --> src/core/memory_map.rs:15:1 [INFO] [stderr] | [INFO] [stderr] 15 | pub const NR21: u16 = 0xFF16; // Sound Mode 2 wave pattern [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NR22` [INFO] [stderr] --> src/core/memory_map.rs:16:1 [INFO] [stderr] | [INFO] [stderr] 16 | pub const NR22: u16 = 0xFF17; // Sound Mode 2 envelope [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NR23` [INFO] [stderr] --> src/core/memory_map.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | pub const NR23: u16 = 0xFF18; // Sound Mode 2 frequency low [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NR24` [INFO] [stderr] --> src/core/memory_map.rs:18:1 [INFO] [stderr] | [INFO] [stderr] 18 | pub const NR24: u16 = 0xFF19; // Sound Mode 2 frequency high [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NR30` [INFO] [stderr] --> src/core/memory_map.rs:19:1 [INFO] [stderr] | [INFO] [stderr] 19 | pub const NR30: u16 = 0xFF1A; // Sound Mode 3 sound on/off [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NR31` [INFO] [stderr] --> src/core/memory_map.rs:20:1 [INFO] [stderr] | [INFO] [stderr] 20 | pub const NR31: u16 = 0xFF1B; // Sound Mode 3 sound length [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NR32` [INFO] [stderr] --> src/core/memory_map.rs:21:1 [INFO] [stderr] | [INFO] [stderr] 21 | pub const NR32: u16 = 0xFF1C; // Sound Mode 3 output level [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NR33` [INFO] [stderr] --> src/core/memory_map.rs:22:1 [INFO] [stderr] | [INFO] [stderr] 22 | pub const NR33: u16 = 0xFF1D; // Sound Mode 3 frequency low [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NR34` [INFO] [stderr] --> src/core/memory_map.rs:23:1 [INFO] [stderr] | [INFO] [stderr] 23 | pub const NR34: u16 = 0xFF1E; // Sound Mode 3 frequency high [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NR41` [INFO] [stderr] --> src/core/memory_map.rs:24:1 [INFO] [stderr] | [INFO] [stderr] 24 | pub const NR41: u16 = 0xFF20; // Sound Mode 4 sound length [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NR42` [INFO] [stderr] --> src/core/memory_map.rs:25:1 [INFO] [stderr] | [INFO] [stderr] 25 | pub const NR42: u16 = 0xFF21; // Sound Mode 4 envelope [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NR43` [INFO] [stderr] --> src/core/memory_map.rs:26:1 [INFO] [stderr] | [INFO] [stderr] 26 | pub const NR43: u16 = 0xFF22; // Sound Mode 4 polynomial counter [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NR44` [INFO] [stderr] --> src/core/memory_map.rs:27:1 [INFO] [stderr] | [INFO] [stderr] 27 | pub const NR44: u16 = 0xFF23; // Sound Mode 4 counter/consecutive [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NR50` [INFO] [stderr] --> src/core/memory_map.rs:28:1 [INFO] [stderr] | [INFO] [stderr] 28 | pub const NR50: u16 = 0xFF24; // Channel Control/Volume [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NR51` [INFO] [stderr] --> src/core/memory_map.rs:29:1 [INFO] [stderr] | [INFO] [stderr] 29 | pub const NR51: u16 = 0xFF25; // Sound output terminal [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `NR52` [INFO] [stderr] --> src/core/memory_map.rs:30:1 [INFO] [stderr] | [INFO] [stderr] 30 | pub const NR52: u16 = 0xFF26; // Sound on/off [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `size` [INFO] [stderr] --> src/core/rom.rs:46:2 [INFO] [stderr] | [INFO] [stderr] 46 | pub fn size(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum is never used: `StatusInterrupt` [INFO] [stderr] --> src/core/gpu.rs:33:1 [INFO] [stderr] | [INFO] [stderr] 33 | enum StatusInterrupt { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `set_stat` [INFO] [stderr] --> src/core/gpu.rs:550:2 [INFO] [stderr] | [INFO] [stderr] 550 | fn set_stat(&mut self, mode: StatusInterrupt) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `size` [INFO] [stderr] --> src/core/wram.rs:15:2 [INFO] [stderr] | [INFO] [stderr] 15 | pub fn size(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `size` [INFO] [stderr] --> src/core/hram.rs:15:2 [INFO] [stderr] | [INFO] [stderr] 15 | pub fn size(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `rom_bank` [INFO] [stderr] --> src/core/mbc/mbc2.rs:4:2 [INFO] [stderr] | [INFO] [stderr] 4 | rom_bank: u8 [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `rtc_register` [INFO] [stderr] --> src/core/mbc/mbc3.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | rtc_register: u8, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `select_ram_bank` [INFO] [stderr] --> src/core/mbc/mbc3.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | select_ram_bank: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/core/helper.rs:18:2 [INFO] [stderr] | [INFO] [stderr] 18 | file.write_all(bytes); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/core/helper.rs:28:13 [INFO] [stderr] | [INFO] [stderr] 28 | f.read_to_end(&mut temp_vec); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: structure field `IE` should have a snake case name [INFO] [stderr] --> src/core/interrupt.rs:26:6 [INFO] [stderr] | [INFO] [stderr] 26 | pub IE: MemoryRegister, // used to control intterupts [INFO] [stderr] | ^^ help: convert the identifier to snake case: `ie` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: structure field `IF` should have a snake case name [INFO] [stderr] --> src/core/interrupt.rs:27:6 [INFO] [stderr] | [INFO] [stderr] 27 | pub IF: MemoryRegister, // indicates which type of interrupt is set [INFO] [stderr] | ^^ help: convert the identifier to snake case: `if` [INFO] [stderr] [INFO] [stderr] warning: structure field `Vram` should have a snake case name [INFO] [stderr] --> src/core/gpu.rs:84:2 [INFO] [stderr] | [INFO] [stderr] 84 | Vram: Vec, [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `vram` [INFO] [stderr] [INFO] [stderr] warning: structure field `Oam` should have a snake case name [INFO] [stderr] --> src/core/gpu.rs:85:2 [INFO] [stderr] | [INFO] [stderr] 85 | Oam: Vec, [INFO] [stderr] | ^^^ help: convert the identifier to snake case: `oam` [INFO] [stderr] [INFO] [stderr] warning: structure field `LCDC` should have a snake case name [INFO] [stderr] --> src/core/gpu.rs:93:6 [INFO] [stderr] | [INFO] [stderr] 93 | pub LCDC: MemoryRegister, [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `lcdc` [INFO] [stderr] [INFO] [stderr] warning: structure field `STAT` should have a snake case name [INFO] [stderr] --> src/core/gpu.rs:94:6 [INFO] [stderr] | [INFO] [stderr] 94 | pub STAT: MemoryRegister, [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `stat` [INFO] [stderr] [INFO] [stderr] warning: structure field `LYC` should have a snake case name [INFO] [stderr] --> src/core/gpu.rs:95:6 [INFO] [stderr] | [INFO] [stderr] 95 | pub LYC: MemoryRegister, [INFO] [stderr] | ^^^ help: convert the identifier to snake case: `lyc` [INFO] [stderr] [INFO] [stderr] warning: structure field `LY` should have a snake case name [INFO] [stderr] --> src/core/gpu.rs:96:6 [INFO] [stderr] | [INFO] [stderr] 96 | pub LY: MemoryRegister, [INFO] [stderr] | ^^ help: convert the identifier to snake case: `ly` [INFO] [stderr] [INFO] [stderr] warning: structure field `BGP` should have a snake case name [INFO] [stderr] --> src/core/gpu.rs:97:6 [INFO] [stderr] | [INFO] [stderr] 97 | pub BGP: MemoryRegister, [INFO] [stderr] | ^^^ help: convert the identifier to snake case: `bgp` [INFO] [stderr] [INFO] [stderr] warning: structure field `OBP0` should have a snake case name [INFO] [stderr] --> src/core/gpu.rs:98:6 [INFO] [stderr] | [INFO] [stderr] 98 | pub OBP0: MemoryRegister, [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `obp0` [INFO] [stderr] [INFO] [stderr] warning: structure field `OBP1` should have a snake case name [INFO] [stderr] --> src/core/gpu.rs:99:6 [INFO] [stderr] | [INFO] [stderr] 99 | pub OBP1: MemoryRegister, [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `obp1` [INFO] [stderr] [INFO] [stderr] warning: structure field `SCY` should have a snake case name [INFO] [stderr] --> src/core/gpu.rs:100:6 [INFO] [stderr] | [INFO] [stderr] 100 | pub SCY: MemoryRegister, [INFO] [stderr] | ^^^ help: convert the identifier to snake case: `scy` [INFO] [stderr] [INFO] [stderr] warning: structure field `SCX` should have a snake case name [INFO] [stderr] --> src/core/gpu.rs:101:6 [INFO] [stderr] | [INFO] [stderr] 101 | pub SCX: MemoryRegister, [INFO] [stderr] | ^^^ help: convert the identifier to snake case: `scx` [INFO] [stderr] [INFO] [stderr] warning: structure field `WY` should have a snake case name [INFO] [stderr] --> src/core/gpu.rs:102:6 [INFO] [stderr] | [INFO] [stderr] 102 | pub WY: MemoryRegister, [INFO] [stderr] | ^^ help: convert the identifier to snake case: `wy` [INFO] [stderr] [INFO] [stderr] warning: structure field `WX` should have a snake case name [INFO] [stderr] --> src/core/gpu.rs:103:6 [INFO] [stderr] | [INFO] [stderr] 103 | pub WX: MemoryRegister, [INFO] [stderr] | ^^ help: convert the identifier to snake case: `wx` [INFO] [stderr] [INFO] [stderr] warning: structure field `DIV` should have a snake case name [INFO] [stderr] --> src/core/timer.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | DIV: MemoryRegister, [INFO] [stderr] | ^^^ help: convert the identifier to snake case: `div` [INFO] [stderr] [INFO] [stderr] warning: structure field `TIMA` should have a snake case name [INFO] [stderr] --> src/core/timer.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | TIMA: MemoryRegister, [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `tima` [INFO] [stderr] [INFO] [stderr] warning: structure field `TMA` should have a snake case name [INFO] [stderr] --> src/core/timer.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | TMA: MemoryRegister, [INFO] [stderr] | ^^^ help: convert the identifier to snake case: `tma` [INFO] [stderr] [INFO] [stderr] warning: structure field `TAC` should have a snake case name [INFO] [stderr] --> src/core/timer.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | TAC: MemoryRegister, [INFO] [stderr] | ^^^ help: convert the identifier to snake case: `tac` [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 5.06s [INFO] running `"docker" "inspect" "8b02df8ccfa9ba9656bae77cdc4ff0a03a4036a2b8cb2c246f4f762de681aea8"` [INFO] running `"docker" "rm" "-f" "8b02df8ccfa9ba9656bae77cdc4ff0a03a4036a2b8cb2c246f4f762de681aea8"` [INFO] [stdout] 8b02df8ccfa9ba9656bae77cdc4ff0a03a4036a2b8cb2c246f4f762de681aea8