[INFO] cloning repository https://github.com/HAW-Rust-SoSe24/gb_emulator
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/HAW-Rust-SoSe24/gb_emulator" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHAW-Rust-SoSe24%2Fgb_emulator", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHAW-Rust-SoSe24%2Fgb_emulator'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1d58b36b40d28b1359dcb1d4bf88f2a515301e8f
[INFO] checking HAW-Rust-SoSe24/gb_emulator against eca445e5ae4a6679cc27d3a09106ce245e13a5a6 for pr-162478
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHAW-Rust-SoSe24%2Fgb_emulator" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/HAW-Rust-SoSe24/gb_emulator
[INFO] finished tweaking git repo https://github.com/HAW-Rust-SoSe24/gb_emulator
[INFO] tweaked toml for git repo https://github.com/HAW-Rust-SoSe24/gb_emulator written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/HAW-Rust-SoSe24/gb_emulator on toolchain eca445e5ae4a6679cc27d3a09106ce245e13a5a6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/HAW-Rust-SoSe24/gb_emulator already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: binary `gb_emulator` should have a kebab-case name
[INFO] [stderr]    |
[INFO] [stderr]  1 | /workspace/builds/worker-2-tc1/source/target/.../gb_emulator
[INFO] [stderr]    |                                                  ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::non_kebab_case_bins` is set to `warn` by default
[INFO] [stderr] help: to change the binary name to `gb-emulator`, convert `package.name`
[INFO] [stderr]   --> Cargo.toml:17:8
[INFO] [stderr]    |
[INFO] [stderr] 17 - name = "gb_emulator"
[INFO] [stderr] 17 + name = "gb-emulator"
[INFO] [stderr]    |
[INFO] [stderr] help: to change the binary name to `gb-emulator`, specify `bin.name`
[INFO] [stderr]   --> Cargo.toml:18:19
[INFO] [stderr]    |
[INFO] [stderr] 18 ~ version = "0.1.0"
[INFO] [stderr] 19 + [[bin]]
[INFO] [stderr] 20 + name = "gb-emulator"
[INFO] [stderr] 21 + path = "src/main.rs"
[INFO] [stderr]    |
[INFO] [stderr] warning: `gb_emulator` (manifest) generated 1 warning
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded thread-id v3.3.0
[INFO] [stderr]   Downloaded serde-value v0.6.0
[INFO] [stderr]   Downloaded log-mdc v0.1.0
[INFO] [stderr]   Downloaded is_debug v1.0.1
[INFO] [stderr]   Downloaded arc-swap v0.4.8
[INFO] [stderr]   Downloaded gtk-sys v0.18.0
[INFO] [stderr]   Downloaded atk-sys v0.18.0
[INFO] [stderr]   Downloaded gdk-sys v0.18.0
[INFO] [stderr]   Downloaded simple-log v1.6.0
[INFO] [stderr]   Downloaded log4rs v0.13.0
[INFO] [stderr]   Downloaded system-deps v6.2.1
[INFO] [stderr]   Downloaded winnow v0.6.10
[INFO] [stderr]   Downloaded miniquad v0.4.0
[INFO] [stderr]   Downloaded macroquad v0.4.5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] dd7ac556ad08ac70b82c63741bb560d587fc5ff52a2c73c48ff6d32ed03126ce
[INFO] running `Command { std: "docker" "start" "dd7ac556ad08ac70b82c63741bb560d587fc5ff52a2c73c48ff6d32ed03126ce", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "dd7ac556ad08ac70b82c63741bb560d587fc5ff52a2c73c48ff6d32ed03126ce", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "dd7ac556ad08ac70b82c63741bb560d587fc5ff52a2c73c48ff6d32ed03126ce" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "dd7ac556ad08ac70b82c63741bb560d587fc5ff52a2c73c48ff6d32ed03126ce", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "dd7ac556ad08ac70b82c63741bb560d587fc5ff52a2c73c48ff6d32ed03126ce" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: binary `gb_emulator` should have a kebab-case name
[INFO] [stderr]    |
[INFO] [stderr]  1 | /opt/rustwide/target/.../gb_emulator
[INFO] [stderr]    |                          ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::non_kebab_case_bins` is set to `warn` by default
[INFO] [stderr] help: to change the binary name to `gb-emulator`, convert `package.name`
[INFO] [stderr]   --> Cargo.toml:17:8
[INFO] [stderr]    |
[INFO] [stderr] 17 - name = "gb_emulator"
[INFO] [stderr] 17 + name = "gb-emulator"
[INFO] [stderr]    |
[INFO] [stderr] help: to change the binary name to `gb-emulator`, specify `bin.name`
[INFO] [stderr]   --> Cargo.toml:18:19
[INFO] [stderr]    |
[INFO] [stderr] 18 ~ version = "0.1.0"
[INFO] [stderr] 19 + [[bin]]
[INFO] [stderr] 20 + name = "gb-emulator"
[INFO] [stderr] 21 + path = "src/main.rs"
[INFO] [stderr]    |
[INFO] [stderr] warning: `gb_emulator` (manifest) generated 1 warning
[INFO] [stderr]    Compiling serde v1.0.202
[INFO] [stderr]    Compiling target-lexicon v0.12.14
[INFO] [stderr]    Compiling winnow v0.6.10
[INFO] [stderr]    Compiling version-compare v0.1.1
[INFO] [stderr]    Compiling libc v0.2.154
[INFO] [stderr]    Compiling proc-macro2 v1.0.85
[INFO] [stderr]    Compiling crc32fast v1.4.0
[INFO] [stderr]    Compiling indexmap v2.2.6
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]     Checking miniz_oxide v0.7.2
[INFO] [stderr]    Compiling parking_lot_core v0.8.6
[INFO] [stderr]     Checking instant v0.1.13
[INFO] [stderr]    Compiling serde_json v1.0.117
[INFO] [stderr]     Checking linked-hash-map v0.5.6
[INFO] [stderr]     Checking ordered-float v1.1.1
[INFO] [stderr]    Compiling slotmap v1.0.7
[INFO] [stderr]    Compiling miniquad v0.4.0
[INFO] [stderr]     Checking iana-time-zone v0.1.60
[INFO] [stderr]     Checking humantime v1.3.0
[INFO] [stderr]     Checking hashbrown v0.13.2
[INFO] [stderr]     Checking bytemuck v1.15.0
[INFO] [stderr]     Checking arc-swap v0.4.8
[INFO] [stderr]    Compiling rfd v0.14.1
[INFO] [stderr]     Checking yaml-rust v0.4.5
[INFO] [stderr]     Checking chrono v0.4.38
[INFO] [stderr]     Checking log-mdc v0.1.0
[INFO] [stderr]    Compiling macroquad_macro v0.1.7
[INFO] [stderr]     Checking flate2 v1.0.30
[INFO] [stderr]     Checking convert_case v0.5.0
[INFO] [stderr]     Checking glam v0.21.3
[INFO] [stderr]     Checking is_debug v1.0.1
[INFO] [stderr]     Checking raw-window-handle v0.6.2
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]    Compiling cfg-expr v0.15.8
[INFO] [stderr]     Checking fontdue v0.7.3
[INFO] [stderr]     Checking png v0.17.13
[INFO] [stderr]     Checking thread-id v3.3.0
[INFO] [stderr]    Compiling syn v2.0.66
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]     Checking image v0.24.9
[INFO] [stderr]    Compiling serde_derive v1.0.202
[INFO] [stderr]     Checking macroquad v0.4.5
[INFO] [stderr]    Compiling toml_datetime v0.6.5
[INFO] [stderr]    Compiling serde_spanned v0.6.5
[INFO] [stderr]    Compiling toml_edit v0.22.12
[INFO] [stderr]    Compiling toml_edit v0.21.1
[INFO] [stderr]    Compiling proc-macro-crate v3.1.0
[INFO] [stderr]    Compiling num_enum_derive v0.7.2
[INFO] [stderr]    Compiling toml v0.8.12
[INFO] [stderr]     Checking num_enum v0.7.2
[INFO] [stderr]    Compiling system-deps v6.2.1
[INFO] [stderr]    Compiling glib-sys v0.18.1
[INFO] [stderr]    Compiling gobject-sys v0.18.0
[INFO] [stderr]    Compiling gdk-sys v0.18.0
[INFO] [stderr]    Compiling gio-sys v0.18.1
[INFO] [stderr]    Compiling atk-sys v0.18.0
[INFO] [stderr]    Compiling cairo-sys-rs v0.18.2
[INFO] [stderr]    Compiling gdk-pixbuf-sys v0.18.0
[INFO] [stderr]    Compiling pango-sys v0.18.0
[INFO] [stderr]    Compiling gtk-sys v0.18.0
[INFO] [stderr]     Checking log v0.4.21
[INFO] [stderr]     Checking serde_yaml v0.8.26
[INFO] [stderr]     Checking serde-value v0.6.0
[INFO] [stderr]     Checking log4rs v0.13.0
[INFO] [stderr]     Checking simple-log v1.6.0
[INFO] [stderr]     Checking gb_emulator v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::mmu::MemoryOperations`
[INFO] [stdout]   --> src/cpu/instructions/arithmetic_and_logic.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::mmu::MemoryOperations;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> src/main.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 |     tiles::{self, *},
[INFO] [stdout]    |             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `std::usize`: all constants in this module replaced by associated constants on the type
[INFO] [stdout]  --> src/rendering/tiles.rs:1:10
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::usize;
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let mut dump_time = time::Instant::now();
[INFO] [stdout]    |         ----^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> src/main.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 |     tiles::{self, *},
[INFO] [stdout]    |             ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `std::usize`: all constants in this module replaced by associated constants on the type
[INFO] [stdout]  --> src/rendering/tiles.rs:1:10
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::usize;
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let mut dump_time = time::Instant::now();
[INFO] [stdout]    |         ----^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ram_size`
[INFO] [stdout]   --> src/mmu/mbc/no_mbc.rs:28:59
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn init(&mut self, _rom_size: u8, cartridge_type: u8, ram_size: u8) {
[INFO] [stdout]    |                                                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ram_size`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bank`
[INFO] [stdout]   --> src/mmu/mbc/no_mbc.rs:32:44
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn fill_rom_bank_from_slice(&mut self, bank: u8, data: &[u8; 0x4000]) {
[INFO] [stdout]    |                                            ^^^^ help: if this is intentional, prefix it with an underscore: `_bank`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bank`
[INFO] [stdout]   --> src/mmu/mbc/no_mbc.rs:36:44
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn fill_ram_bank_from_slice(&mut self, bank: u8, data: &[u8; 0x2000]) {
[INFO] [stdout]    |                                            ^^^^ help: if this is intentional, prefix it with an underscore: `_bank`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/mmu.rs:207:13
[INFO] [stdout]     |
[INFO] [stdout] 207 |             _ => panic!("Address out of bounds: {:#X}", address)
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/mmu.rs:207:13
[INFO] [stdout]     |
[INFO] [stdout] 190 |             0x0000..=0x3FFF => {
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 197 |             0x4000..=0x7FFF => self.mbc.read_byte(address),
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] 198 |             0x8000..=0x9FFF => self.VRAM.read_byte(address),
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] 199 |             0xA000..=0xBFFF => self.mbc.read_byte(address),
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 207 |             _ => panic!("Address out of bounds: {:#X}", address)
[INFO] [stdout]     |             ^ ...and 7 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/mmu.rs:225:13
[INFO] [stdout]     |
[INFO] [stdout] 225 |             _ => panic!("Address out of bounds: {:#X}", address)
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/mmu.rs:225:13
[INFO] [stdout]     |
[INFO] [stdout] 214 |             0x0000..=0x3FFF => self.mbc.write_byte(address, value),
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] 215 |             0x4000..=0x7FFF => self.mbc.write_byte(address, value),
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] 216 |             0x8000..=0x9FFF => self.VRAM.write_byte(address, value),
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] 217 |             0xA000..=0xBFFF => self.mbc.write_byte(address, value),
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 225 |             _ => panic!("Address out of bounds: {:#X}", address)
[INFO] [stdout]     |             ^ ...and 7 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `ppu_time` is assigned to, but never used
[INFO] [stdout]   --> src/main.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let mut ppu_time = time::Instant::now();
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_ppu_time` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dump_time`
[INFO] [stdout]   --> src/main.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let mut dump_time = time::Instant::now();
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dump_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ppu_time` is never read
[INFO] [stdout]    --> src/main.rs:132:17
[INFO] [stdout]     |
[INFO] [stdout] 132 |                 ppu_time = time::Instant::now();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WINDOWS` is never used
[INFO] [stdout]   --> src/main.rs:29:7
[INFO] [stdout]    |
[INFO] [stdout] 29 | const WINDOWS: bool = false;
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `VRAM` should have a snake case name
[INFO] [stdout]   --> src/mmu.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |     pub VRAM: SimpleRegion,
[INFO] [stdout]    |         ^^^^ help: convert the identifier to snake case: `vram`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `WRAM` should have a snake case name
[INFO] [stdout]   --> src/mmu.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub WRAM: SimpleRegion,
[INFO] [stdout]    |         ^^^^ help: convert the identifier to snake case: `wram`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `OAM` should have a snake case name
[INFO] [stdout]   --> src/mmu.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub OAM: SimpleRegion,
[INFO] [stdout]    |         ^^^ help: convert the identifier to snake case: `oam`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `IO` should have a snake case name
[INFO] [stdout]   --> src/mmu.rs:97:9
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub IO: InputOutput,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case (notice the capitalization): `io`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `HRAM` should have a snake case name
[INFO] [stdout]    --> src/mmu.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |     pub HRAM: SimpleRegion,
[INFO] [stdout]     |         ^^^^ help: convert the identifier to snake case: `hram`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ram_size`
[INFO] [stdout]   --> src/mmu/mbc/no_mbc.rs:28:59
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn init(&mut self, _rom_size: u8, cartridge_type: u8, ram_size: u8) {
[INFO] [stdout]    |                                                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ram_size`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bank`
[INFO] [stdout]   --> src/mmu/mbc/no_mbc.rs:32:44
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn fill_rom_bank_from_slice(&mut self, bank: u8, data: &[u8; 0x4000]) {
[INFO] [stdout]    |                                            ^^^^ help: if this is intentional, prefix it with an underscore: `_bank`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bank`
[INFO] [stdout]   --> src/mmu/mbc/no_mbc.rs:36:44
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn fill_ram_bank_from_slice(&mut self, bank: u8, data: &[u8; 0x2000]) {
[INFO] [stdout]    |                                            ^^^^ help: if this is intentional, prefix it with an underscore: `_bank`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/mmu.rs:207:13
[INFO] [stdout]     |
[INFO] [stdout] 207 |             _ => panic!("Address out of bounds: {:#X}", address)
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/mmu.rs:207:13
[INFO] [stdout]     |
[INFO] [stdout] 190 |             0x0000..=0x3FFF => {
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 197 |             0x4000..=0x7FFF => self.mbc.read_byte(address),
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] 198 |             0x8000..=0x9FFF => self.VRAM.read_byte(address),
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] 199 |             0xA000..=0xBFFF => self.mbc.read_byte(address),
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 207 |             _ => panic!("Address out of bounds: {:#X}", address)
[INFO] [stdout]     |             ^ ...and 7 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/mmu.rs:225:13
[INFO] [stdout]     |
[INFO] [stdout] 225 |             _ => panic!("Address out of bounds: {:#X}", address)
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/mmu.rs:225:13
[INFO] [stdout]     |
[INFO] [stdout] 214 |             0x0000..=0x3FFF => self.mbc.write_byte(address, value),
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] 215 |             0x4000..=0x7FFF => self.mbc.write_byte(address, value),
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] 216 |             0x8000..=0x9FFF => self.VRAM.write_byte(address, value),
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] 217 |             0xA000..=0xBFFF => self.mbc.write_byte(address, value),
[INFO] [stdout]     |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 225 |             _ => panic!("Address out of bounds: {:#X}", address)
[INFO] [stdout]     |             ^ ...and 7 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `ppu_time` is assigned to, but never used
[INFO] [stdout]   --> src/main.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let mut ppu_time = time::Instant::now();
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_ppu_time` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dump_time`
[INFO] [stdout]   --> src/main.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let mut dump_time = time::Instant::now();
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dump_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `ppu_time` is never read
[INFO] [stdout]    --> src/main.rs:132:17
[INFO] [stdout]     |
[INFO] [stdout] 132 |                 ppu_time = time::Instant::now();
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WINDOWS` is never used
[INFO] [stdout]   --> src/main.rs:29:7
[INFO] [stdout]    |
[INFO] [stdout] 29 | const WINDOWS: bool = false;
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `VRAM` should have a snake case name
[INFO] [stdout]   --> src/mmu.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |     pub VRAM: SimpleRegion,
[INFO] [stdout]    |         ^^^^ help: convert the identifier to snake case: `vram`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `WRAM` should have a snake case name
[INFO] [stdout]   --> src/mmu.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub WRAM: SimpleRegion,
[INFO] [stdout]    |         ^^^^ help: convert the identifier to snake case: `wram`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `OAM` should have a snake case name
[INFO] [stdout]   --> src/mmu.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub OAM: SimpleRegion,
[INFO] [stdout]    |         ^^^ help: convert the identifier to snake case: `oam`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `IO` should have a snake case name
[INFO] [stdout]   --> src/mmu.rs:97:9
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub IO: InputOutput,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case (notice the capitalization): `io`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `HRAM` should have a snake case name
[INFO] [stdout]    --> src/mmu.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |     pub HRAM: SimpleRegion,
[INFO] [stdout]     |         ^^^^ help: convert the identifier to snake case: `hram`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 27.58s
[INFO] running `Command { std: "docker" "inspect" "dd7ac556ad08ac70b82c63741bb560d587fc5ff52a2c73c48ff6d32ed03126ce", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dd7ac556ad08ac70b82c63741bb560d587fc5ff52a2c73c48ff6d32ed03126ce", kill_on_drop: false }`
[INFO] [stdout] dd7ac556ad08ac70b82c63741bb560d587fc5ff52a2c73c48ff6d32ed03126ce
