[INFO] cloning repository https://github.com/mattbruv/Gameboy-Crust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mattbruv/Gameboy-Crust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmattbruv%2FGameboy-Crust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmattbruv%2FGameboy-Crust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] d936de9b941c7f0144949df8f3ab0f6f02d58468 [INFO] checking mattbruv/Gameboy-Crust against try#8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8 for pr-82565 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmattbruv%2FGameboy-Crust" "/workspace/builds/worker-12/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-12/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/mattbruv/Gameboy-Crust on toolchain 8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/mattbruv/Gameboy-Crust [INFO] finished tweaking git repo https://github.com/mattbruv/Gameboy-Crust [INFO] tweaked toml for git repo https://github.com/mattbruv/Gameboy-Crust written to /workspace/builds/worker-12/source/Cargo.toml [INFO] crate git repo https://github.com/mattbruv/Gameboy-Crust already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded redox_syscall v0.1.31 [INFO] [stderr] Downloaded fuchsia-zircon v0.2.1 [INFO] [stderr] Downloaded kernel32-sys v0.1.4 [INFO] [stderr] Downloaded lazy_static v0.2.9 [INFO] [stderr] Downloaded sdl2-sys v0.30.0 [INFO] [stderr] Downloaded fuchsia-zircon-sys v0.2.0 [INFO] [stderr] Downloaded rand v0.3.17 [INFO] [stderr] Downloaded minifb v0.10.3 [INFO] [stderr] Downloaded libc v0.2.32 [INFO] [stderr] Downloaded x11-dl v2.14.0 [INFO] [stderr] Downloaded sdl2 v0.30.0 [INFO] [stderr] Downloaded time v0.1.38 [INFO] [stderr] Downloaded orbclient v0.3.12 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/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" "rustops/crates-build-env@sha256:f2f6bcd4b43ebee4e173f653a26493129bdb64017c85f916b780ca7fbdbaa79d" "/opt/rustwide/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 1e9016c7cdda7f8f024ed0598dfda783b9503c3be40dc6db7f0a711fc2fbcefa [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "1e9016c7cdda7f8f024ed0598dfda783b9503c3be40dc6db7f0a711fc2fbcefa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1e9016c7cdda7f8f024ed0598dfda783b9503c3be40dc6db7f0a711fc2fbcefa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1e9016c7cdda7f8f024ed0598dfda783b9503c3be40dc6db7f0a711fc2fbcefa", kill_on_drop: false }` [INFO] [stdout] 1e9016c7cdda7f8f024ed0598dfda783b9503c3be40dc6db7f0a711fc2fbcefa [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:f2f6bcd4b43ebee4e173f653a26493129bdb64017c85f916b780ca7fbdbaa79d" "/opt/rustwide/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 401627ef21c910acbc1849249bfdbc40a9a219d64ce1bdab2e7f7d356b6ad91d [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "401627ef21c910acbc1849249bfdbc40a9a219d64ce1bdab2e7f7d356b6ad91d", kill_on_drop: false }` [INFO] [stderr] Compiling pkg-config v0.3.9 [INFO] [stderr] Checking libc v0.2.32 [INFO] [stderr] Compiling gcc v0.3.54 [INFO] [stderr] Checking time v0.1.38 [INFO] [stderr] Compiling x11-dl v2.14.0 [INFO] [stderr] Compiling minifb v0.10.3 [INFO] [stderr] Checking gameboy-crust v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::io::*` [INFO] [stdout] --> src/core/helper.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition [INFO] [stdout] --> src/core/helper.rs:100:1 [INFO] [stdout] | [INFO] [stdout] 100 | / macro_rules! hex { [INFO] [stdout] 101 | | ($val:expr) => {{ [INFO] [stdout] 102 | | println!("${:02X}", $val); [INFO] [stdout] 103 | | }} [INFO] [stdout] 104 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/interconnect.rs:46:15 [INFO] [stdout] | [INFO] [stdout] 46 | ROM_START ... ROM_BANK_END => self.rom.read(address), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/interconnect.rs:47:15 [INFO] [stdout] | [INFO] [stdout] 47 | VRAM_START ... VRAM_END => self.gpu.read(address), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/interconnect.rs:48:15 [INFO] [stdout] | [INFO] [stdout] 48 | ERAM_START ... ERAM_END => self.rom.read(address), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/interconnect.rs:49:15 [INFO] [stdout] | [INFO] [stdout] 49 | WRAM_START ... WRAM_END => self.wram.read(address - WRAM_START), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/interconnect.rs:50:15 [INFO] [stdout] | [INFO] [stdout] 50 | ECHO_START ... ECHO_END => self.wram.read(address - ECHO_START), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/interconnect.rs:51:15 [INFO] [stdout] | [INFO] [stdout] 51 | OAM_START ... OAM_END => self.gpu.read(address), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/interconnect.rs:52:15 [INFO] [stdout] | [INFO] [stdout] 52 | HRAM_START ... HRAM_END => self.hram.read(address - HRAM_START), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/interconnect.rs:63:15 [INFO] [stdout] | [INFO] [stdout] 63 | ROM_START ... ROM_BANK_END => self.rom.write(address, data), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/interconnect.rs:64:15 [INFO] [stdout] | [INFO] [stdout] 64 | VRAM_START ... VRAM_END => self.gpu.write(address, data), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/interconnect.rs:65:15 [INFO] [stdout] | [INFO] [stdout] 65 | ERAM_START ... ERAM_END => self.rom.write(address, data), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/interconnect.rs:66:15 [INFO] [stdout] | [INFO] [stdout] 66 | WRAM_START ... WRAM_END => self.wram.write(address - WRAM_START, data), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/interconnect.rs:67:15 [INFO] [stdout] | [INFO] [stdout] 67 | ECHO_START ... ECHO_END => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/interconnect.rs:72:15 [INFO] [stdout] | [INFO] [stdout] 72 | OAM_START ... OAM_END => self.gpu.write(address, data), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/interconnect.rs:73:15 [INFO] [stdout] | [INFO] [stdout] 73 | HRAM_START ... HRAM_END => self.hram.write(address - HRAM_START, data), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::helper::*` [INFO] [stdout] --> src/core/register.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use core::helper::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression [INFO] [stdout] --> src/core/register.rs:127:10 [INFO] [stdout] | [INFO] [stdout] 127 | match (self.f & Flag::Zero as u8) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression [INFO] [stdout] --> src/core/register.rs:132:10 [INFO] [stdout] | [INFO] [stdout] 132 | match (self.f & Flag::Sub as u8) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression [INFO] [stdout] --> src/core/register.rs:137:10 [INFO] [stdout] | [INFO] [stdout] 137 | match (self.f & Flag::HalfCarry as u8) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression [INFO] [stdout] --> src/core/register.rs:142:10 [INFO] [stdout] | [INFO] [stdout] 142 | match (self.f & Flag::Carry as u8) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/core/rom.rs:10:18 [INFO] [stdout] | [INFO] [stdout] 10 | controller: Box [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MemoryController` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/rom.rs:25:10 [INFO] [stdout] | [INFO] [stdout] 25 | 0x01 ... 0x03 => Box::new(mbc1::MBC1::new()), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/rom.rs:26:10 [INFO] [stdout] | [INFO] [stdout] 26 | 0x05 ... 0x06 => Box::new(mbc2::MBC2::new()), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/rom.rs:27:10 [INFO] [stdout] | [INFO] [stdout] 27 | 0x0F ... 0x13 => Box::new(mbc3::MBC3::new()), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::disassembler::*` [INFO] [stdout] --> src/core/cpu.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use core::disassembler::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/core/cpu.rs:770:34 [INFO] [stdout] | [INFO] [stdout] 770 | self.regs.set_flag(Flag::Zero, (result == 0)); [INFO] [stdout] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/core/cpu.rs:783:34 [INFO] [stdout] | [INFO] [stdout] 783 | self.regs.set_flag(Flag::Zero, (result == 0)); [INFO] [stdout] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/core/cpu.rs:792:34 [INFO] [stdout] | [INFO] [stdout] 792 | self.regs.set_flag(Flag::Zero, (result == 0)); [INFO] [stdout] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/core/cpu.rs:801:34 [INFO] [stdout] | [INFO] [stdout] 801 | self.regs.set_flag(Flag::Zero, (result == 0)); [INFO] [stdout] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/core/cpu.rs:810:34 [INFO] [stdout] | [INFO] [stdout] 810 | self.regs.set_flag(Flag::Zero, (result == 0)); [INFO] [stdout] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/core/cpu.rs:826:34 [INFO] [stdout] | [INFO] [stdout] 826 | self.regs.set_flag(Flag::Zero, (result == 0)); [INFO] [stdout] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/core/cpu.rs:835:34 [INFO] [stdout] | [INFO] [stdout] 835 | self.regs.set_flag(Flag::Zero, (result == 0)); [INFO] [stdout] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/core/cpu.rs:855:35 [INFO] [stdout] | [INFO] [stdout] 855 | self.regs.set_flag(Flag::Carry, (bit7 == 1)); [INFO] [stdout] | ^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/core/cpu.rs:858:34 [INFO] [stdout] | [INFO] [stdout] 858 | self.regs.set_flag(Flag::Zero, (result == 0 && update_zero)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/core/cpu.rs:870:35 [INFO] [stdout] | [INFO] [stdout] 870 | self.regs.set_flag(Flag::Carry, (bit1 == 1)); [INFO] [stdout] | ^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/core/cpu.rs:873:34 [INFO] [stdout] | [INFO] [stdout] 873 | self.regs.set_flag(Flag::Zero, (result == 0 && update_zero)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/core/cpu.rs:921:3 [INFO] [stdout] | [INFO] [stdout] 921 | (!(bit as u8) & n) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/gpu.rs:253:7 [INFO] [stdout] | [INFO] [stdout] 253 | 0 ... OAM_PERIOD => { // OAM [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/gpu.rs:259:16 [INFO] [stdout] | [INFO] [stdout] 259 | OAM_PERIOD ... TRANSFER_PERIOD => { // Transfer [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/gpu.rs:267:21 [INFO] [stdout] | [INFO] [stdout] 267 | TRANSFER_PERIOD ... HBLANK_PERIOD => { // H-Blank [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/core/gpu.rs:337:13 [INFO] [stdout] | [INFO] [stdout] 337 | let row = (y / 8); [INFO] [stdout] | ^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/core/gpu.rs:342:17 [INFO] [stdout] | [INFO] [stdout] 342 | let column = (x / 8); [INFO] [stdout] | ^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/core/gpu.rs:404:18 [INFO] [stdout] | [INFO] [stdout] 404 | debug_color |= (debug_line_color as u32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/core/gpu.rs:473:9 [INFO] [stdout] | [INFO] [stdout] 473 | if (scanline_y.wrapping_sub(sprite_y) < 8) { // top half [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/gpu.rs:566:15 [INFO] [stdout] | [INFO] [stdout] 566 | VRAM_START ... VRAM_END => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/gpu.rs:575:15 [INFO] [stdout] | [INFO] [stdout] 575 | OAM_START ... OAM_END => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/gpu.rs:608:15 [INFO] [stdout] | [INFO] [stdout] 608 | VRAM_START ... VRAM_END => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/gpu.rs:622:14 [INFO] [stdout] | [INFO] [stdout] 622 | OAM_START ... OAM_END => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/mbc/mbc1.rs:45:14 [INFO] [stdout] | [INFO] [stdout] 45 | ROM_START ... ROM_END => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/mbc/mbc1.rs:48:19 [INFO] [stdout] | [INFO] [stdout] 48 | ROM_BANK_START ... ROM_BANK_END => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/mbc/mbc1.rs:53:15 [INFO] [stdout] | [INFO] [stdout] 53 | ERAM_START ... ERAM_END => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/mbc/mbc1.rs:66:11 [INFO] [stdout] | [INFO] [stdout] 66 | 0x0000 ... 0x1FFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/mbc/mbc1.rs:74:11 [INFO] [stdout] | [INFO] [stdout] 74 | 0x2000 ... 0x3FFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/mbc/mbc1.rs:81:11 [INFO] [stdout] | [INFO] [stdout] 81 | 0x4000 ... 0x5FFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/mbc/mbc1.rs:96:11 [INFO] [stdout] | [INFO] [stdout] 96 | 0x6000 ... 0x7FFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/mbc/mbc1.rs:103:15 [INFO] [stdout] | [INFO] [stdout] 103 | ERAM_START ... ERAM_END => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/mbc/mbc3.rs:33:23 [INFO] [stdout] | [INFO] [stdout] 33 | ROM_START ... ROM_END => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/mbc/mbc3.rs:36:28 [INFO] [stdout] | [INFO] [stdout] 36 | ROM_BANK_START ... ROM_BANK_END => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/mbc/mbc3.rs:42:24 [INFO] [stdout] | [INFO] [stdout] 42 | ERAM_START ... ERAM_END => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/mbc/mbc3.rs:56:20 [INFO] [stdout] | [INFO] [stdout] 56 | 0x0000 ... 0x1FFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/mbc/mbc3.rs:63:20 [INFO] [stdout] | [INFO] [stdout] 63 | 0x2000 ... 0x3FFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/mbc/mbc3.rs:69:20 [INFO] [stdout] | [INFO] [stdout] 69 | 0x4000 ... 0x5FFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/mbc/mbc3.rs:81:20 [INFO] [stdout] | [INFO] [stdout] 81 | 0x6000 ... 0x7FFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/mbc/mbc3.rs:84:24 [INFO] [stdout] | [INFO] [stdout] 84 | ERAM_START ... ERAM_END => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `interconnect::*` [INFO] [stdout] --> src/core/dma.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use interconnect::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/core/dma.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 36 | if (self.cycles - adjusted_cycles < 0) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/core/timer.rs:55:20 [INFO] [stdout] | [INFO] [stdout] 55 | if (timer_value == 255) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::*` [INFO] [stdout] --> src/core/helper.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition [INFO] [stdout] --> src/core/helper.rs:100:1 [INFO] [stdout] | [INFO] [stdout] 100 | / macro_rules! hex { [INFO] [stdout] 101 | | ($val:expr) => {{ [INFO] [stdout] 102 | | println!("${:02X}", $val); [INFO] [stdout] 103 | | }} [INFO] [stdout] 104 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/interconnect.rs:46:15 [INFO] [stdout] | [INFO] [stdout] 46 | ROM_START ... ROM_BANK_END => self.rom.read(address), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/interconnect.rs:47:15 [INFO] [stdout] | [INFO] [stdout] 47 | VRAM_START ... VRAM_END => self.gpu.read(address), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/interconnect.rs:48:15 [INFO] [stdout] | [INFO] [stdout] 48 | ERAM_START ... ERAM_END => self.rom.read(address), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/interconnect.rs:49:15 [INFO] [stdout] | [INFO] [stdout] 49 | WRAM_START ... WRAM_END => self.wram.read(address - WRAM_START), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/interconnect.rs:50:15 [INFO] [stdout] | [INFO] [stdout] 50 | ECHO_START ... ECHO_END => self.wram.read(address - ECHO_START), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/interconnect.rs:51:15 [INFO] [stdout] | [INFO] [stdout] 51 | OAM_START ... OAM_END => self.gpu.read(address), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/interconnect.rs:52:15 [INFO] [stdout] | [INFO] [stdout] 52 | HRAM_START ... HRAM_END => self.hram.read(address - HRAM_START), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/interconnect.rs:63:15 [INFO] [stdout] | [INFO] [stdout] 63 | ROM_START ... ROM_BANK_END => self.rom.write(address, data), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/interconnect.rs:64:15 [INFO] [stdout] | [INFO] [stdout] 64 | VRAM_START ... VRAM_END => self.gpu.write(address, data), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/interconnect.rs:65:15 [INFO] [stdout] | [INFO] [stdout] 65 | ERAM_START ... ERAM_END => self.rom.write(address, data), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/interconnect.rs:66:15 [INFO] [stdout] | [INFO] [stdout] 66 | WRAM_START ... WRAM_END => self.wram.write(address - WRAM_START, data), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/interconnect.rs:67:15 [INFO] [stdout] | [INFO] [stdout] 67 | ECHO_START ... ECHO_END => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/interconnect.rs:72:15 [INFO] [stdout] | [INFO] [stdout] 72 | OAM_START ... OAM_END => self.gpu.write(address, data), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/interconnect.rs:73:15 [INFO] [stdout] | [INFO] [stdout] 73 | HRAM_START ... HRAM_END => self.hram.write(address - HRAM_START, data), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::helper::*` [INFO] [stdout] --> src/core/register.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use core::helper::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression [INFO] [stdout] --> src/core/register.rs:127:10 [INFO] [stdout] | [INFO] [stdout] 127 | match (self.f & Flag::Zero as u8) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression [INFO] [stdout] --> src/core/register.rs:132:10 [INFO] [stdout] | [INFO] [stdout] 132 | match (self.f & Flag::Sub as u8) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression [INFO] [stdout] --> src/core/register.rs:137:10 [INFO] [stdout] | [INFO] [stdout] 137 | match (self.f & Flag::HalfCarry as u8) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression [INFO] [stdout] --> src/core/register.rs:142:10 [INFO] [stdout] | [INFO] [stdout] 142 | match (self.f & Flag::Carry as u8) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/core/rom.rs:10:18 [INFO] [stdout] | [INFO] [stdout] 10 | controller: Box [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MemoryController` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/rom.rs:25:10 [INFO] [stdout] | [INFO] [stdout] 25 | 0x01 ... 0x03 => Box::new(mbc1::MBC1::new()), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/rom.rs:26:10 [INFO] [stdout] | [INFO] [stdout] 26 | 0x05 ... 0x06 => Box::new(mbc2::MBC2::new()), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/rom.rs:27:10 [INFO] [stdout] | [INFO] [stdout] 27 | 0x0F ... 0x13 => Box::new(mbc3::MBC3::new()), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `core::disassembler::*` [INFO] [stdout] --> src/core/cpu.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use core::disassembler::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/core/cpu.rs:770:34 [INFO] [stdout] | [INFO] [stdout] 770 | self.regs.set_flag(Flag::Zero, (result == 0)); [INFO] [stdout] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/core/cpu.rs:783:34 [INFO] [stdout] | [INFO] [stdout] 783 | self.regs.set_flag(Flag::Zero, (result == 0)); [INFO] [stdout] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/core/cpu.rs:792:34 [INFO] [stdout] | [INFO] [stdout] 792 | self.regs.set_flag(Flag::Zero, (result == 0)); [INFO] [stdout] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/core/cpu.rs:801:34 [INFO] [stdout] | [INFO] [stdout] 801 | self.regs.set_flag(Flag::Zero, (result == 0)); [INFO] [stdout] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/core/cpu.rs:810:34 [INFO] [stdout] | [INFO] [stdout] 810 | self.regs.set_flag(Flag::Zero, (result == 0)); [INFO] [stdout] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/core/cpu.rs:826:34 [INFO] [stdout] | [INFO] [stdout] 826 | self.regs.set_flag(Flag::Zero, (result == 0)); [INFO] [stdout] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/core/cpu.rs:835:34 [INFO] [stdout] | [INFO] [stdout] 835 | self.regs.set_flag(Flag::Zero, (result == 0)); [INFO] [stdout] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/core/cpu.rs:855:35 [INFO] [stdout] | [INFO] [stdout] 855 | self.regs.set_flag(Flag::Carry, (bit7 == 1)); [INFO] [stdout] | ^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/core/cpu.rs:858:34 [INFO] [stdout] | [INFO] [stdout] 858 | self.regs.set_flag(Flag::Zero, (result == 0 && update_zero)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/core/cpu.rs:870:35 [INFO] [stdout] | [INFO] [stdout] 870 | self.regs.set_flag(Flag::Carry, (bit1 == 1)); [INFO] [stdout] | ^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around method argument [INFO] [stdout] --> src/core/cpu.rs:873:34 [INFO] [stdout] | [INFO] [stdout] 873 | self.regs.set_flag(Flag::Zero, (result == 0 && update_zero)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/core/cpu.rs:921:3 [INFO] [stdout] | [INFO] [stdout] 921 | (!(bit as u8) & n) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/gpu.rs:253:7 [INFO] [stdout] | [INFO] [stdout] 253 | 0 ... OAM_PERIOD => { // OAM [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/gpu.rs:259:16 [INFO] [stdout] | [INFO] [stdout] 259 | OAM_PERIOD ... TRANSFER_PERIOD => { // Transfer [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/gpu.rs:267:21 [INFO] [stdout] | [INFO] [stdout] 267 | TRANSFER_PERIOD ... HBLANK_PERIOD => { // H-Blank [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/core/gpu.rs:337:13 [INFO] [stdout] | [INFO] [stdout] 337 | let row = (y / 8); [INFO] [stdout] | ^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/core/gpu.rs:342:17 [INFO] [stdout] | [INFO] [stdout] 342 | let column = (x / 8); [INFO] [stdout] | ^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/core/gpu.rs:404:18 [INFO] [stdout] | [INFO] [stdout] 404 | debug_color |= (debug_line_color as u32); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/core/gpu.rs:473:9 [INFO] [stdout] | [INFO] [stdout] 473 | if (scanline_y.wrapping_sub(sprite_y) < 8) { // top half [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/gpu.rs:566:15 [INFO] [stdout] | [INFO] [stdout] 566 | VRAM_START ... VRAM_END => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/gpu.rs:575:15 [INFO] [stdout] | [INFO] [stdout] 575 | OAM_START ... OAM_END => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/gpu.rs:608:15 [INFO] [stdout] | [INFO] [stdout] 608 | VRAM_START ... VRAM_END => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/gpu.rs:622:14 [INFO] [stdout] | [INFO] [stdout] 622 | OAM_START ... OAM_END => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/mbc/mbc1.rs:45:14 [INFO] [stdout] | [INFO] [stdout] 45 | ROM_START ... ROM_END => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/mbc/mbc1.rs:48:19 [INFO] [stdout] | [INFO] [stdout] 48 | ROM_BANK_START ... ROM_BANK_END => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/mbc/mbc1.rs:53:15 [INFO] [stdout] | [INFO] [stdout] 53 | ERAM_START ... ERAM_END => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/mbc/mbc1.rs:66:11 [INFO] [stdout] | [INFO] [stdout] 66 | 0x0000 ... 0x1FFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/mbc/mbc1.rs:74:11 [INFO] [stdout] | [INFO] [stdout] 74 | 0x2000 ... 0x3FFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/mbc/mbc1.rs:81:11 [INFO] [stdout] | [INFO] [stdout] 81 | 0x4000 ... 0x5FFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/mbc/mbc1.rs:96:11 [INFO] [stdout] | [INFO] [stdout] 96 | 0x6000 ... 0x7FFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/mbc/mbc1.rs:103:15 [INFO] [stdout] | [INFO] [stdout] 103 | ERAM_START ... ERAM_END => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/mbc/mbc3.rs:33:23 [INFO] [stdout] | [INFO] [stdout] 33 | ROM_START ... ROM_END => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/mbc/mbc3.rs:36:28 [INFO] [stdout] | [INFO] [stdout] 36 | ROM_BANK_START ... ROM_BANK_END => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/mbc/mbc3.rs:42:24 [INFO] [stdout] | [INFO] [stdout] 42 | ERAM_START ... ERAM_END => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/mbc/mbc3.rs:56:20 [INFO] [stdout] | [INFO] [stdout] 56 | 0x0000 ... 0x1FFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/mbc/mbc3.rs:63:20 [INFO] [stdout] | [INFO] [stdout] 63 | 0x2000 ... 0x3FFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/mbc/mbc3.rs:69:20 [INFO] [stdout] | [INFO] [stdout] 69 | 0x4000 ... 0x5FFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/mbc/mbc3.rs:81:20 [INFO] [stdout] | [INFO] [stdout] 81 | 0x6000 ... 0x7FFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/core/mbc/mbc3.rs:84:24 [INFO] [stdout] | [INFO] [stdout] 84 | ERAM_START ... ERAM_END => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `interconnect::*` [INFO] [stdout] --> src/core/dma.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use interconnect::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/core/dma.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 36 | if (self.cycles - adjusted_cycles < 0) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/core/timer.rs:55:20 [INFO] [stdout] | [INFO] [stdout] 55 | if (timer_value == 255) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/core/interconnect.rs:53:4 [INFO] [stdout] | [INFO] [stdout] 53 | _ => panic!("Invalid Read") [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/core/interconnect.rs:74:4 [INFO] [stdout] | [INFO] [stdout] 74 | _ => panic!("Invalid Write") [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/core/cpu.rs:430:4 [INFO] [stdout] | [INFO] [stdout] 430 | 0xC3 => { self.regs.pc = self.next_pointer(memory); 4 }, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/core/cpu.rs:738:4 [INFO] [stdout] | [INFO] [stdout] 738 | _ => panic!("Unknown Sub-Op: ${:02X} @ ${:04X} dec: {}", opcode, pc, opcode) [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/core/cpu.rs:1007:7 [INFO] [stdout] | [INFO] [stdout] 1007 | }, _ => unreachable!() [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/core/cpu.rs:1037:7 [INFO] [stdout] | [INFO] [stdout] 1037 | }, _ => unreachable!() [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/core/cpu.rs:1060:7 [INFO] [stdout] | [INFO] [stdout] 1060 | }, _ => unreachable!() [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple patterns overlap on their endpoints [INFO] [stdout] --> src/core/gpu.rs:259:5 [INFO] [stdout] | [INFO] [stdout] 253 | 0 ... OAM_PERIOD => { // OAM [INFO] [stdout] | ---------------- this range overlaps on `80_usize`... [INFO] [stdout] ... [INFO] [stdout] 259 | OAM_PERIOD ... TRANSFER_PERIOD => { // Transfer [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ... with this range [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(overlapping_range_endpoints)]` on by default [INFO] [stdout] = note: you likely meant to write mutually exclusive ranges [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple patterns overlap on their endpoints [INFO] [stdout] --> src/core/gpu.rs:267:5 [INFO] [stdout] | [INFO] [stdout] 259 | OAM_PERIOD ... TRANSFER_PERIOD => { // Transfer [INFO] [stdout] | ------------------------------ this range overlaps on `252_usize`... [INFO] [stdout] ... [INFO] [stdout] 267 | TRANSFER_PERIOD ... HBLANK_PERIOD => { // H-Blank [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ... with this range [INFO] [stdout] | [INFO] [stdout] = note: you likely meant to write mutually exclusive ranges [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n2` [INFO] [stdout] --> src/core/disassembler.rs:7:6 [INFO] [stdout] | [INFO] [stdout] 7 | let n2 = mem.read(reg.pc + 1); // opcode + 2 [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_n2` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n3` [INFO] [stdout] --> src/core/disassembler.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 8 | let n3 = mem.read(reg.pc + 2); // opcode + 3 [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_n3` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `new_mode` [INFO] [stdout] --> src/core/gpu.rs:221:7 [INFO] [stdout] | [INFO] [stdout] 221 | let mut new_mode: StatusMode; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_mode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `debug_color` is assigned to, but never used [INFO] [stdout] --> src/core/gpu.rs:402:7 [INFO] [stdout] | [INFO] [stdout] 402 | let mut debug_color: u32 = (debug_line_color as u32) << 16; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_debug_color` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `debug_color` is never read [INFO] [stdout] --> src/core/gpu.rs:404:3 [INFO] [stdout] | [INFO] [stdout] 404 | debug_color |= (debug_line_color as u32); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `display_x` [INFO] [stdout] --> src/core/gpu.rs:407:8 [INFO] [stdout] | [INFO] [stdout] 407 | let display_x = (i as u8).wrapping_add(window_x); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_display_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stat` [INFO] [stdout] --> src/core/gpu.rs:589:7 [INFO] [stdout] | [INFO] [stdout] 589 | let stat = self.LCDC.get(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_stat` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `address` [INFO] [stdout] --> src/core/mbc/mbc0.rs:9:22 [INFO] [stdout] | [INFO] [stdout] 9 | fn write(&mut self, address: u16, data: u8) {} [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/core/mbc/mbc0.rs:9:36 [INFO] [stdout] | [INFO] [stdout] 9 | fn write(&mut self, address: u16, data: u8) {} [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/core/mbc/mbc0.rs:10:29 [INFO] [stdout] | [INFO] [stdout] 10 | fn set_title(&mut self, name: String) {} [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `address` [INFO] [stdout] --> src/core/mbc/mbc2.rs:19:22 [INFO] [stdout] | [INFO] [stdout] 19 | fn write(&mut self, address: u16, data: u8) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/core/mbc/mbc2.rs:19:36 [INFO] [stdout] | [INFO] [stdout] 19 | fn write(&mut self, address: u16, data: u8) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/core/mbc/mbc2.rs:22:29 [INFO] [stdout] | [INFO] [stdout] 22 | fn set_title(&mut self, name: String) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/core/timer.rs:101:33 [INFO] [stdout] | [INFO] [stdout] 101 | pub fn write_div(&mut self, data: u8) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/core/interconnect.rs:53:4 [INFO] [stdout] | [INFO] [stdout] 53 | _ => panic!("Invalid Read") [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/core/interconnect.rs:74:4 [INFO] [stdout] | [INFO] [stdout] 74 | _ => panic!("Invalid Write") [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/core/cpu.rs:430:4 [INFO] [stdout] | [INFO] [stdout] 430 | 0xC3 => { self.regs.pc = self.next_pointer(memory); 4 }, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/core/cpu.rs:738:4 [INFO] [stdout] | [INFO] [stdout] 738 | _ => panic!("Unknown Sub-Op: ${:02X} @ ${:04X} dec: {}", opcode, pc, opcode) [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/core/cpu.rs:1007:7 [INFO] [stdout] | [INFO] [stdout] 1007 | }, _ => unreachable!() [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/core/cpu.rs:1037:7 [INFO] [stdout] | [INFO] [stdout] 1037 | }, _ => unreachable!() [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/core/cpu.rs:1060:7 [INFO] [stdout] | [INFO] [stdout] 1060 | }, _ => unreachable!() [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple patterns overlap on their endpoints [INFO] [stdout] --> src/core/gpu.rs:259:5 [INFO] [stdout] | [INFO] [stdout] 253 | 0 ... OAM_PERIOD => { // OAM [INFO] [stdout] | ---------------- this range overlaps on `80_usize`... [INFO] [stdout] ... [INFO] [stdout] 259 | OAM_PERIOD ... TRANSFER_PERIOD => { // Transfer [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ... with this range [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(overlapping_range_endpoints)]` on by default [INFO] [stdout] = note: you likely meant to write mutually exclusive ranges [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple patterns overlap on their endpoints [INFO] [stdout] --> src/core/gpu.rs:267:5 [INFO] [stdout] | [INFO] [stdout] 259 | OAM_PERIOD ... TRANSFER_PERIOD => { // Transfer [INFO] [stdout] | ------------------------------ this range overlaps on `252_usize`... [INFO] [stdout] ... [INFO] [stdout] 267 | TRANSFER_PERIOD ... HBLANK_PERIOD => { // H-Blank [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ... with this range [INFO] [stdout] | [INFO] [stdout] = note: you likely meant to write mutually exclusive ranges [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n2` [INFO] [stdout] --> src/core/disassembler.rs:7:6 [INFO] [stdout] | [INFO] [stdout] 7 | let n2 = mem.read(reg.pc + 1); // opcode + 2 [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_n2` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n3` [INFO] [stdout] --> src/core/disassembler.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 8 | let n3 = mem.read(reg.pc + 2); // opcode + 3 [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_n3` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `new_mode` [INFO] [stdout] --> src/core/gpu.rs:221:7 [INFO] [stdout] | [INFO] [stdout] 221 | let mut new_mode: StatusMode; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_mode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `debug_color` is assigned to, but never used [INFO] [stdout] --> src/core/gpu.rs:402:7 [INFO] [stdout] | [INFO] [stdout] 402 | let mut debug_color: u32 = (debug_line_color as u32) << 16; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_debug_color` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `debug_color` is never read [INFO] [stdout] --> src/core/gpu.rs:404:3 [INFO] [stdout] | [INFO] [stdout] 404 | debug_color |= (debug_line_color as u32); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `display_x` [INFO] [stdout] --> src/core/gpu.rs:407:8 [INFO] [stdout] | [INFO] [stdout] 407 | let display_x = (i as u8).wrapping_add(window_x); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_display_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stat` [INFO] [stdout] --> src/core/gpu.rs:589:7 [INFO] [stdout] | [INFO] [stdout] 589 | let stat = self.LCDC.get(); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_stat` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `address` [INFO] [stdout] --> src/core/mbc/mbc0.rs:9:22 [INFO] [stdout] | [INFO] [stdout] 9 | fn write(&mut self, address: u16, data: u8) {} [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/core/mbc/mbc0.rs:9:36 [INFO] [stdout] | [INFO] [stdout] 9 | fn write(&mut self, address: u16, data: u8) {} [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/core/mbc/mbc0.rs:10:29 [INFO] [stdout] | [INFO] [stdout] 10 | fn set_title(&mut self, name: String) {} [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `address` [INFO] [stdout] --> src/core/mbc/mbc2.rs:19:22 [INFO] [stdout] | [INFO] [stdout] 19 | fn write(&mut self, address: u16, data: u8) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/core/mbc/mbc2.rs:19:36 [INFO] [stdout] | [INFO] [stdout] 19 | fn write(&mut self, address: u16, data: u8) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/core/mbc/mbc2.rs:22:29 [INFO] [stdout] | [INFO] [stdout] 22 | fn set_title(&mut self, name: String) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/core/timer.rs:101:33 [INFO] [stdout] | [INFO] [stdout] 101 | pub fn write_div(&mut self, data: u8) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/gpu.rs:454:7 [INFO] [stdout] | [INFO] [stdout] 454 | let mut iter = self.sprite_table.clone().into_iter().filter(|sprite| { [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: variable does not need to be mutable [INFO] [stdout] --> src/core/joypad.rs:57:13 [INFO] [stdout] | [INFO] [stdout] 57 | let mut result = self.register.get() & 0x30; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/emu/emulator.rs:36:7 [INFO] [stdout] | [INFO] [stdout] 36 | let mut multiplier = 100; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `sub` [INFO] [stdout] --> src/core/helper.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn sub(&mut self, data: u8) { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Serial` [INFO] [stdout] --> src/core/interrupt.rs:8:2 [INFO] [stdout] | [INFO] [stdout] 8 | Serial = 0b00001000, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `counter` [INFO] [stdout] --> src/core/interrupt.rs:23:2 [INFO] [stdout] | [INFO] [stdout] 23 | counter: u32, // counts the number of opcodes since interrupt status changed [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `read` [INFO] [stdout] --> src/core/interrupt.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn read(&mut self, address: u16) -> u8 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `disassemble` [INFO] [stdout] --> src/core/disassembler.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn disassemble(reg: &Registers, mem: &Interconnect, opcode: u8) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `SB` [INFO] [stdout] --> src/core/memory_map.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | pub const SB: u16 = 0xFF01; // Serial transfer data [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `SC` [INFO] [stdout] --> src/core/memory_map.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | pub const SC: u16 = 0xFF02; // SIO Control [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NR10` [INFO] [stdout] --> src/core/memory_map.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub const NR10: u16 = 0xFF10; // Sound Mode 1 sweep [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NR11` [INFO] [stdout] --> src/core/memory_map.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | pub const NR11: u16 = 0xFF11; // Sound Mode 1 wave pattern [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NR12` [INFO] [stdout] --> src/core/memory_map.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | pub const NR12: u16 = 0xFF12; // Sound Mode 1 envelope [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NR13` [INFO] [stdout] --> src/core/memory_map.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | pub const NR13: u16 = 0xFF13; // Sound Mode 1 frequency low [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NR14` [INFO] [stdout] --> src/core/memory_map.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | pub const NR14: u16 = 0xFF14; // Sound Mode 1 frequency high [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NR21` [INFO] [stdout] --> src/core/memory_map.rs:15:1 [INFO] [stdout] | [INFO] [stdout] 15 | pub const NR21: u16 = 0xFF16; // Sound Mode 2 wave pattern [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NR22` [INFO] [stdout] --> src/core/memory_map.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | pub const NR22: u16 = 0xFF17; // Sound Mode 2 envelope [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NR23` [INFO] [stdout] --> src/core/memory_map.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | pub const NR23: u16 = 0xFF18; // Sound Mode 2 frequency low [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NR24` [INFO] [stdout] --> src/core/memory_map.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | pub const NR24: u16 = 0xFF19; // Sound Mode 2 frequency high [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NR30` [INFO] [stdout] --> src/core/memory_map.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | pub const NR30: u16 = 0xFF1A; // Sound Mode 3 sound on/off [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NR31` [INFO] [stdout] --> src/core/memory_map.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | pub const NR31: u16 = 0xFF1B; // Sound Mode 3 sound length [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NR32` [INFO] [stdout] --> src/core/memory_map.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | pub const NR32: u16 = 0xFF1C; // Sound Mode 3 output level [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NR33` [INFO] [stdout] --> src/core/memory_map.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | pub const NR33: u16 = 0xFF1D; // Sound Mode 3 frequency low [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NR34` [INFO] [stdout] --> src/core/memory_map.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | pub const NR34: u16 = 0xFF1E; // Sound Mode 3 frequency high [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NR41` [INFO] [stdout] --> src/core/memory_map.rs:24:1 [INFO] [stdout] | [INFO] [stdout] 24 | pub const NR41: u16 = 0xFF20; // Sound Mode 4 sound length [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NR42` [INFO] [stdout] --> src/core/memory_map.rs:25:1 [INFO] [stdout] | [INFO] [stdout] 25 | pub const NR42: u16 = 0xFF21; // Sound Mode 4 envelope [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NR43` [INFO] [stdout] --> src/core/memory_map.rs:26:1 [INFO] [stdout] | [INFO] [stdout] 26 | pub const NR43: u16 = 0xFF22; // Sound Mode 4 polynomial counter [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NR44` [INFO] [stdout] --> src/core/memory_map.rs:27:1 [INFO] [stdout] | [INFO] [stdout] 27 | pub const NR44: u16 = 0xFF23; // Sound Mode 4 counter/consecutive [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NR50` [INFO] [stdout] --> src/core/memory_map.rs:28:1 [INFO] [stdout] | [INFO] [stdout] 28 | pub const NR50: u16 = 0xFF24; // Channel Control/Volume [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NR51` [INFO] [stdout] --> src/core/memory_map.rs:29:1 [INFO] [stdout] | [INFO] [stdout] 29 | pub const NR51: u16 = 0xFF25; // Sound output terminal [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NR52` [INFO] [stdout] --> src/core/memory_map.rs:30:1 [INFO] [stdout] | [INFO] [stdout] 30 | pub const NR52: u16 = 0xFF26; // Sound on/off [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `size` [INFO] [stdout] --> src/core/rom.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn size(&self) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum is never used: `StatusInterrupt` [INFO] [stdout] --> src/core/gpu.rs:33:6 [INFO] [stdout] | [INFO] [stdout] 33 | enum StatusInterrupt { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `set_stat` [INFO] [stdout] --> src/core/gpu.rs:550:5 [INFO] [stdout] | [INFO] [stdout] 550 | fn set_stat(&mut self, mode: StatusInterrupt) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `size` [INFO] [stdout] --> src/core/wram.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn size(&self) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `size` [INFO] [stdout] --> src/core/hram.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn size(&self) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `rom_bank` [INFO] [stdout] --> src/core/mbc/mbc2.rs:4:2 [INFO] [stdout] | [INFO] [stdout] 4 | rom_bank: u8 [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `rtc_register` [INFO] [stdout] --> src/core/mbc/mbc3.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | rtc_register: u8, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `select_ram_bank` [INFO] [stdout] --> src/core/mbc/mbc3.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | select_ram_bank: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/gpu.rs:454:7 [INFO] [stdout] | [INFO] [stdout] 454 | let mut iter = self.sprite_table.clone().into_iter().filter(|sprite| { [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: unused `Result` that must be used [INFO] [stdout] --> src/core/helper.rs:18:2 [INFO] [stdout] | [INFO] [stdout] 18 | file.write_all(bytes); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/core/helper.rs:28:13 [INFO] [stdout] | [INFO] [stdout] 28 | f.read_to_end(&mut temp_vec); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `IE` should have a snake case name [INFO] [stdout] --> src/core/interrupt.rs:26:6 [INFO] [stdout] | [INFO] [stdout] 26 | pub IE: MemoryRegister, // used to control intterupts [INFO] [stdout] | ^^ help: convert the identifier to snake case: `ie` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `IF` should have a snake case name [INFO] [stdout] --> src/core/interrupt.rs:27:6 [INFO] [stdout] | [INFO] [stdout] 27 | pub IF: MemoryRegister, // indicates which type of interrupt is set [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] help: rename the identifier or convert it to a snake case raw identifier [INFO] [stdout] | [INFO] [stdout] 27 | pub r#if: MemoryRegister, // indicates which type of interrupt is set [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Vram` should have a snake case name [INFO] [stdout] --> src/core/gpu.rs:84:2 [INFO] [stdout] | [INFO] [stdout] 84 | Vram: Vec, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case (notice the capitalization): `vram` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Oam` should have a snake case name [INFO] [stdout] --> src/core/gpu.rs:85:2 [INFO] [stdout] | [INFO] [stdout] 85 | Oam: Vec, [INFO] [stdout] | ^^^ help: convert the identifier to snake case (notice the capitalization): `oam` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `LCDC` should have a snake case name [INFO] [stdout] --> src/core/gpu.rs:93:6 [INFO] [stdout] | [INFO] [stdout] 93 | pub LCDC: MemoryRegister, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `lcdc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `STAT` should have a snake case name [INFO] [stdout] --> src/core/gpu.rs:94:6 [INFO] [stdout] | [INFO] [stdout] 94 | pub STAT: MemoryRegister, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `stat` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `LYC` should have a snake case name [INFO] [stdout] --> src/core/gpu.rs:95:6 [INFO] [stdout] | [INFO] [stdout] 95 | pub LYC: MemoryRegister, [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `lyc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `LY` should have a snake case name [INFO] [stdout] --> src/core/gpu.rs:96:6 [INFO] [stdout] | [INFO] [stdout] 96 | pub LY: MemoryRegister, [INFO] [stdout] | ^^ help: convert the identifier to snake case: `ly` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `BGP` should have a snake case name [INFO] [stdout] --> src/core/gpu.rs:97:6 [INFO] [stdout] | [INFO] [stdout] 97 | pub BGP: MemoryRegister, [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `bgp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `OBP0` should have a snake case name [INFO] [stdout] --> src/core/gpu.rs:98:6 [INFO] [stdout] | [INFO] [stdout] 98 | pub OBP0: MemoryRegister, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `obp0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `OBP1` should have a snake case name [INFO] [stdout] --> src/core/gpu.rs:99:6 [INFO] [stdout] | [INFO] [stdout] 99 | pub OBP1: MemoryRegister, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `obp1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `SCY` should have a snake case name [INFO] [stdout] --> src/core/gpu.rs:100:6 [INFO] [stdout] | [INFO] [stdout] 100 | pub SCY: MemoryRegister, [INFO] [stdout] | ^^^ help: convert the identifier to snake case (notice the capitalization): `scy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `SCX` should have a snake case name [INFO] [stdout] --> src/core/gpu.rs:101:6 [INFO] [stdout] | [INFO] [stdout] 101 | pub SCX: MemoryRegister, [INFO] [stdout] | ^^^ help: convert the identifier to snake case (notice the capitalization): `scx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/core/joypad.rs:57:13 [INFO] [stdout] | [INFO] [stdout] 57 | let mut result = self.register.get() & 0x30; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `WY` should have a snake case name [INFO] [stdout] --> src/core/gpu.rs:102:6 [INFO] [stdout] | [INFO] [stdout] 102 | pub WY: MemoryRegister, [INFO] [stdout] | ^^ help: convert the identifier to snake case (notice the capitalization): `wy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `WX` should have a snake case name [INFO] [stdout] --> src/core/gpu.rs:103:6 [INFO] [stdout] | [INFO] [stdout] 103 | pub WX: MemoryRegister, [INFO] [stdout] | ^^ help: convert the identifier to snake case (notice the capitalization): `wx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `DIV` should have a snake case name [INFO] [stdout] --> src/core/timer.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | DIV: MemoryRegister, [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `div` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `TIMA` should have a snake case name [INFO] [stdout] --> src/core/timer.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | TIMA: MemoryRegister, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `tima` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `TMA` should have a snake case name [INFO] [stdout] --> src/core/timer.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | TMA: MemoryRegister, [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `tma` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `TAC` should have a snake case name [INFO] [stdout] --> src/core/timer.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | TAC: MemoryRegister, [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `tac` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/emu/emulator.rs:36:7 [INFO] [stdout] | [INFO] [stdout] 36 | let mut multiplier = 100; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `sub` [INFO] [stdout] --> src/core/helper.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn sub(&mut self, data: u8) { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Serial` [INFO] [stdout] --> src/core/interrupt.rs:8:2 [INFO] [stdout] | [INFO] [stdout] 8 | Serial = 0b00001000, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `counter` [INFO] [stdout] --> src/core/interrupt.rs:23:2 [INFO] [stdout] | [INFO] [stdout] 23 | counter: u32, // counts the number of opcodes since interrupt status changed [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `read` [INFO] [stdout] --> src/core/interrupt.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn read(&mut self, address: u16) -> u8 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `disassemble` [INFO] [stdout] --> src/core/disassembler.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn disassemble(reg: &Registers, mem: &Interconnect, opcode: u8) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `SB` [INFO] [stdout] --> src/core/memory_map.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | pub const SB: u16 = 0xFF01; // Serial transfer data [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `SC` [INFO] [stdout] --> src/core/memory_map.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | pub const SC: u16 = 0xFF02; // SIO Control [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NR10` [INFO] [stdout] --> src/core/memory_map.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | pub const NR10: u16 = 0xFF10; // Sound Mode 1 sweep [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NR11` [INFO] [stdout] --> src/core/memory_map.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | pub const NR11: u16 = 0xFF11; // Sound Mode 1 wave pattern [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NR12` [INFO] [stdout] --> src/core/memory_map.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | pub const NR12: u16 = 0xFF12; // Sound Mode 1 envelope [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NR13` [INFO] [stdout] --> src/core/memory_map.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | pub const NR13: u16 = 0xFF13; // Sound Mode 1 frequency low [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NR14` [INFO] [stdout] --> src/core/memory_map.rs:14:1 [INFO] [stdout] | [INFO] [stdout] 14 | pub const NR14: u16 = 0xFF14; // Sound Mode 1 frequency high [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NR21` [INFO] [stdout] --> src/core/memory_map.rs:15:1 [INFO] [stdout] | [INFO] [stdout] 15 | pub const NR21: u16 = 0xFF16; // Sound Mode 2 wave pattern [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NR22` [INFO] [stdout] --> src/core/memory_map.rs:16:1 [INFO] [stdout] | [INFO] [stdout] 16 | pub const NR22: u16 = 0xFF17; // Sound Mode 2 envelope [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NR23` [INFO] [stdout] --> src/core/memory_map.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | pub const NR23: u16 = 0xFF18; // Sound Mode 2 frequency low [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NR24` [INFO] [stdout] --> src/core/memory_map.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | pub const NR24: u16 = 0xFF19; // Sound Mode 2 frequency high [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NR30` [INFO] [stdout] --> src/core/memory_map.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | pub const NR30: u16 = 0xFF1A; // Sound Mode 3 sound on/off [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NR31` [INFO] [stdout] --> src/core/memory_map.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | pub const NR31: u16 = 0xFF1B; // Sound Mode 3 sound length [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NR32` [INFO] [stdout] --> src/core/memory_map.rs:21:1 [INFO] [stdout] | [INFO] [stdout] 21 | pub const NR32: u16 = 0xFF1C; // Sound Mode 3 output level [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NR33` [INFO] [stdout] --> src/core/memory_map.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | pub const NR33: u16 = 0xFF1D; // Sound Mode 3 frequency low [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NR34` [INFO] [stdout] --> src/core/memory_map.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | pub const NR34: u16 = 0xFF1E; // Sound Mode 3 frequency high [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NR41` [INFO] [stdout] --> src/core/memory_map.rs:24:1 [INFO] [stdout] | [INFO] [stdout] 24 | pub const NR41: u16 = 0xFF20; // Sound Mode 4 sound length [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NR42` [INFO] [stdout] --> src/core/memory_map.rs:25:1 [INFO] [stdout] | [INFO] [stdout] 25 | pub const NR42: u16 = 0xFF21; // Sound Mode 4 envelope [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NR43` [INFO] [stdout] --> src/core/memory_map.rs:26:1 [INFO] [stdout] | [INFO] [stdout] 26 | pub const NR43: u16 = 0xFF22; // Sound Mode 4 polynomial counter [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NR44` [INFO] [stdout] --> src/core/memory_map.rs:27:1 [INFO] [stdout] | [INFO] [stdout] 27 | pub const NR44: u16 = 0xFF23; // Sound Mode 4 counter/consecutive [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NR50` [INFO] [stdout] --> src/core/memory_map.rs:28:1 [INFO] [stdout] | [INFO] [stdout] 28 | pub const NR50: u16 = 0xFF24; // Channel Control/Volume [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NR51` [INFO] [stdout] --> src/core/memory_map.rs:29:1 [INFO] [stdout] | [INFO] [stdout] 29 | pub const NR51: u16 = 0xFF25; // Sound output terminal [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `NR52` [INFO] [stdout] --> src/core/memory_map.rs:30:1 [INFO] [stdout] | [INFO] [stdout] 30 | pub const NR52: u16 = 0xFF26; // Sound on/off [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `size` [INFO] [stdout] --> src/core/rom.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn size(&self) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum is never used: `StatusInterrupt` [INFO] [stdout] --> src/core/gpu.rs:33:6 [INFO] [stdout] | [INFO] [stdout] 33 | enum StatusInterrupt { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `set_stat` [INFO] [stdout] --> src/core/gpu.rs:550:5 [INFO] [stdout] | [INFO] [stdout] 550 | fn set_stat(&mut self, mode: StatusInterrupt) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `size` [INFO] [stdout] --> src/core/wram.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn size(&self) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `size` [INFO] [stdout] --> src/core/hram.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn size(&self) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `rom_bank` [INFO] [stdout] --> src/core/mbc/mbc2.rs:4:2 [INFO] [stdout] | [INFO] [stdout] 4 | rom_bank: u8 [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `rtc_register` [INFO] [stdout] --> src/core/mbc/mbc3.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | rtc_register: u8, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `select_ram_bank` [INFO] [stdout] --> src/core/mbc/mbc3.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | select_ram_bank: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 151 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/core/helper.rs:18:2 [INFO] [stdout] | [INFO] [stdout] 18 | file.write_all(bytes); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/core/helper.rs:28:13 [INFO] [stdout] | [INFO] [stdout] 28 | f.read_to_end(&mut temp_vec); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `IE` should have a snake case name [INFO] [stdout] --> src/core/interrupt.rs:26:6 [INFO] [stdout] | [INFO] [stdout] 26 | pub IE: MemoryRegister, // used to control intterupts [INFO] [stdout] | ^^ help: convert the identifier to snake case: `ie` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `IF` should have a snake case name [INFO] [stdout] --> src/core/interrupt.rs:27:6 [INFO] [stdout] | [INFO] [stdout] 27 | pub IF: MemoryRegister, // indicates which type of interrupt is set [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] help: rename the identifier or convert it to a snake case raw identifier [INFO] [stdout] | [INFO] [stdout] 27 | pub r#if: MemoryRegister, // indicates which type of interrupt is set [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Vram` should have a snake case name [INFO] [stdout] --> src/core/gpu.rs:84:2 [INFO] [stdout] | [INFO] [stdout] 84 | Vram: Vec, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case (notice the capitalization): `vram` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `Oam` should have a snake case name [INFO] [stdout] --> src/core/gpu.rs:85:2 [INFO] [stdout] | [INFO] [stdout] 85 | Oam: Vec, [INFO] [stdout] | ^^^ help: convert the identifier to snake case (notice the capitalization): `oam` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `LCDC` should have a snake case name [INFO] [stdout] --> src/core/gpu.rs:93:6 [INFO] [stdout] | [INFO] [stdout] 93 | pub LCDC: MemoryRegister, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `lcdc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `STAT` should have a snake case name [INFO] [stdout] --> src/core/gpu.rs:94:6 [INFO] [stdout] | [INFO] [stdout] 94 | pub STAT: MemoryRegister, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `stat` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `LYC` should have a snake case name [INFO] [stdout] --> src/core/gpu.rs:95:6 [INFO] [stdout] | [INFO] [stdout] 95 | pub LYC: MemoryRegister, [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `lyc` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `LY` should have a snake case name [INFO] [stdout] --> src/core/gpu.rs:96:6 [INFO] [stdout] | [INFO] [stdout] 96 | pub LY: MemoryRegister, [INFO] [stdout] | ^^ help: convert the identifier to snake case: `ly` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `BGP` should have a snake case name [INFO] [stdout] --> src/core/gpu.rs:97:6 [INFO] [stdout] | [INFO] [stdout] 97 | pub BGP: MemoryRegister, [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `bgp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `OBP0` should have a snake case name [INFO] [stdout] --> src/core/gpu.rs:98:6 [INFO] [stdout] | [INFO] [stdout] 98 | pub OBP0: MemoryRegister, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `obp0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `OBP1` should have a snake case name [INFO] [stdout] --> src/core/gpu.rs:99:6 [INFO] [stdout] | [INFO] [stdout] 99 | pub OBP1: MemoryRegister, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `obp1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `SCY` should have a snake case name [INFO] [stdout] --> src/core/gpu.rs:100:6 [INFO] [stdout] | [INFO] [stdout] 100 | pub SCY: MemoryRegister, [INFO] [stdout] | ^^^ help: convert the identifier to snake case (notice the capitalization): `scy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `SCX` should have a snake case name [INFO] [stdout] --> src/core/gpu.rs:101:6 [INFO] [stdout] | [INFO] [stdout] 101 | pub SCX: MemoryRegister, [INFO] [stdout] | ^^^ help: convert the identifier to snake case (notice the capitalization): `scx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `WY` should have a snake case name [INFO] [stdout] --> src/core/gpu.rs:102:6 [INFO] [stdout] | [INFO] [stdout] 102 | pub WY: MemoryRegister, [INFO] [stdout] | ^^ help: convert the identifier to snake case (notice the capitalization): `wy` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `WX` should have a snake case name [INFO] [stdout] --> src/core/gpu.rs:103:6 [INFO] [stdout] | [INFO] [stdout] 103 | pub WX: MemoryRegister, [INFO] [stdout] | ^^ help: convert the identifier to snake case (notice the capitalization): `wx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `DIV` should have a snake case name [INFO] [stdout] --> src/core/timer.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | DIV: MemoryRegister, [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `div` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `TIMA` should have a snake case name [INFO] [stdout] --> src/core/timer.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | TIMA: MemoryRegister, [INFO] [stdout] | ^^^^ help: convert the identifier to snake case: `tima` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `TMA` should have a snake case name [INFO] [stdout] --> src/core/timer.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | TMA: MemoryRegister, [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `tma` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `TAC` should have a snake case name [INFO] [stdout] --> src/core/timer.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | TAC: MemoryRegister, [INFO] [stdout] | ^^^ help: convert the identifier to snake case: `tac` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 151 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 9.75s [INFO] running `Command { std: "docker" "inspect" "401627ef21c910acbc1849249bfdbc40a9a219d64ce1bdab2e7f7d356b6ad91d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "401627ef21c910acbc1849249bfdbc40a9a219d64ce1bdab2e7f7d356b6ad91d", kill_on_drop: false }` [INFO] [stdout] 401627ef21c910acbc1849249bfdbc40a9a219d64ce1bdab2e7f7d356b6ad91d