[INFO] cloning repository https://github.com/wenhaozhao/gb_simulator
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/wenhaozhao/gb_simulator" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwenhaozhao%2Fgb_simulator", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwenhaozhao%2Fgb_simulator'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8314221c2e08428d92253b3d002ca0291ca5dd4f
[INFO] testing wenhaozhao/gb_simulator against 1.75.0 for beta-1.76-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwenhaozhao%2Fgb_simulator" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/wenhaozhao/gb_simulator on toolchain 1.75.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/wenhaozhao/gb_simulator
[INFO] finished tweaking git repo https://github.com/wenhaozhao/gb_simulator
[INFO] tweaked toml for git repo https://github.com/wenhaozhao/gb_simulator written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/wenhaozhao/gb_simulator 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" "+1.75.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 98c7449d7e8509da7c42174120c184f169609cd693f077e393518e1716906f38
[INFO] running `Command { std: "docker" "start" "-a" "98c7449d7e8509da7c42174120c184f169609cd693f077e393518e1716906f38", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "98c7449d7e8509da7c42174120c184f169609cd693f077e393518e1716906f38", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "98c7449d7e8509da7c42174120c184f169609cd693f077e393518e1716906f38", kill_on_drop: false }`
[INFO] [stdout] 98c7449d7e8509da7c42174120c184f169609cd693f077e393518e1716906f38
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 357e278847662c4bd93832e5a83b300faccacb9641f3e761fbc9411bcd30697a
[INFO] running `Command { std: "docker" "start" "-a" "357e278847662c4bd93832e5a83b300faccacb9641f3e761fbc9411bcd30697a", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.68
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling pkg-config v0.3.27
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling libc v0.2.149
[INFO] [stderr]    Compiling xml-rs v0.8.19
[INFO] [stderr]    Compiling autocfg v1.1.0
[INFO] [stderr]    Compiling once_cell v1.18.0
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling smallvec v1.11.1
[INFO] [stderr]    Compiling downcast-rs v1.2.0
[INFO] [stderr]    Compiling rustix v0.38.20
[INFO] [stderr]    Compiling memchr v2.6.4
[INFO] [stderr]    Compiling scoped-tls v1.0.1
[INFO] [stderr]    Compiling libloading v0.8.1
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling linux-raw-sys v0.4.10
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling bitflags v2.4.1
[INFO] [stderr]    Compiling fastrand v2.0.1
[INFO] [stderr]    Compiling dlib v0.5.2
[INFO] [stderr]    Compiling cty v0.2.2
[INFO] [stderr]    Compiling raw-window-handle v0.4.3
[INFO] [stderr]    Compiling convert_case v0.4.0
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling wayland-sys v0.29.5
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]    Compiling wayland-scanner v0.29.5
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]    Compiling nix v0.24.3
[INFO] [stderr]    Compiling minifb v0.25.0
[INFO] [stderr]    Compiling wayland-client v0.29.5
[INFO] [stderr]    Compiling wayland-protocols v0.29.5
[INFO] [stderr]    Compiling tempfile v3.8.0
[INFO] [stderr]    Compiling xcursor v0.3.4
[INFO] [stderr]    Compiling wayland-commons v0.29.5
[INFO] [stderr]    Compiling derive_more v0.99.17
[INFO] [stderr]    Compiling wayland-cursor v0.29.5
[INFO] [stderr]    Compiling gb_simulator v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Memory`
[INFO] [stdout]  --> src/cpu/mod.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::mmu::{Memory, RefMemory};
[INFO] [stdout]   |                  ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::cpu::CPU`
[INFO] [stdout]  --> src/cpu/lr35902/opcode/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::cpu::CPU;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/cpu/lr35902/opcode/cbprefixed_opcode.rs:156:31
[INFO] [stdout]     |
[INFO] [stdout] 156 |                 let n = match (opcode) {
[INFO] [stdout]     |                               ^      ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 156 -                 let n = match (opcode) {
[INFO] [stdout] 156 +                 let n = match opcode {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/cpu/lr35902/opcode/cbprefixed_opcode.rs:181:31
[INFO] [stdout]     |
[INFO] [stdout] 181 |                 let n = match (opcode) {
[INFO] [stdout]     |                               ^      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 181 -                 let n = match (opcode) {
[INFO] [stdout] 181 +                 let n = match opcode {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/cpu/lr35902/opcode/cbprefixed_opcode.rs:208:31
[INFO] [stdout]     |
[INFO] [stdout] 208 |                 let n = match (opcode) {
[INFO] [stdout]     |                               ^      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 208 -                 let n = match (opcode) {
[INFO] [stdout] 208 +                 let n = match opcode {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/cpu/lr35902/opcode/cbprefixed_opcode.rs:238:15
[INFO] [stdout]     |
[INFO] [stdout] 238 |         match (opcode & 0x0F) {
[INFO] [stdout]     |               ^             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 238 -         match (opcode & 0x0F) {
[INFO] [stdout] 238 +         match opcode & 0x0F {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/cpu/lr35902/opcode/cbprefixed_opcode.rs:280:19
[INFO] [stdout]     |
[INFO] [stdout] 280 |         let res = (val >> 1);
[INFO] [stdout]     |                   ^        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 280 -         let res = (val >> 1);
[INFO] [stdout] 280 +         let res = val >> 1;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RefCell`
[INFO] [stdout]  --> src/mother_board.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::{Ref, RefCell};
[INFO] [stdout]   |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Memory`
[INFO] [stdout]  --> src/mother_board.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::mmu::{Memory, MMU, RefMemory};
[INFO] [stdout]   |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/mmu.rs:98:32
[INFO] [stdout]    |
[INFO] [stdout] 98 |               0xFF01 => todo!(), /// SB Serial transfer data R/W All
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 99 | /             0xFF02 => todo!(), /// SC Serial transfer control R/W Mixed
[INFO] [stdout] 100| |             0xFF04 => todo!(), /// DIV Divider register R/W All
[INFO] [stdout] 101| |             0xFF05 => todo!(), /// TIMA Timer counter R/W All
[INFO] [stdout] 102| |             0xFF06 => todo!(), /// TMA Timer modulo R/W All
[INFO] [stdout] ...  |
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/mmu.rs:99:32
[INFO] [stdout]    |
[INFO] [stdout] 99 |               0xFF02 => todo!(), /// SC Serial transfer control R/W Mixed
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 100| /             0xFF04 => todo!(), /// DIV Divider register R/W All
[INFO] [stdout] 101| |             0xFF05 => todo!(), /// TIMA Timer counter R/W All
[INFO] [stdout] 102| |             0xFF06 => todo!(), /// TMA Timer modulo R/W All
[INFO] [stdout] 103| |             0xFF07 => todo!(), /// TAC Timer control R/W All
[INFO] [stdout] ...  |
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:100:32
[INFO] [stdout]     |
[INFO] [stdout] 100 |               0xFF04 => todo!(), /// DIV Divider register R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 101 | /             0xFF05 => todo!(), /// TIMA Timer counter R/W All
[INFO] [stdout] 102 | |             0xFF06 => todo!(), /// TMA Timer modulo R/W All
[INFO] [stdout] 103 | |             0xFF07 => todo!(), /// TAC Timer control R/W All
[INFO] [stdout] 104 | |             0xFF0F => self.interrupt.borrow().get(addr),
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:101:32
[INFO] [stdout]     |
[INFO] [stdout] 101 |               0xFF05 => todo!(), /// TIMA Timer counter R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 102 | /             0xFF06 => todo!(), /// TMA Timer modulo R/W All
[INFO] [stdout] 103 | |             0xFF07 => todo!(), /// TAC Timer control R/W All
[INFO] [stdout] 104 | |             0xFF0F => self.interrupt.borrow().get(addr),
[INFO] [stdout] 105 | |             0xFF10 => todo!(), /// NR10 Sound channel 1 sweep R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:102:32
[INFO] [stdout]     |
[INFO] [stdout] 102 |               0xFF06 => todo!(), /// TMA Timer modulo R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 103 | /             0xFF07 => todo!(), /// TAC Timer control R/W All
[INFO] [stdout] 104 | |             0xFF0F => self.interrupt.borrow().get(addr),
[INFO] [stdout] 105 | |             0xFF10 => todo!(), /// NR10 Sound channel 1 sweep R/W All
[INFO] [stdout] 106 | |             0xFF11 => todo!(), /// NR11 Sound channel 1 length timer & duty cycle Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:103:32
[INFO] [stdout]     |
[INFO] [stdout] 103 |             0xFF07 => todo!(), /// TAC Timer control R/W All
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 104 |             0xFF0F => self.interrupt.borrow().get(addr),
[INFO] [stdout]     |             ------------------------------------------- rustdoc does not generate documentation for match arms
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:105:32
[INFO] [stdout]     |
[INFO] [stdout] 105 |               0xFF10 => todo!(), /// NR10 Sound channel 1 sweep R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 106 | /             0xFF11 => todo!(), /// NR11 Sound channel 1 length timer & duty cycle Mixed All
[INFO] [stdout] 107 | |             0xFF12 => todo!(), /// NR12 Sound channel 1 volume & envelope R/W All
[INFO] [stdout] 108 | |             0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All
[INFO] [stdout] 109 | |             0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:106:32
[INFO] [stdout]     |
[INFO] [stdout] 106 |               0xFF11 => todo!(), /// NR11 Sound channel 1 length timer & duty cycle Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 107 | /             0xFF12 => todo!(), /// NR12 Sound channel 1 volume & envelope R/W All
[INFO] [stdout] 108 | |             0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All
[INFO] [stdout] 109 | |             0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All
[INFO] [stdout] 110 | |             0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:107:32
[INFO] [stdout]     |
[INFO] [stdout] 107 |               0xFF12 => todo!(), /// NR12 Sound channel 1 volume & envelope R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 108 | /             0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All
[INFO] [stdout] 109 | |             0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All
[INFO] [stdout] 110 | |             0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All
[INFO] [stdout] 111 | |             0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:108:32
[INFO] [stdout]     |
[INFO] [stdout] 108 |               0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 109 | /             0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All
[INFO] [stdout] 110 | |             0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All
[INFO] [stdout] 111 | |             0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All
[INFO] [stdout] 112 | |             0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:109:32
[INFO] [stdout]     |
[INFO] [stdout] 109 |               0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 110 | /             0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All
[INFO] [stdout] 111 | |             0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All
[INFO] [stdout] 112 | |             0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All
[INFO] [stdout] 113 | |             0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:110:32
[INFO] [stdout]     |
[INFO] [stdout] 110 |               0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 111 | /             0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All
[INFO] [stdout] 112 | |             0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All
[INFO] [stdout] 113 | |             0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All
[INFO] [stdout] 114 | |             0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:111:32
[INFO] [stdout]     |
[INFO] [stdout] 111 |               0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 112 | /             0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All
[INFO] [stdout] 113 | |             0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All
[INFO] [stdout] 114 | |             0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All
[INFO] [stdout] 115 | |             0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:112:32
[INFO] [stdout]     |
[INFO] [stdout] 112 |               0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 113 | /             0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All
[INFO] [stdout] 114 | |             0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All
[INFO] [stdout] 115 | |             0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All
[INFO] [stdout] 116 | |             0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:113:32
[INFO] [stdout]     |
[INFO] [stdout] 113 |               0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 114 | /             0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All
[INFO] [stdout] 115 | |             0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All
[INFO] [stdout] 116 | |             0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All
[INFO] [stdout] 117 | |             0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:114:32
[INFO] [stdout]     |
[INFO] [stdout] 114 |               0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 115 | /             0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All
[INFO] [stdout] 116 | |             0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All
[INFO] [stdout] 117 | |             0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All
[INFO] [stdout] 118 | |             0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:115:32
[INFO] [stdout]     |
[INFO] [stdout] 115 |               0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 116 | /             0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All
[INFO] [stdout] 117 | |             0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All
[INFO] [stdout] 118 | |             0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All
[INFO] [stdout] 119 | |             0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:116:32
[INFO] [stdout]     |
[INFO] [stdout] 116 |               0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 117 | /             0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All
[INFO] [stdout] 118 | |             0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All
[INFO] [stdout] 119 | |             0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All
[INFO] [stdout] 120 | |             0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:117:32
[INFO] [stdout]     |
[INFO] [stdout] 117 |               0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 118 | /             0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All
[INFO] [stdout] 119 | |             0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All
[INFO] [stdout] 120 | |             0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All
[INFO] [stdout] 121 | |             0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:118:32
[INFO] [stdout]     |
[INFO] [stdout] 118 |               0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 119 | /             0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All
[INFO] [stdout] 120 | |             0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All
[INFO] [stdout] 121 | |             0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All
[INFO] [stdout] 122 | |             0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:119:32
[INFO] [stdout]     |
[INFO] [stdout] 119 |               0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 120 | /             0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All
[INFO] [stdout] 121 | |             0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All
[INFO] [stdout] 122 | |             0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All
[INFO] [stdout] 123 | |             0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:120:32
[INFO] [stdout]     |
[INFO] [stdout] 120 |               0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 121 | /             0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All
[INFO] [stdout] 122 | |             0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All
[INFO] [stdout] 123 | |             0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All
[INFO] [stdout] 124 | |             0xFF25 => todo!(), /// NR51 Sound panning R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:121:32
[INFO] [stdout]     |
[INFO] [stdout] 121 |               0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | /             0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All
[INFO] [stdout] 123 | |             0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All
[INFO] [stdout] 124 | |             0xFF25 => todo!(), /// NR51 Sound panning R/W All
[INFO] [stdout] 125 | |             0xFF26 => todo!(), /// NR52 Sound on/off Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:122:32
[INFO] [stdout]     |
[INFO] [stdout] 122 |               0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 123 | /             0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All
[INFO] [stdout] 124 | |             0xFF25 => todo!(), /// NR51 Sound panning R/W All
[INFO] [stdout] 125 | |             0xFF26 => todo!(), /// NR52 Sound on/off Mixed All
[INFO] [stdout] 126 | |             0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:123:32
[INFO] [stdout]     |
[INFO] [stdout] 123 |               0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 124 | /             0xFF25 => todo!(), /// NR51 Sound panning R/W All
[INFO] [stdout] 125 | |             0xFF26 => todo!(), /// NR52 Sound on/off Mixed All
[INFO] [stdout] 126 | |             0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All
[INFO] [stdout] 127 | |             0xFF40 => todo!(), /// LCDC LCD control R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:124:32
[INFO] [stdout]     |
[INFO] [stdout] 124 |               0xFF25 => todo!(), /// NR51 Sound panning R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 125 | /             0xFF26 => todo!(), /// NR52 Sound on/off Mixed All
[INFO] [stdout] 126 | |             0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All
[INFO] [stdout] 127 | |             0xFF40 => todo!(), /// LCDC LCD control R/W All
[INFO] [stdout] 128 | |             0xFF41 => todo!(), /// STAT LCD status Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:125:32
[INFO] [stdout]     |
[INFO] [stdout] 125 |               0xFF26 => todo!(), /// NR52 Sound on/off Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 126 | /             0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All
[INFO] [stdout] 127 | |             0xFF40 => todo!(), /// LCDC LCD control R/W All
[INFO] [stdout] 128 | |             0xFF41 => todo!(), /// STAT LCD status Mixed All
[INFO] [stdout] 129 | |             0xFF42 => todo!(), /// SCY Viewport Y position R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:126:41
[INFO] [stdout]     |
[INFO] [stdout] 126 |               0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 127 | /             0xFF40 => todo!(), /// LCDC LCD control R/W All
[INFO] [stdout] 128 | |             0xFF41 => todo!(), /// STAT LCD status Mixed All
[INFO] [stdout] 129 | |             0xFF42 => todo!(), /// SCY Viewport Y position R/W All
[INFO] [stdout] 130 | |             0xFF43 => todo!(), /// SCX Viewport X position R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:127:32
[INFO] [stdout]     |
[INFO] [stdout] 127 |               0xFF40 => todo!(), /// LCDC LCD control R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 128 | /             0xFF41 => todo!(), /// STAT LCD status Mixed All
[INFO] [stdout] 129 | |             0xFF42 => todo!(), /// SCY Viewport Y position R/W All
[INFO] [stdout] 130 | |             0xFF43 => todo!(), /// SCX Viewport X position R/W All
[INFO] [stdout] 131 | |             0xFF44 => todo!(), /// LY LCD Y coordinate R All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:128:32
[INFO] [stdout]     |
[INFO] [stdout] 128 |               0xFF41 => todo!(), /// STAT LCD status Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 129 | /             0xFF42 => todo!(), /// SCY Viewport Y position R/W All
[INFO] [stdout] 130 | |             0xFF43 => todo!(), /// SCX Viewport X position R/W All
[INFO] [stdout] 131 | |             0xFF44 => todo!(), /// LY LCD Y coordinate R All
[INFO] [stdout] 132 | |             0xFF45 => todo!(), /// LYC LY compare R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:129:32
[INFO] [stdout]     |
[INFO] [stdout] 129 |               0xFF42 => todo!(), /// SCY Viewport Y position R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 130 | /             0xFF43 => todo!(), /// SCX Viewport X position R/W All
[INFO] [stdout] 131 | |             0xFF44 => todo!(), /// LY LCD Y coordinate R All
[INFO] [stdout] 132 | |             0xFF45 => todo!(), /// LYC LY compare R/W All
[INFO] [stdout] 133 | |             0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:130:32
[INFO] [stdout]     |
[INFO] [stdout] 130 |               0xFF43 => todo!(), /// SCX Viewport X position R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 131 | /             0xFF44 => todo!(), /// LY LCD Y coordinate R All
[INFO] [stdout] 132 | |             0xFF45 => todo!(), /// LYC LY compare R/W All
[INFO] [stdout] 133 | |             0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All
[INFO] [stdout] 134 | |             0xFF47 => todo!(), /// BGP BG palette data R/W DMG
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:131:32
[INFO] [stdout]     |
[INFO] [stdout] 131 |               0xFF44 => todo!(), /// LY LCD Y coordinate R All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 132 | /             0xFF45 => todo!(), /// LYC LY compare R/W All
[INFO] [stdout] 133 | |             0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All
[INFO] [stdout] 134 | |             0xFF47 => todo!(), /// BGP BG palette data R/W DMG
[INFO] [stdout] 135 | |             0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:132:32
[INFO] [stdout]     |
[INFO] [stdout] 132 |               0xFF45 => todo!(), /// LYC LY compare R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 133 | /             0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All
[INFO] [stdout] 134 | |             0xFF47 => todo!(), /// BGP BG palette data R/W DMG
[INFO] [stdout] 135 | |             0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG
[INFO] [stdout] 136 | |             0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:133:32
[INFO] [stdout]     |
[INFO] [stdout] 133 |               0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 134 | /             0xFF47 => todo!(), /// BGP BG palette data R/W DMG
[INFO] [stdout] 135 | |             0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG
[INFO] [stdout] 136 | |             0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG
[INFO] [stdout] 137 | |             0xFF4A => todo!(), /// WY Window Y position R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:134:32
[INFO] [stdout]     |
[INFO] [stdout] 134 |               0xFF47 => todo!(), /// BGP BG palette data R/W DMG
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 135 | /             0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG
[INFO] [stdout] 136 | |             0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG
[INFO] [stdout] 137 | |             0xFF4A => todo!(), /// WY Window Y position R/W All
[INFO] [stdout] 138 | |             0xFF4B => todo!(), /// WX Window X position plus 7 R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:135:32
[INFO] [stdout]     |
[INFO] [stdout] 135 |               0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 136 | /             0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG
[INFO] [stdout] 137 | |             0xFF4A => todo!(), /// WY Window Y position R/W All
[INFO] [stdout] 138 | |             0xFF4B => todo!(), /// WX Window X position plus 7 R/W All
[INFO] [stdout] 139 | |             0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:136:32
[INFO] [stdout]     |
[INFO] [stdout] 136 |               0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 137 | /             0xFF4A => todo!(), /// WY Window Y position R/W All
[INFO] [stdout] 138 | |             0xFF4B => todo!(), /// WX Window X position plus 7 R/W All
[INFO] [stdout] 139 | |             0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB
[INFO] [stdout] 140 | |             0xFF4F => self.video.get(addr), /// VBK VRAM bank R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:137:32
[INFO] [stdout]     |
[INFO] [stdout] 137 |               0xFF4A => todo!(), /// WY Window Y position R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 138 | /             0xFF4B => todo!(), /// WX Window X position plus 7 R/W All
[INFO] [stdout] 139 | |             0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB
[INFO] [stdout] 140 | |             0xFF4F => self.video.get(addr), /// VBK VRAM bank R/W CGB
[INFO] [stdout] 141 | |             0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:138:32
[INFO] [stdout]     |
[INFO] [stdout] 138 |               0xFF4B => todo!(), /// WX Window X position plus 7 R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 139 | /             0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB
[INFO] [stdout] 140 | |             0xFF4F => self.video.get(addr), /// VBK VRAM bank R/W CGB
[INFO] [stdout] 141 | |             0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB
[INFO] [stdout] 142 | |             0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:139:32
[INFO] [stdout]     |
[INFO] [stdout] 139 |             0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 140 |             0xFF4F => self.video.get(addr), /// VBK VRAM bank R/W CGB
[INFO] [stdout]     |             ------------------------------ rustdoc does not generate documentation for match arms
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:140:45
[INFO] [stdout]     |
[INFO] [stdout] 140 |               0xFF4F => self.video.get(addr), /// VBK VRAM bank R/W CGB
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 141 | /             0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB
[INFO] [stdout] 142 | |             0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB
[INFO] [stdout] 143 | |             0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB
[INFO] [stdout] 144 | |             0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:141:32
[INFO] [stdout]     |
[INFO] [stdout] 141 |               0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 142 | /             0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB
[INFO] [stdout] 143 | |             0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB
[INFO] [stdout] 144 | |             0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB
[INFO] [stdout] 145 | |             0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:142:32
[INFO] [stdout]     |
[INFO] [stdout] 142 |               0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 143 | /             0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB
[INFO] [stdout] 144 | |             0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB
[INFO] [stdout] 145 | |             0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB
[INFO] [stdout] 146 | |             0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:143:32
[INFO] [stdout]     |
[INFO] [stdout] 143 |               0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 144 | /             0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB
[INFO] [stdout] 145 | |             0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB
[INFO] [stdout] 146 | |             0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB
[INFO] [stdout] 147 | |             0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:144:32
[INFO] [stdout]     |
[INFO] [stdout] 144 |               0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 145 | /             0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB
[INFO] [stdout] 146 | |             0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB
[INFO] [stdout] 147 | |             0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB
[INFO] [stdout] 148 | |             0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:145:32
[INFO] [stdout]     |
[INFO] [stdout] 145 |               0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 146 | /             0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB
[INFO] [stdout] 147 | |             0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB
[INFO] [stdout] 148 | |             0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB
[INFO] [stdout] 149 | |             0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:146:32
[INFO] [stdout]     |
[INFO] [stdout] 146 |               0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 147 | /             0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB
[INFO] [stdout] 148 | |             0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB
[INFO] [stdout] 149 | |             0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB
[INFO] [stdout] 150 | |             0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:147:32
[INFO] [stdout]     |
[INFO] [stdout] 147 |               0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 148 | /             0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB
[INFO] [stdout] 149 | |             0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB
[INFO] [stdout] 150 | |             0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB
[INFO] [stdout] 151 | |             0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:148:32
[INFO] [stdout]     |
[INFO] [stdout] 148 |               0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 149 | /             0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB
[INFO] [stdout] 150 | |             0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB
[INFO] [stdout] 151 | |             0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB
[INFO] [stdout] 152 | |             0xFF70 => self.work_ram.get(addr), /// SVBK WRAM bank R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:149:32
[INFO] [stdout]     |
[INFO] [stdout] 149 |               0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 150 | /             0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB
[INFO] [stdout] 151 | |             0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB
[INFO] [stdout] 152 | |             0xFF70 => self.work_ram.get(addr), /// SVBK WRAM bank R/W CGB
[INFO] [stdout] 153 | |             0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:150:32
[INFO] [stdout]     |
[INFO] [stdout] 150 |               0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 151 | /             0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB
[INFO] [stdout] 152 | |             0xFF70 => self.work_ram.get(addr), /// SVBK WRAM bank R/W CGB
[INFO] [stdout] 153 | |             0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB
[INFO] [stdout] 154 | |             0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:151:32
[INFO] [stdout]     |
[INFO] [stdout] 151 |             0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 152 |             0xFF70 => self.work_ram.get(addr), /// SVBK WRAM bank R/W CGB
[INFO] [stdout]     |             --------------------------------- rustdoc does not generate documentation for match arms
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:152:48
[INFO] [stdout]     |
[INFO] [stdout] 152 |               0xFF70 => self.work_ram.get(addr), /// SVBK WRAM bank R/W CGB
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 153 | /             0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB
[INFO] [stdout] 154 | |             0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB
[INFO] [stdout] 155 | |             0xFF80..=0xFFFE => self.work_ram.get(addr),
[INFO] [stdout] 156 | |             0xFFFF => self.interrupt.borrow().get(addr),
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:153:32
[INFO] [stdout]     |
[INFO] [stdout] 153 |               0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 154 | /             0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB
[INFO] [stdout] 155 | |             0xFF80..=0xFFFE => self.work_ram.get(addr),
[INFO] [stdout] 156 | |             0xFFFF => self.interrupt.borrow().get(addr),
[INFO] [stdout] 157 | |             addr => panic!("MMU access denied, addr: 0x{:04X}", addr),
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:154:32
[INFO] [stdout]     |
[INFO] [stdout] 154 |             0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 155 |             0xFF80..=0xFFFE => self.work_ram.get(addr),
[INFO] [stdout]     |             ------------------------------------------ rustdoc does not generate documentation for match arms
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:171:32
[INFO] [stdout]     |
[INFO] [stdout] 171 |               0xFF01 => todo!(), /// SB Serial transfer data R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 172 | /             0xFF02 => todo!(), /// SC Serial transfer control R/W Mixed
[INFO] [stdout] 173 | |             0xFF04 => todo!(), /// DIV Divider register R/W All
[INFO] [stdout] 174 | |             0xFF05 => todo!(), /// TIMA Timer counter R/W All
[INFO] [stdout] 175 | |             0xFF06 => todo!(), /// TMA Timer modulo R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:172:32
[INFO] [stdout]     |
[INFO] [stdout] 172 |               0xFF02 => todo!(), /// SC Serial transfer control R/W Mixed
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 173 | /             0xFF04 => todo!(), /// DIV Divider register R/W All
[INFO] [stdout] 174 | |             0xFF05 => todo!(), /// TIMA Timer counter R/W All
[INFO] [stdout] 175 | |             0xFF06 => todo!(), /// TMA Timer modulo R/W All
[INFO] [stdout] 176 | |             0xFF07 => todo!(), /// TAC Timer control R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:173:32
[INFO] [stdout]     |
[INFO] [stdout] 173 |               0xFF04 => todo!(), /// DIV Divider register R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 174 | /             0xFF05 => todo!(), /// TIMA Timer counter R/W All
[INFO] [stdout] 175 | |             0xFF06 => todo!(), /// TMA Timer modulo R/W All
[INFO] [stdout] 176 | |             0xFF07 => todo!(), /// TAC Timer control R/W All
[INFO] [stdout] 177 | |             0xFF0F => self.interrupt.borrow_mut().set(addr, v),
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:174:32
[INFO] [stdout]     |
[INFO] [stdout] 174 |               0xFF05 => todo!(), /// TIMA Timer counter R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 175 | /             0xFF06 => todo!(), /// TMA Timer modulo R/W All
[INFO] [stdout] 176 | |             0xFF07 => todo!(), /// TAC Timer control R/W All
[INFO] [stdout] 177 | |             0xFF0F => self.interrupt.borrow_mut().set(addr, v),
[INFO] [stdout] 178 | |             0xFF10 => todo!(), /// NR10 Sound channel 1 sweep R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:175:32
[INFO] [stdout]     |
[INFO] [stdout] 175 |               0xFF06 => todo!(), /// TMA Timer modulo R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 176 | /             0xFF07 => todo!(), /// TAC Timer control R/W All
[INFO] [stdout] 177 | |             0xFF0F => self.interrupt.borrow_mut().set(addr, v),
[INFO] [stdout] 178 | |             0xFF10 => todo!(), /// NR10 Sound channel 1 sweep R/W All
[INFO] [stdout] 179 | |             0xFF11 => todo!(), /// NR11 Sound channel 1 length timer & duty cycle Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:176:32
[INFO] [stdout]     |
[INFO] [stdout] 176 |             0xFF07 => todo!(), /// TAC Timer control R/W All
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 177 |             0xFF0F => self.interrupt.borrow_mut().set(addr, v),
[INFO] [stdout]     |             -------------------------------------------------- rustdoc does not generate documentation for match arms
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:178:32
[INFO] [stdout]     |
[INFO] [stdout] 178 |               0xFF10 => todo!(), /// NR10 Sound channel 1 sweep R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 179 | /             0xFF11 => todo!(), /// NR11 Sound channel 1 length timer & duty cycle Mixed All
[INFO] [stdout] 180 | |             0xFF12 => todo!(), /// NR12 Sound channel 1 volume & envelope R/W All
[INFO] [stdout] 181 | |             0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All
[INFO] [stdout] 182 | |             0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:179:32
[INFO] [stdout]     |
[INFO] [stdout] 179 |               0xFF11 => todo!(), /// NR11 Sound channel 1 length timer & duty cycle Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 180 | /             0xFF12 => todo!(), /// NR12 Sound channel 1 volume & envelope R/W All
[INFO] [stdout] 181 | |             0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All
[INFO] [stdout] 182 | |             0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All
[INFO] [stdout] 183 | |             0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:180:32
[INFO] [stdout]     |
[INFO] [stdout] 180 |               0xFF12 => todo!(), /// NR12 Sound channel 1 volume & envelope R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 181 | /             0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All
[INFO] [stdout] 182 | |             0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All
[INFO] [stdout] 183 | |             0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All
[INFO] [stdout] 184 | |             0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:181:32
[INFO] [stdout]     |
[INFO] [stdout] 181 |               0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 182 | /             0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All
[INFO] [stdout] 183 | |             0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All
[INFO] [stdout] 184 | |             0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All
[INFO] [stdout] 185 | |             0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:182:32
[INFO] [stdout]     |
[INFO] [stdout] 182 |               0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 183 | /             0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All
[INFO] [stdout] 184 | |             0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All
[INFO] [stdout] 185 | |             0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All
[INFO] [stdout] 186 | |             0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:183:32
[INFO] [stdout]     |
[INFO] [stdout] 183 |               0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 184 | /             0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All
[INFO] [stdout] 185 | |             0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All
[INFO] [stdout] 186 | |             0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All
[INFO] [stdout] 187 | |             0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:184:32
[INFO] [stdout]     |
[INFO] [stdout] 184 |               0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 185 | /             0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All
[INFO] [stdout] 186 | |             0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All
[INFO] [stdout] 187 | |             0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All
[INFO] [stdout] 188 | |             0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:185:32
[INFO] [stdout]     |
[INFO] [stdout] 185 |               0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 186 | /             0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All
[INFO] [stdout] 187 | |             0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All
[INFO] [stdout] 188 | |             0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All
[INFO] [stdout] 189 | |             0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:186:32
[INFO] [stdout]     |
[INFO] [stdout] 186 |               0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 187 | /             0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All
[INFO] [stdout] 188 | |             0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All
[INFO] [stdout] 189 | |             0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All
[INFO] [stdout] 190 | |             0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:187:32
[INFO] [stdout]     |
[INFO] [stdout] 187 |               0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 188 | /             0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All
[INFO] [stdout] 189 | |             0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All
[INFO] [stdout] 190 | |             0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All
[INFO] [stdout] 191 | |             0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:188:32
[INFO] [stdout]     |
[INFO] [stdout] 188 |               0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 189 | /             0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All
[INFO] [stdout] 190 | |             0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All
[INFO] [stdout] 191 | |             0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All
[INFO] [stdout] 192 | |             0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:189:32
[INFO] [stdout]     |
[INFO] [stdout] 189 |               0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 190 | /             0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All
[INFO] [stdout] 191 | |             0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All
[INFO] [stdout] 192 | |             0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All
[INFO] [stdout] 193 | |             0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:190:32
[INFO] [stdout]     |
[INFO] [stdout] 190 |               0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 191 | /             0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All
[INFO] [stdout] 192 | |             0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All
[INFO] [stdout] 193 | |             0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All
[INFO] [stdout] 194 | |             0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:191:32
[INFO] [stdout]     |
[INFO] [stdout] 191 |               0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 192 | /             0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All
[INFO] [stdout] 193 | |             0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All
[INFO] [stdout] 194 | |             0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All
[INFO] [stdout] 195 | |             0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:192:32
[INFO] [stdout]     |
[INFO] [stdout] 192 |               0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 193 | /             0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All
[INFO] [stdout] 194 | |             0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All
[INFO] [stdout] 195 | |             0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All
[INFO] [stdout] 196 | |             0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:193:32
[INFO] [stdout]     |
[INFO] [stdout] 193 |               0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 194 | /             0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All
[INFO] [stdout] 195 | |             0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All
[INFO] [stdout] 196 | |             0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All
[INFO] [stdout] 197 | |             0xFF25 => todo!(), /// NR51 Sound panning R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:194:32
[INFO] [stdout]     |
[INFO] [stdout] 194 |               0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 195 | /             0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All
[INFO] [stdout] 196 | |             0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All
[INFO] [stdout] 197 | |             0xFF25 => todo!(), /// NR51 Sound panning R/W All
[INFO] [stdout] 198 | |             0xFF26 => todo!(), /// NR52 Sound on/off Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:195:32
[INFO] [stdout]     |
[INFO] [stdout] 195 |               0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 196 | /             0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All
[INFO] [stdout] 197 | |             0xFF25 => todo!(), /// NR51 Sound panning R/W All
[INFO] [stdout] 198 | |             0xFF26 => todo!(), /// NR52 Sound on/off Mixed All
[INFO] [stdout] 199 | |             0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:196:32
[INFO] [stdout]     |
[INFO] [stdout] 196 |               0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 197 | /             0xFF25 => todo!(), /// NR51 Sound panning R/W All
[INFO] [stdout] 198 | |             0xFF26 => todo!(), /// NR52 Sound on/off Mixed All
[INFO] [stdout] 199 | |             0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All
[INFO] [stdout] 200 | |             0xFF40 => todo!(), /// LCDC LCD control R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:197:32
[INFO] [stdout]     |
[INFO] [stdout] 197 |               0xFF25 => todo!(), /// NR51 Sound panning R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 198 | /             0xFF26 => todo!(), /// NR52 Sound on/off Mixed All
[INFO] [stdout] 199 | |             0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All
[INFO] [stdout] 200 | |             0xFF40 => todo!(), /// LCDC LCD control R/W All
[INFO] [stdout] 201 | |             0xFF41 => todo!(), /// STAT LCD status Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:198:32
[INFO] [stdout]     |
[INFO] [stdout] 198 |               0xFF26 => todo!(), /// NR52 Sound on/off Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 199 | /             0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All
[INFO] [stdout] 200 | |             0xFF40 => todo!(), /// LCDC LCD control R/W All
[INFO] [stdout] 201 | |             0xFF41 => todo!(), /// STAT LCD status Mixed All
[INFO] [stdout] 202 | |             0xFF42 => todo!(), /// SCY Viewport Y position R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:199:41
[INFO] [stdout]     |
[INFO] [stdout] 199 |               0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 200 | /             0xFF40 => todo!(), /// LCDC LCD control R/W All
[INFO] [stdout] 201 | |             0xFF41 => todo!(), /// STAT LCD status Mixed All
[INFO] [stdout] 202 | |             0xFF42 => todo!(), /// SCY Viewport Y position R/W All
[INFO] [stdout] 203 | |             0xFF43 => todo!(), /// SCX Viewport X position R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:200:32
[INFO] [stdout]     |
[INFO] [stdout] 200 |               0xFF40 => todo!(), /// LCDC LCD control R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 201 | /             0xFF41 => todo!(), /// STAT LCD status Mixed All
[INFO] [stdout] 202 | |             0xFF42 => todo!(), /// SCY Viewport Y position R/W All
[INFO] [stdout] 203 | |             0xFF43 => todo!(), /// SCX Viewport X position R/W All
[INFO] [stdout] 204 | |             0xFF44 => todo!(), /// LY LCD Y coordinate R All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:201:32
[INFO] [stdout]     |
[INFO] [stdout] 201 |               0xFF41 => todo!(), /// STAT LCD status Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 202 | /             0xFF42 => todo!(), /// SCY Viewport Y position R/W All
[INFO] [stdout] 203 | |             0xFF43 => todo!(), /// SCX Viewport X position R/W All
[INFO] [stdout] 204 | |             0xFF44 => todo!(), /// LY LCD Y coordinate R All
[INFO] [stdout] 205 | |             0xFF45 => todo!(), /// LYC LY compare R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:202:32
[INFO] [stdout]     |
[INFO] [stdout] 202 |               0xFF42 => todo!(), /// SCY Viewport Y position R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 203 | /             0xFF43 => todo!(), /// SCX Viewport X position R/W All
[INFO] [stdout] 204 | |             0xFF44 => todo!(), /// LY LCD Y coordinate R All
[INFO] [stdout] 205 | |             0xFF45 => todo!(), /// LYC LY compare R/W All
[INFO] [stdout] 206 | |             0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:203:32
[INFO] [stdout]     |
[INFO] [stdout] 203 |               0xFF43 => todo!(), /// SCX Viewport X position R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 204 | /             0xFF44 => todo!(), /// LY LCD Y coordinate R All
[INFO] [stdout] 205 | |             0xFF45 => todo!(), /// LYC LY compare R/W All
[INFO] [stdout] 206 | |             0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All
[INFO] [stdout] 207 | |             0xFF47 => todo!(), /// BGP BG palette data R/W DMG
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:204:32
[INFO] [stdout]     |
[INFO] [stdout] 204 |               0xFF44 => todo!(), /// LY LCD Y coordinate R All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 205 | /             0xFF45 => todo!(), /// LYC LY compare R/W All
[INFO] [stdout] 206 | |             0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All
[INFO] [stdout] 207 | |             0xFF47 => todo!(), /// BGP BG palette data R/W DMG
[INFO] [stdout] 208 | |             0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:205:32
[INFO] [stdout]     |
[INFO] [stdout] 205 |               0xFF45 => todo!(), /// LYC LY compare R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 206 | /             0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All
[INFO] [stdout] 207 | |             0xFF47 => todo!(), /// BGP BG palette data R/W DMG
[INFO] [stdout] 208 | |             0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG
[INFO] [stdout] 209 | |             0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:206:32
[INFO] [stdout]     |
[INFO] [stdout] 206 |               0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 207 | /             0xFF47 => todo!(), /// BGP BG palette data R/W DMG
[INFO] [stdout] 208 | |             0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG
[INFO] [stdout] 209 | |             0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG
[INFO] [stdout] 210 | |             0xFF4A => todo!(), /// WY Window Y position R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:207:32
[INFO] [stdout]     |
[INFO] [stdout] 207 |               0xFF47 => todo!(), /// BGP BG palette data R/W DMG
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 208 | /             0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG
[INFO] [stdout] 209 | |             0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG
[INFO] [stdout] 210 | |             0xFF4A => todo!(), /// WY Window Y position R/W All
[INFO] [stdout] 211 | |             0xFF4B => todo!(), /// WX Window X position plus 7 R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:208:32
[INFO] [stdout]     |
[INFO] [stdout] 208 |               0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 209 | /             0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG
[INFO] [stdout] 210 | |             0xFF4A => todo!(), /// WY Window Y position R/W All
[INFO] [stdout] 211 | |             0xFF4B => todo!(), /// WX Window X position plus 7 R/W All
[INFO] [stdout] 212 | |             0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:209:32
[INFO] [stdout]     |
[INFO] [stdout] 209 |               0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 210 | /             0xFF4A => todo!(), /// WY Window Y position R/W All
[INFO] [stdout] 211 | |             0xFF4B => todo!(), /// WX Window X position plus 7 R/W All
[INFO] [stdout] 212 | |             0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB
[INFO] [stdout] 213 | |             0xFF4F => self.video.set(addr, v), /// VBK VRAM bank R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:210:32
[INFO] [stdout]     |
[INFO] [stdout] 210 |               0xFF4A => todo!(), /// WY Window Y position R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 211 | /             0xFF4B => todo!(), /// WX Window X position plus 7 R/W All
[INFO] [stdout] 212 | |             0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB
[INFO] [stdout] 213 | |             0xFF4F => self.video.set(addr, v), /// VBK VRAM bank R/W CGB
[INFO] [stdout] 214 | |             0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:211:32
[INFO] [stdout]     |
[INFO] [stdout] 211 |               0xFF4B => todo!(), /// WX Window X position plus 7 R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 212 | /             0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB
[INFO] [stdout] 213 | |             0xFF4F => self.video.set(addr, v), /// VBK VRAM bank R/W CGB
[INFO] [stdout] 214 | |             0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB
[INFO] [stdout] 215 | |             0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:212:32
[INFO] [stdout]     |
[INFO] [stdout] 212 |             0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 213 |             0xFF4F => self.video.set(addr, v), /// VBK VRAM bank R/W CGB
[INFO] [stdout]     |             --------------------------------- rustdoc does not generate documentation for match arms
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:213:48
[INFO] [stdout]     |
[INFO] [stdout] 213 |               0xFF4F => self.video.set(addr, v), /// VBK VRAM bank R/W CGB
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 214 | /             0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB
[INFO] [stdout] 215 | |             0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB
[INFO] [stdout] 216 | |             0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB
[INFO] [stdout] 217 | |             0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:214:32
[INFO] [stdout]     |
[INFO] [stdout] 214 |               0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 215 | /             0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB
[INFO] [stdout] 216 | |             0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB
[INFO] [stdout] 217 | |             0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB
[INFO] [stdout] 218 | |             0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:215:32
[INFO] [stdout]     |
[INFO] [stdout] 215 |               0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 216 | /             0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB
[INFO] [stdout] 217 | |             0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB
[INFO] [stdout] 218 | |             0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB
[INFO] [stdout] 219 | |             0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:216:32
[INFO] [stdout]     |
[INFO] [stdout] 216 |               0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 217 | /             0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB
[INFO] [stdout] 218 | |             0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB
[INFO] [stdout] 219 | |             0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB
[INFO] [stdout] 220 | |             0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:217:32
[INFO] [stdout]     |
[INFO] [stdout] 217 |               0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 218 | /             0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB
[INFO] [stdout] 219 | |             0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB
[INFO] [stdout] 220 | |             0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB
[INFO] [stdout] 221 | |             0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:218:32
[INFO] [stdout]     |
[INFO] [stdout] 218 |               0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 219 | /             0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB
[INFO] [stdout] 220 | |             0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB
[INFO] [stdout] 221 | |             0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB
[INFO] [stdout] 222 | |             0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:219:32
[INFO] [stdout]     |
[INFO] [stdout] 219 |               0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 220 | /             0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB
[INFO] [stdout] 221 | |             0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB
[INFO] [stdout] 222 | |             0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB
[INFO] [stdout] 223 | |             0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:220:32
[INFO] [stdout]     |
[INFO] [stdout] 220 |               0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 221 | /             0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB
[INFO] [stdout] 222 | |             0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB
[INFO] [stdout] 223 | |             0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB
[INFO] [stdout] 224 | |             0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:221:32
[INFO] [stdout]     |
[INFO] [stdout] 221 |               0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 222 | /             0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB
[INFO] [stdout] 223 | |             0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB
[INFO] [stdout] 224 | |             0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB
[INFO] [stdout] 225 | |             0xFF70 => self.work_ram.set(addr, v), /// SVBK WRAM bank R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:222:32
[INFO] [stdout]     |
[INFO] [stdout] 222 |               0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 223 | /             0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB
[INFO] [stdout] 224 | |             0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB
[INFO] [stdout] 225 | |             0xFF70 => self.work_ram.set(addr, v), /// SVBK WRAM bank R/W CGB
[INFO] [stdout] 226 | |             0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:223:32
[INFO] [stdout]     |
[INFO] [stdout] 223 |               0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 224 | /             0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB
[INFO] [stdout] 225 | |             0xFF70 => self.work_ram.set(addr, v), /// SVBK WRAM bank R/W CGB
[INFO] [stdout] 226 | |             0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB
[INFO] [stdout] 227 | |             0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:224:32
[INFO] [stdout]     |
[INFO] [stdout] 224 |             0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 225 |             0xFF70 => self.work_ram.set(addr, v), /// SVBK WRAM bank R/W CGB
[INFO] [stdout]     |             ------------------------------------ rustdoc does not generate documentation for match arms
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:225:51
[INFO] [stdout]     |
[INFO] [stdout] 225 |               0xFF70 => self.work_ram.set(addr, v), /// SVBK WRAM bank R/W CGB
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 226 | /             0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB
[INFO] [stdout] 227 | |             0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB
[INFO] [stdout] 228 | |             0xFF80..=0xFFFE => self.work_ram.set(addr, v),
[INFO] [stdout] 229 | |             0xFFFF => self.interrupt.borrow_mut().set(addr, v),
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:226:32
[INFO] [stdout]     |
[INFO] [stdout] 226 |               0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 227 | /             0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB
[INFO] [stdout] 228 | |             0xFF80..=0xFFFE => self.work_ram.set(addr, v),
[INFO] [stdout] 229 | |             0xFFFF => self.interrupt.borrow_mut().set(addr, v),
[INFO] [stdout] 230 | |             addr => panic!("MMU access denied, addr: 0x{:04X}", addr),
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:227:32
[INFO] [stdout]     |
[INFO] [stdout] 227 |             0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 228 |             0xFF80..=0xFFFE => self.work_ram.set(addr, v),
[INFO] [stdout]     |             --------------------------------------------- rustdoc does not generate documentation for match arms
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::mmu::Memory`
[INFO] [stdout]  --> src/io_device/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::mmu::Memory;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/io_device/joypad.rs:59:28
[INFO] [stdout]    |
[INFO] [stdout] 59 |             self.matrix |= (*key as u8);
[INFO] [stdout]    |                            ^          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 59 -             self.matrix |= (*key as u8);
[INFO] [stdout] 59 +             self.matrix |= *key as u8;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::cpu::CPU`
[INFO] [stdout]  --> src/io_device/interrupt.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::cpu::CPU;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/io_device/interrupt.rs:81:23
[INFO] [stdout]    |
[INFO] [stdout] 81 |         self.int_f |= (0x01 << (flag as u8));
[INFO] [stdout]    |                       ^                    ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 81 -         self.int_f |= (0x01 << (flag as u8));
[INFO] [stdout] 81 +         self.int_f |= 0x01 << (flag as u8);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::mmu::Memory`
[INFO] [stdout]   --> src/cpu/lr35902/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::mmu::Memory;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/cpu/lr35902/opcode/cbprefixed_opcode.rs:233:13
[INFO] [stdout]     |
[INFO] [stdout] 233 |             other => panic!("Unsupported opcode: 0x{:04X}", other),
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `RefCPU` is never used
[INFO] [stdout]  --> src/cpu/mod.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub type RefCPU = Rc<RefCell<Box<dyn CPU>>>;
[INFO] [stdout]   |          ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `start_at` and `freq` are never read
[INFO] [stdout]   --> src/cpu/mod.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct CPUInfo {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 20 |     start_at: SystemTime,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 21 |     freq: u64,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/cpu/mod.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl CPUInfo {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 25 |     pub fn new(freq: u64) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_hi` is never used
[INFO] [stdout]   --> src/cpu/mod.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub fn get_hi(src: &u16) -> u8 {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_hi` is never used
[INFO] [stdout]   --> src/cpu/mod.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn set_hi(src: &mut u16, val: u8) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_lo` is never used
[INFO] [stdout]   --> src/cpu/mod.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn get_lo(src: &u16) -> u8 {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_lo` is never used
[INFO] [stdout]   --> src/cpu/mod.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn set_lo(src: &mut u16, val: u8) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_bit` is never used
[INFO] [stdout]   --> src/cpu/mod.rs:54:8
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub fn get_bit(src: &u16, i: u8) -> u8 {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_bit` is never used
[INFO] [stdout]   --> src/cpu/mod.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub fn set_bit(src: &mut u16, i: u8, val: u8) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/cpu/lr35902/mod.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl LR35902 {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 34 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `F` is never constructed
[INFO] [stdout]   --> src/cpu/lr35902/registers.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub enum Register {
[INFO] [stdout]    |          -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 35 |     F,
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Register` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/cpu/lr35902/registers.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | impl Registers {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 50 |     pub fn new(gb_term: GBTerm) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClockStep` is never constructed
[INFO] [stdout]   --> src/cpu/lr35902/clock.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct ClockStep {}
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `now` are never used
[INFO] [stdout]   --> src/cpu/lr35902/clock.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl Clock {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 21 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn now(&self) -> SystemTime {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/gpu.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl GPU {
[INFO] [stdout]    | -------- associated function in this implementation
[INFO] [stdout] 14 |     pub fn new() -> GPU {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MotherBoard` is never constructed
[INFO] [stdout]   --> src/mother_board.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct MotherBoard {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `cpu`, and `start` are never used
[INFO] [stdout]   --> src/mother_board.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl MotherBoard {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 17 |     pub fn new(rom_path: String, ram_path: String, rtc_path: String) -> crate::Result<MotherBoard> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn cpu(&self) -> Ref<Box<dyn CPU>> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn start(&self) -> ! {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_ram` is never used
[INFO] [stdout]   --> src/mmu.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn new_ram<const CAP: usize>() -> RAM<CAP> where {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/mmu.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 70 | impl MMU {
[INFO] [stdout]    | -------- associated function in this implementation
[INFO] [stdout] 71 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/mmu.rs:241:12
[INFO] [stdout]     |
[INFO] [stdout] 240 | impl<const SIZE: usize> BlockRam<SIZE> {
[INFO] [stdout]     | -------------------------------------- associated function in this implementation
[INFO] [stdout] 241 |     pub fn new() -> BlockRam<SIZE> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/mmu.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 263 | impl Prohibited {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] 264 |     pub fn new() -> Prohibited {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/io_device/joypad.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub enum JoypadKey {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] 13 |     Right = 0b0001_0001,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 14 |     Left = 0b0001_0010,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 15 |     Up = 0b0001_0100,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 16 |     Down = 0b0001_1000,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 17 |     A = 0b0010_0001,
[INFO] [stdout]    |     ^
[INFO] [stdout] 18 |     B = 0b0010_0010,
[INFO] [stdout]    |     ^
[INFO] [stdout] 19 |     Select = 0b0010_0100,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 20 |     Start = 0b0010_1000,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `JoypadKey` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/io_device/joypad.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl Joypad {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 33 |     pub fn new(interrupt: RefInterrupt) -> RefJoypad {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `set_handler_fn` are never used
[INFO] [stdout]   --> src/io_device/interrupt.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 60 | impl Interrupt {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 61 |     pub fn new() -> RefInterrupt {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn set_handler_fn(&mut self, flag: Flag, handler: IntHandlerFunc) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BANK_SIZE` is never used
[INFO] [stdout]  --> src/io_device/video.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const BANK_SIZE: usize = 0x02;
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/io_device/video.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl Video {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 23 |     pub fn new() -> Video {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/io_device/wram.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl WorkRam {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 18 |     pub fn new() -> WorkRam {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_BASE` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const HEADER_BASE: u16 = 0x0100;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_END` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | const HEADER_END: u16 = 0x014F;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_LEN` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const HEADER_LEN: u16 = HEADER_END - HEADER_BASE + 1;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_ENTRY_BASE` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:25:7
[INFO] [stdout]    |
[INFO] [stdout] 25 | const HEADER_ENTRY_BASE: u16 = 0x0100;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_ENTRY_END` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:27:7
[INFO] [stdout]    |
[INFO] [stdout] 27 | const HEADER_ENTRY_END: u16 = 0x0103;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_NINTENDO_LOGO_BASE` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:30:7
[INFO] [stdout]    |
[INFO] [stdout] 30 | const HEADER_NINTENDO_LOGO_BASE: u16 = 0x0104;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_NINTENDO_LOGO_END` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:32:7
[INFO] [stdout]    |
[INFO] [stdout] 32 | const HEADER_NINTENDO_LOGO_END: u16 = 0x0133;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_NINTENDO_LOGO_LEN` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:35:7
[INFO] [stdout]    |
[INFO] [stdout] 35 | const HEADER_NINTENDO_LOGO_LEN: u16 = HEADER_NINTENDO_LOGO_END - HEADER_NINTENDO_LOGO_BASE + 1;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NINTENDO_LOGO` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:39:7
[INFO] [stdout]    |
[INFO] [stdout] 39 | const NINTENDO_LOGO: [u8; HEADER_NINTENDO_LOGO_LEN as usize] = [
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_TITLE_BASE` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:46:7
[INFO] [stdout]    |
[INFO] [stdout] 46 | const HEADER_TITLE_BASE: u16 = 0x0134;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_TITLE_END_GB` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:49:7
[INFO] [stdout]    |
[INFO] [stdout] 49 | const HEADER_TITLE_END_GB: u16 = 0x0142;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_TITLE_GB_LEN` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:50:7
[INFO] [stdout]    |
[INFO] [stdout] 50 | const HEADER_TITLE_GB_LEN: u16 = HEADER_TITLE_END_GB - HEADER_TITLE_BASE + 1;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_CGB_FLAG` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:52:7
[INFO] [stdout]    |
[INFO] [stdout] 52 | const HEADER_CGB_FLAG: u16 = 0x0143;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CGB_FLAG_COMPATIBLE` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:53:7
[INFO] [stdout]    |
[INFO] [stdout] 53 | const CGB_FLAG_COMPATIBLE: u8 = 0x80;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CGB_FLAG_ONLY` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:54:7
[INFO] [stdout]    |
[INFO] [stdout] 54 | const CGB_FLAG_ONLY: u8 = 0xC0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `None`, `Compatible`, and `CGBOnly` are never constructed
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub enum CGBFlag {
[INFO] [stdout]    |          ------- variants in this enum
[INFO] [stdout] 58 |     None,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 59 |     Compatible,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 60 |     CGBOnly,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_MANUFACTURER_CODE_BASE` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:65:7
[INFO] [stdout]    |
[INFO] [stdout] 65 | const HEADER_MANUFACTURER_CODE_BASE: u16 = 0x013F;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_MANUFACTURER_CODE_END` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:68:7
[INFO] [stdout]    |
[INFO] [stdout] 68 | const HEADER_MANUFACTURER_CODE_END: u16 = 0x0142;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_MANUFACTURER_CODE_LEN` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:69:7
[INFO] [stdout]    |
[INFO] [stdout] 69 | const HEADER_MANUFACTURER_CODE_LEN: u16 = HEADER_MANUFACTURER_CODE_END - HEADER_MANUFACTURER_CODE_BASE + 1;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_TITLE_END_CGB` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:72:7
[INFO] [stdout]    |
[INFO] [stdout] 72 | const HEADER_TITLE_END_CGB: u16 = 0x013E;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_TITLE_CGB_LEN` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:73:7
[INFO] [stdout]    |
[INFO] [stdout] 73 | const HEADER_TITLE_CGB_LEN: u16 = HEADER_TITLE_END_CGB - HEADER_TITLE_BASE + 1;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_NEW_LICENSEE_CODE_BASE` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:76:7
[INFO] [stdout]    |
[INFO] [stdout] 76 | const HEADER_NEW_LICENSEE_CODE_BASE: u16 = 0x0144;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_NEW_LICENSEE_CODE_END` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:78:7
[INFO] [stdout]    |
[INFO] [stdout] 78 | const HEADER_NEW_LICENSEE_CODE_END: u16 = 0x0145;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_NEW_LICENSEE_CODE_LEN` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:79:7
[INFO] [stdout]    |
[INFO] [stdout] 79 | const HEADER_NEW_LICENSEE_CODE_LEN: u16 = HEADER_NEW_LICENSEE_CODE_END - HEADER_NEW_LICENSEE_CODE_BASE + 1;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_SGB_FLAG` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:82:7
[INFO] [stdout]    |
[INFO] [stdout] 82 | const HEADER_SGB_FLAG: u16 = 0x0146;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `None` and `Ok` are never constructed
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub enum SGBFlag {
[INFO] [stdout]    |          ------- variants in this enum
[INFO] [stdout] 86 |     None,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 87 |     Ok,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_CART_TYPE` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:91:7
[INFO] [stdout]    |
[INFO] [stdout] 91 | const HEADER_CART_TYPE: u16 = 0x0147;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_ROM_SIZE` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:94:7
[INFO] [stdout]    |
[INFO] [stdout] 94 | const HEADER_ROM_SIZE: u16 = 0x0148;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_RAM_SIZE` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:97:7
[INFO] [stdout]    |
[INFO] [stdout] 97 | const HEADER_RAM_SIZE: u16 = 0x0149;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_DESTINATION_CODE` is never used
[INFO] [stdout]    --> src/io_device/cartridge/mod.rs:100:7
[INFO] [stdout]     |
[INFO] [stdout] 100 | const HEADER_DESTINATION_CODE: u16 = 0x014A;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_OLD_LICENSEE_CODE` is never used
[INFO] [stdout]    --> src/io_device/cartridge/mod.rs:103:7
[INFO] [stdout]     |
[INFO] [stdout] 103 | const HEADER_OLD_LICENSEE_CODE: u16 = 0x014B;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_MASK_ROM_VERSION_NUM` is never used
[INFO] [stdout]    --> src/io_device/cartridge/mod.rs:106:7
[INFO] [stdout]     |
[INFO] [stdout] 106 | const HEADER_MASK_ROM_VERSION_NUM: u16 = 0x14C;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_CHECK_BASE` is never used
[INFO] [stdout]    --> src/io_device/cartridge/mod.rs:109:7
[INFO] [stdout]     |
[INFO] [stdout] 109 | const HEADER_CHECK_BASE: u16 = 0x0134;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_CHECK_END` is never used
[INFO] [stdout]    --> src/io_device/cartridge/mod.rs:111:7
[INFO] [stdout]     |
[INFO] [stdout] 111 | const HEADER_CHECK_END: u16 = 0x14C;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_CHECK_LEN` is never used
[INFO] [stdout]    --> src/io_device/cartridge/mod.rs:112:7
[INFO] [stdout]     |
[INFO] [stdout] 112 | const HEADER_CHECK_LEN: u16 = HEADER_CHECK_END - HEADER_CHECK_BASE + 1;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_CHECKSUM` is never used
[INFO] [stdout]    --> src/io_device/cartridge/mod.rs:115:7
[INFO] [stdout]     |
[INFO] [stdout] 115 | const HEADER_CHECKSUM: u16 = 0x014D;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_GLOBAL_CHECKSUM_BASE` is never used
[INFO] [stdout]    --> src/io_device/cartridge/mod.rs:118:7
[INFO] [stdout]     |
[INFO] [stdout] 118 | const HEADER_GLOBAL_CHECKSUM_BASE: u16 = 0x014E;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_GLOBAL_CHECKSUM_END` is never used
[INFO] [stdout]    --> src/io_device/cartridge/mod.rs:120:7
[INFO] [stdout]     |
[INFO] [stdout] 120 | const HEADER_GLOBAL_CHECKSUM_END: u16 = 0x014F;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_GLOBAL_CHECKSUM_LEN` is never used
[INFO] [stdout]    --> src/io_device/cartridge/mod.rs:121:7
[INFO] [stdout]     |
[INFO] [stdout] 121 | const HEADER_GLOBAL_CHECKSUM_LEN: u16 = HEADER_GLOBAL_CHECKSUM_END - HEADER_GLOBAL_CHECKSUM_BASE + 1;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/io_device/cartridge/mod.rs:129:12
[INFO] [stdout]     |
[INFO] [stdout] 128 | impl Rom {
[INFO] [stdout]     | -------- associated function in this implementation
[INFO] [stdout] 129 |     pub fn new(path: String) -> Result<Self> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `from`, and `mem` are never used
[INFO] [stdout]    --> src/io_device/cartridge/mod.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 152 | impl Ram {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout] 153 |     pub fn new<F>(path: String, size: usize, content_supplier: F) -> Result<Self>
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn from(mem: Vec<u8>, path: String) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub fn mem(&self) -> &Vec<u8> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CART_TYPE_ROM_ONLY` is never used
[INFO] [stdout]    --> src/io_device/cartridge/mod.rs:195:7
[INFO] [stdout]     |
[INFO] [stdout] 195 | const CART_TYPE_ROM_ONLY: u8 = 0x00;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `power_up` and `new` are never used
[INFO] [stdout]    --> src/io_device/cartridge/mod.rs:202:12
[INFO] [stdout]     |
[INFO] [stdout] 201 | impl RomOnly {
[INFO] [stdout]     | ------------ associated functions in this implementation
[INFO] [stdout] 202 |     pub fn power_up(rom: Rom) -> Result<Box<dyn Cartridge>> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 206 |     fn new(rom: Rom) -> Result<Self> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `power_up` is never used
[INFO] [stdout]    --> src/io_device/cartridge/mod.rs:506:8
[INFO] [stdout]     |
[INFO] [stdout] 506 | pub fn power_up(rom_path: String, ram_path: String, rtc_path: String) -> Result<RefCartridge> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CART_TYPE_MBC1` is never used
[INFO] [stdout]  --> src/io_device/cartridge/mbc/mbc1.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const CART_TYPE_MBC1: u8 = 0x01;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CART_TYPE_MBC1_RAM` is never used
[INFO] [stdout]  --> src/io_device/cartridge/mbc/mbc1.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const CART_TYPE_MBC1_RAM: u8 = 0x02;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CART_TYPE_MBC1_RAM_BATTERY` is never used
[INFO] [stdout]  --> src/io_device/cartridge/mbc/mbc1.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const CART_TYPE_MBC1_RAM_BATTERY: u8 = 0x03;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RAM_BANK_COUNT` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mbc/mbc1.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const RAM_BANK_COUNT: u8 = 0b0_11_00000 >> 5 - 0x00 + 1;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `power_up` and `new` are never used
[INFO] [stdout]   --> src/io_device/cartridge/mbc/mbc1.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl MBC1 {
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout] 31 |     pub fn power_up(rom: Rom, ram_path: String) -> Result<Box<dyn Cartridge>> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     fn new(rom: Rom, ram_path: String) -> Result<Self> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CART_TYPE_MBC2` is never used
[INFO] [stdout]  --> src/io_device/cartridge/mbc/mbc2.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const CART_TYPE_MBC2: u8 = 0x05;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CART_TYPE_MBC2_BATTERY` is never used
[INFO] [stdout]  --> src/io_device/cartridge/mbc/mbc2.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const CART_TYPE_MBC2_BATTERY: u8 = 0x06;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `power_up` and `new` are never used
[INFO] [stdout]   --> src/io_device/cartridge/mbc/mbc2.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl MBC2 {
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout] 18 |     pub fn power_up(rom: Rom, ram_path: String) -> Result<Box<dyn Cartridge>> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     fn new(rom: Rom, ram_path: String) -> Result<Self> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CART_TYPE_MBC3_TIMER_BATTERY` is never used
[INFO] [stdout]  --> src/io_device/cartridge/mbc/mbc3.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const CART_TYPE_MBC3_TIMER_BATTERY: u8 = 0x0F;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CART_TYPE_MBC3_TIMER_RAM_BATTERY_2` is never used
[INFO] [stdout]  --> src/io_device/cartridge/mbc/mbc3.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const CART_TYPE_MBC3_TIMER_RAM_BATTERY_2: u8 = 0x10;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CART_TYPE_MBC3` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mbc/mbc3.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const CART_TYPE_MBC3: u8 = 0x11;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CART_TYPE_MBC3_RAM_2` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mbc/mbc3.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const CART_TYPE_MBC3_RAM_2: u8 = 0x12;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CART_TYPE_MBC3_RAM_BATTERY_2` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mbc/mbc3.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const CART_TYPE_MBC3_RAM_BATTERY_2: u8 = 0x13;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mbc/mbc3.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl RTC {
[INFO] [stdout]    | -------- associated function in this implementation
[INFO] [stdout] 32 |     fn new(path: String) -> Result<Self> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RAM_BANK_COUNT` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mbc/mbc3.rs:78:7
[INFO] [stdout]    |
[INFO] [stdout] 78 | const RAM_BANK_COUNT: u8 = 0x03 - 0x00 + 1;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `power_up` and `new` are never used
[INFO] [stdout]   --> src/io_device/cartridge/mbc/mbc3.rs:92:12
[INFO] [stdout]    |
[INFO] [stdout] 91 | impl MBC3 {
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout] 92 |     pub fn power_up(rom: Rom, ram_path: String, rtc_path: String) -> Result<Box<dyn Cartridge>> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn new(rom: Rom, ram_path: String, rtc_path: String) -> Result<Self> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CART_TYPE_MBC5` is never used
[INFO] [stdout]  --> src/io_device/cartridge/mbc/mbc5.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const CART_TYPE_MBC5: u8 = 0x19;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CART_TYPE_MBC5_RAM` is never used
[INFO] [stdout]  --> src/io_device/cartridge/mbc/mbc5.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const CART_TYPE_MBC5_RAM: u8 = 0x1A;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CART_TYPE_MBC5_RAM_BATTERY` is never used
[INFO] [stdout]  --> src/io_device/cartridge/mbc/mbc5.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const CART_TYPE_MBC5_RAM_BATTERY: u8 = 0x1B;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CART_TYPE_MBC5_RUMBLE` is never used
[INFO] [stdout]  --> src/io_device/cartridge/mbc/mbc5.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const CART_TYPE_MBC5_RUMBLE: u8 = 0x1C;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CART_TYPE_MBC5_RUMBLE_RAM` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mbc/mbc5.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const CART_TYPE_MBC5_RUMBLE_RAM: u8 = 0x1D;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CART_TYPE_MBC5_RUMBLE_RAM_BATTERY` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mbc/mbc5.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const CART_TYPE_MBC5_RUMBLE_RAM_BATTERY: u8 = 0x1E;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RAM_BANK_COUNT` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mbc/mbc5.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const RAM_BANK_COUNT: u8 = 0x0F - 0x00 + 1;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `power_up` and `new` are never used
[INFO] [stdout]   --> src/io_device/cartridge/mbc/mbc5.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl MBC5 {
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout] 27 |     pub fn power_up(rom: Rom, ram_path: String) -> Result<Box<dyn Cartridge>> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn new(rom: Rom, ram_path: String) -> Result<Self> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 222 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 36.67s
[INFO] running `Command { std: "docker" "inspect" "357e278847662c4bd93832e5a83b300faccacb9641f3e761fbc9411bcd30697a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "357e278847662c4bd93832e5a83b300faccacb9641f3e761fbc9411bcd30697a", kill_on_drop: false }`
[INFO] [stdout] 357e278847662c4bd93832e5a83b300faccacb9641f3e761fbc9411bcd30697a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 69095f6016c5863c67b7aaaf5a5d4d22dbdccbbcf40538e3a30f9448aeca75c6
[INFO] running `Command { std: "docker" "start" "-a" "69095f6016c5863c67b7aaaf5a5d4d22dbdccbbcf40538e3a30f9448aeca75c6", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `Memory`
[INFO] [stdout]  --> src/cpu/mod.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::mmu::{Memory, RefMemory};
[INFO] [stdout]   |                  ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::cpu::CPU`
[INFO] [stdout]  --> src/cpu/lr35902/opcode/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::cpu::CPU;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/cpu/lr35902/opcode/cbprefixed_opcode.rs:156:31
[INFO] [stdout]     |
[INFO] [stdout] 156 |                 let n = match (opcode) {
[INFO] [stdout]     |                               ^      ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 156 -                 let n = match (opcode) {
[INFO] [stdout] 156 +                 let n = match opcode {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/cpu/lr35902/opcode/cbprefixed_opcode.rs:181:31
[INFO] [stdout]     |
[INFO] [stdout] 181 |                 let n = match (opcode) {
[INFO] [stdout]     |                               ^      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 181 -                 let n = match (opcode) {
[INFO] [stdout] 181 +                 let n = match opcode {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/cpu/lr35902/opcode/cbprefixed_opcode.rs:208:31
[INFO] [stdout]     |
[INFO] [stdout] 208 |                 let n = match (opcode) {
[INFO] [stdout]     |                               ^      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 208 -                 let n = match (opcode) {
[INFO] [stdout] 208 +                 let n = match opcode {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/cpu/lr35902/opcode/cbprefixed_opcode.rs:238:15
[INFO] [stdout]     |
[INFO] [stdout] 238 |         match (opcode & 0x0F) {
[INFO] [stdout]     |               ^             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 238 -         match (opcode & 0x0F) {
[INFO] [stdout] 238 +         match opcode & 0x0F {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/cpu/lr35902/opcode/cbprefixed_opcode.rs:280:19
[INFO] [stdout]     |
[INFO] [stdout] 280 |         let res = (val >> 1);
[INFO] [stdout]     |                   ^        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 280 -         let res = (val >> 1);
[INFO] [stdout] 280 +         let res = val >> 1;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RefCell`
[INFO] [stdout]  --> src/mother_board.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::{Ref, RefCell};
[INFO] [stdout]   |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Memory`
[INFO] [stdout]  --> src/mother_board.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::mmu::{Memory, MMU, RefMemory};
[INFO] [stdout]   |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/mmu.rs:98:32
[INFO] [stdout]    |
[INFO] [stdout] 98 |               0xFF01 => todo!(), /// SB Serial transfer data R/W All
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 99 | /             0xFF02 => todo!(), /// SC Serial transfer control R/W Mixed
[INFO] [stdout] 100| |             0xFF04 => todo!(), /// DIV Divider register R/W All
[INFO] [stdout] 101| |             0xFF05 => todo!(), /// TIMA Timer counter R/W All
[INFO] [stdout] 102| |             0xFF06 => todo!(), /// TMA Timer modulo R/W All
[INFO] [stdout] ...  |
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/mmu.rs:99:32
[INFO] [stdout]    |
[INFO] [stdout] 99 |               0xFF02 => todo!(), /// SC Serial transfer control R/W Mixed
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 100| /             0xFF04 => todo!(), /// DIV Divider register R/W All
[INFO] [stdout] 101| |             0xFF05 => todo!(), /// TIMA Timer counter R/W All
[INFO] [stdout] 102| |             0xFF06 => todo!(), /// TMA Timer modulo R/W All
[INFO] [stdout] 103| |             0xFF07 => todo!(), /// TAC Timer control R/W All
[INFO] [stdout] ...  |
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:100:32
[INFO] [stdout]     |
[INFO] [stdout] 100 |               0xFF04 => todo!(), /// DIV Divider register R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 101 | /             0xFF05 => todo!(), /// TIMA Timer counter R/W All
[INFO] [stdout] 102 | |             0xFF06 => todo!(), /// TMA Timer modulo R/W All
[INFO] [stdout] 103 | |             0xFF07 => todo!(), /// TAC Timer control R/W All
[INFO] [stdout] 104 | |             0xFF0F => self.interrupt.borrow().get(addr),
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:101:32
[INFO] [stdout]     |
[INFO] [stdout] 101 |               0xFF05 => todo!(), /// TIMA Timer counter R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 102 | /             0xFF06 => todo!(), /// TMA Timer modulo R/W All
[INFO] [stdout] 103 | |             0xFF07 => todo!(), /// TAC Timer control R/W All
[INFO] [stdout] 104 | |             0xFF0F => self.interrupt.borrow().get(addr),
[INFO] [stdout] 105 | |             0xFF10 => todo!(), /// NR10 Sound channel 1 sweep R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:102:32
[INFO] [stdout]     |
[INFO] [stdout] 102 |               0xFF06 => todo!(), /// TMA Timer modulo R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 103 | /             0xFF07 => todo!(), /// TAC Timer control R/W All
[INFO] [stdout] 104 | |             0xFF0F => self.interrupt.borrow().get(addr),
[INFO] [stdout] 105 | |             0xFF10 => todo!(), /// NR10 Sound channel 1 sweep R/W All
[INFO] [stdout] 106 | |             0xFF11 => todo!(), /// NR11 Sound channel 1 length timer & duty cycle Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:103:32
[INFO] [stdout]     |
[INFO] [stdout] 103 |             0xFF07 => todo!(), /// TAC Timer control R/W All
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 104 |             0xFF0F => self.interrupt.borrow().get(addr),
[INFO] [stdout]     |             ------------------------------------------- rustdoc does not generate documentation for match arms
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:105:32
[INFO] [stdout]     |
[INFO] [stdout] 105 |               0xFF10 => todo!(), /// NR10 Sound channel 1 sweep R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 106 | /             0xFF11 => todo!(), /// NR11 Sound channel 1 length timer & duty cycle Mixed All
[INFO] [stdout] 107 | |             0xFF12 => todo!(), /// NR12 Sound channel 1 volume & envelope R/W All
[INFO] [stdout] 108 | |             0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All
[INFO] [stdout] 109 | |             0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:106:32
[INFO] [stdout]     |
[INFO] [stdout] 106 |               0xFF11 => todo!(), /// NR11 Sound channel 1 length timer & duty cycle Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 107 | /             0xFF12 => todo!(), /// NR12 Sound channel 1 volume & envelope R/W All
[INFO] [stdout] 108 | |             0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All
[INFO] [stdout] 109 | |             0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All
[INFO] [stdout] 110 | |             0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:107:32
[INFO] [stdout]     |
[INFO] [stdout] 107 |               0xFF12 => todo!(), /// NR12 Sound channel 1 volume & envelope R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 108 | /             0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All
[INFO] [stdout] 109 | |             0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All
[INFO] [stdout] 110 | |             0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All
[INFO] [stdout] 111 | |             0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:108:32
[INFO] [stdout]     |
[INFO] [stdout] 108 |               0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 109 | /             0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All
[INFO] [stdout] 110 | |             0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All
[INFO] [stdout] 111 | |             0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All
[INFO] [stdout] 112 | |             0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:109:32
[INFO] [stdout]     |
[INFO] [stdout] 109 |               0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 110 | /             0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All
[INFO] [stdout] 111 | |             0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All
[INFO] [stdout] 112 | |             0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All
[INFO] [stdout] 113 | |             0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:110:32
[INFO] [stdout]     |
[INFO] [stdout] 110 |               0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 111 | /             0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All
[INFO] [stdout] 112 | |             0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All
[INFO] [stdout] 113 | |             0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All
[INFO] [stdout] 114 | |             0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:111:32
[INFO] [stdout]     |
[INFO] [stdout] 111 |               0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 112 | /             0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All
[INFO] [stdout] 113 | |             0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All
[INFO] [stdout] 114 | |             0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All
[INFO] [stdout] 115 | |             0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:112:32
[INFO] [stdout]     |
[INFO] [stdout] 112 |               0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 113 | /             0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All
[INFO] [stdout] 114 | |             0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All
[INFO] [stdout] 115 | |             0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All
[INFO] [stdout] 116 | |             0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:113:32
[INFO] [stdout]     |
[INFO] [stdout] 113 |               0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 114 | /             0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All
[INFO] [stdout] 115 | |             0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All
[INFO] [stdout] 116 | |             0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All
[INFO] [stdout] 117 | |             0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:114:32
[INFO] [stdout]     |
[INFO] [stdout] 114 |               0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 115 | /             0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All
[INFO] [stdout] 116 | |             0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All
[INFO] [stdout] 117 | |             0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All
[INFO] [stdout] 118 | |             0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:115:32
[INFO] [stdout]     |
[INFO] [stdout] 115 |               0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 116 | /             0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All
[INFO] [stdout] 117 | |             0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All
[INFO] [stdout] 118 | |             0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All
[INFO] [stdout] 119 | |             0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:116:32
[INFO] [stdout]     |
[INFO] [stdout] 116 |               0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 117 | /             0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All
[INFO] [stdout] 118 | |             0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All
[INFO] [stdout] 119 | |             0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All
[INFO] [stdout] 120 | |             0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:117:32
[INFO] [stdout]     |
[INFO] [stdout] 117 |               0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 118 | /             0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All
[INFO] [stdout] 119 | |             0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All
[INFO] [stdout] 120 | |             0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All
[INFO] [stdout] 121 | |             0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:118:32
[INFO] [stdout]     |
[INFO] [stdout] 118 |               0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 119 | /             0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All
[INFO] [stdout] 120 | |             0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All
[INFO] [stdout] 121 | |             0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All
[INFO] [stdout] 122 | |             0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:119:32
[INFO] [stdout]     |
[INFO] [stdout] 119 |               0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 120 | /             0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All
[INFO] [stdout] 121 | |             0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All
[INFO] [stdout] 122 | |             0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All
[INFO] [stdout] 123 | |             0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:120:32
[INFO] [stdout]     |
[INFO] [stdout] 120 |               0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 121 | /             0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All
[INFO] [stdout] 122 | |             0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All
[INFO] [stdout] 123 | |             0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All
[INFO] [stdout] 124 | |             0xFF25 => todo!(), /// NR51 Sound panning R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:121:32
[INFO] [stdout]     |
[INFO] [stdout] 121 |               0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | /             0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All
[INFO] [stdout] 123 | |             0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All
[INFO] [stdout] 124 | |             0xFF25 => todo!(), /// NR51 Sound panning R/W All
[INFO] [stdout] 125 | |             0xFF26 => todo!(), /// NR52 Sound on/off Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:122:32
[INFO] [stdout]     |
[INFO] [stdout] 122 |               0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 123 | /             0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All
[INFO] [stdout] 124 | |             0xFF25 => todo!(), /// NR51 Sound panning R/W All
[INFO] [stdout] 125 | |             0xFF26 => todo!(), /// NR52 Sound on/off Mixed All
[INFO] [stdout] 126 | |             0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:123:32
[INFO] [stdout]     |
[INFO] [stdout] 123 |               0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 124 | /             0xFF25 => todo!(), /// NR51 Sound panning R/W All
[INFO] [stdout] 125 | |             0xFF26 => todo!(), /// NR52 Sound on/off Mixed All
[INFO] [stdout] 126 | |             0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All
[INFO] [stdout] 127 | |             0xFF40 => todo!(), /// LCDC LCD control R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:124:32
[INFO] [stdout]     |
[INFO] [stdout] 124 |               0xFF25 => todo!(), /// NR51 Sound panning R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 125 | /             0xFF26 => todo!(), /// NR52 Sound on/off Mixed All
[INFO] [stdout] 126 | |             0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All
[INFO] [stdout] 127 | |             0xFF40 => todo!(), /// LCDC LCD control R/W All
[INFO] [stdout] 128 | |             0xFF41 => todo!(), /// STAT LCD status Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:125:32
[INFO] [stdout]     |
[INFO] [stdout] 125 |               0xFF26 => todo!(), /// NR52 Sound on/off Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 126 | /             0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All
[INFO] [stdout] 127 | |             0xFF40 => todo!(), /// LCDC LCD control R/W All
[INFO] [stdout] 128 | |             0xFF41 => todo!(), /// STAT LCD status Mixed All
[INFO] [stdout] 129 | |             0xFF42 => todo!(), /// SCY Viewport Y position R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:126:41
[INFO] [stdout]     |
[INFO] [stdout] 126 |               0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 127 | /             0xFF40 => todo!(), /// LCDC LCD control R/W All
[INFO] [stdout] 128 | |             0xFF41 => todo!(), /// STAT LCD status Mixed All
[INFO] [stdout] 129 | |             0xFF42 => todo!(), /// SCY Viewport Y position R/W All
[INFO] [stdout] 130 | |             0xFF43 => todo!(), /// SCX Viewport X position R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:127:32
[INFO] [stdout]     |
[INFO] [stdout] 127 |               0xFF40 => todo!(), /// LCDC LCD control R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 128 | /             0xFF41 => todo!(), /// STAT LCD status Mixed All
[INFO] [stdout] 129 | |             0xFF42 => todo!(), /// SCY Viewport Y position R/W All
[INFO] [stdout] 130 | |             0xFF43 => todo!(), /// SCX Viewport X position R/W All
[INFO] [stdout] 131 | |             0xFF44 => todo!(), /// LY LCD Y coordinate R All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:128:32
[INFO] [stdout]     |
[INFO] [stdout] 128 |               0xFF41 => todo!(), /// STAT LCD status Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 129 | /             0xFF42 => todo!(), /// SCY Viewport Y position R/W All
[INFO] [stdout] 130 | |             0xFF43 => todo!(), /// SCX Viewport X position R/W All
[INFO] [stdout] 131 | |             0xFF44 => todo!(), /// LY LCD Y coordinate R All
[INFO] [stdout] 132 | |             0xFF45 => todo!(), /// LYC LY compare R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:129:32
[INFO] [stdout]     |
[INFO] [stdout] 129 |               0xFF42 => todo!(), /// SCY Viewport Y position R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 130 | /             0xFF43 => todo!(), /// SCX Viewport X position R/W All
[INFO] [stdout] 131 | |             0xFF44 => todo!(), /// LY LCD Y coordinate R All
[INFO] [stdout] 132 | |             0xFF45 => todo!(), /// LYC LY compare R/W All
[INFO] [stdout] 133 | |             0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:130:32
[INFO] [stdout]     |
[INFO] [stdout] 130 |               0xFF43 => todo!(), /// SCX Viewport X position R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 131 | /             0xFF44 => todo!(), /// LY LCD Y coordinate R All
[INFO] [stdout] 132 | |             0xFF45 => todo!(), /// LYC LY compare R/W All
[INFO] [stdout] 133 | |             0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All
[INFO] [stdout] 134 | |             0xFF47 => todo!(), /// BGP BG palette data R/W DMG
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:131:32
[INFO] [stdout]     |
[INFO] [stdout] 131 |               0xFF44 => todo!(), /// LY LCD Y coordinate R All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 132 | /             0xFF45 => todo!(), /// LYC LY compare R/W All
[INFO] [stdout] 133 | |             0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All
[INFO] [stdout] 134 | |             0xFF47 => todo!(), /// BGP BG palette data R/W DMG
[INFO] [stdout] 135 | |             0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:132:32
[INFO] [stdout]     |
[INFO] [stdout] 132 |               0xFF45 => todo!(), /// LYC LY compare R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 133 | /             0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All
[INFO] [stdout] 134 | |             0xFF47 => todo!(), /// BGP BG palette data R/W DMG
[INFO] [stdout] 135 | |             0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG
[INFO] [stdout] 136 | |             0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:133:32
[INFO] [stdout]     |
[INFO] [stdout] 133 |               0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 134 | /             0xFF47 => todo!(), /// BGP BG palette data R/W DMG
[INFO] [stdout] 135 | |             0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG
[INFO] [stdout] 136 | |             0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG
[INFO] [stdout] 137 | |             0xFF4A => todo!(), /// WY Window Y position R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:134:32
[INFO] [stdout]     |
[INFO] [stdout] 134 |               0xFF47 => todo!(), /// BGP BG palette data R/W DMG
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 135 | /             0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG
[INFO] [stdout] 136 | |             0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG
[INFO] [stdout] 137 | |             0xFF4A => todo!(), /// WY Window Y position R/W All
[INFO] [stdout] 138 | |             0xFF4B => todo!(), /// WX Window X position plus 7 R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:135:32
[INFO] [stdout]     |
[INFO] [stdout] 135 |               0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 136 | /             0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG
[INFO] [stdout] 137 | |             0xFF4A => todo!(), /// WY Window Y position R/W All
[INFO] [stdout] 138 | |             0xFF4B => todo!(), /// WX Window X position plus 7 R/W All
[INFO] [stdout] 139 | |             0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:136:32
[INFO] [stdout]     |
[INFO] [stdout] 136 |               0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 137 | /             0xFF4A => todo!(), /// WY Window Y position R/W All
[INFO] [stdout] 138 | |             0xFF4B => todo!(), /// WX Window X position plus 7 R/W All
[INFO] [stdout] 139 | |             0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB
[INFO] [stdout] 140 | |             0xFF4F => self.video.get(addr), /// VBK VRAM bank R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:137:32
[INFO] [stdout]     |
[INFO] [stdout] 137 |               0xFF4A => todo!(), /// WY Window Y position R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 138 | /             0xFF4B => todo!(), /// WX Window X position plus 7 R/W All
[INFO] [stdout] 139 | |             0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB
[INFO] [stdout] 140 | |             0xFF4F => self.video.get(addr), /// VBK VRAM bank R/W CGB
[INFO] [stdout] 141 | |             0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:138:32
[INFO] [stdout]     |
[INFO] [stdout] 138 |               0xFF4B => todo!(), /// WX Window X position plus 7 R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 139 | /             0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB
[INFO] [stdout] 140 | |             0xFF4F => self.video.get(addr), /// VBK VRAM bank R/W CGB
[INFO] [stdout] 141 | |             0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB
[INFO] [stdout] 142 | |             0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:139:32
[INFO] [stdout]     |
[INFO] [stdout] 139 |             0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 140 |             0xFF4F => self.video.get(addr), /// VBK VRAM bank R/W CGB
[INFO] [stdout]     |             ------------------------------ rustdoc does not generate documentation for match arms
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:140:45
[INFO] [stdout]     |
[INFO] [stdout] 140 |               0xFF4F => self.video.get(addr), /// VBK VRAM bank R/W CGB
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 141 | /             0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB
[INFO] [stdout] 142 | |             0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB
[INFO] [stdout] 143 | |             0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB
[INFO] [stdout] 144 | |             0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:141:32
[INFO] [stdout]     |
[INFO] [stdout] 141 |               0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 142 | /             0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB
[INFO] [stdout] 143 | |             0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB
[INFO] [stdout] 144 | |             0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB
[INFO] [stdout] 145 | |             0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:142:32
[INFO] [stdout]     |
[INFO] [stdout] 142 |               0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 143 | /             0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB
[INFO] [stdout] 144 | |             0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB
[INFO] [stdout] 145 | |             0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB
[INFO] [stdout] 146 | |             0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:143:32
[INFO] [stdout]     |
[INFO] [stdout] 143 |               0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 144 | /             0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB
[INFO] [stdout] 145 | |             0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB
[INFO] [stdout] 146 | |             0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB
[INFO] [stdout] 147 | |             0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:144:32
[INFO] [stdout]     |
[INFO] [stdout] 144 |               0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 145 | /             0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB
[INFO] [stdout] 146 | |             0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB
[INFO] [stdout] 147 | |             0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB
[INFO] [stdout] 148 | |             0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:145:32
[INFO] [stdout]     |
[INFO] [stdout] 145 |               0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 146 | /             0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB
[INFO] [stdout] 147 | |             0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB
[INFO] [stdout] 148 | |             0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB
[INFO] [stdout] 149 | |             0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:146:32
[INFO] [stdout]     |
[INFO] [stdout] 146 |               0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 147 | /             0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB
[INFO] [stdout] 148 | |             0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB
[INFO] [stdout] 149 | |             0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB
[INFO] [stdout] 150 | |             0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:147:32
[INFO] [stdout]     |
[INFO] [stdout] 147 |               0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 148 | /             0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB
[INFO] [stdout] 149 | |             0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB
[INFO] [stdout] 150 | |             0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB
[INFO] [stdout] 151 | |             0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:148:32
[INFO] [stdout]     |
[INFO] [stdout] 148 |               0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 149 | /             0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB
[INFO] [stdout] 150 | |             0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB
[INFO] [stdout] 151 | |             0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB
[INFO] [stdout] 152 | |             0xFF70 => self.work_ram.get(addr), /// SVBK WRAM bank R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:149:32
[INFO] [stdout]     |
[INFO] [stdout] 149 |               0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 150 | /             0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB
[INFO] [stdout] 151 | |             0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB
[INFO] [stdout] 152 | |             0xFF70 => self.work_ram.get(addr), /// SVBK WRAM bank R/W CGB
[INFO] [stdout] 153 | |             0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:150:32
[INFO] [stdout]     |
[INFO] [stdout] 150 |               0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 151 | /             0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB
[INFO] [stdout] 152 | |             0xFF70 => self.work_ram.get(addr), /// SVBK WRAM bank R/W CGB
[INFO] [stdout] 153 | |             0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB
[INFO] [stdout] 154 | |             0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:151:32
[INFO] [stdout]     |
[INFO] [stdout] 151 |             0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 152 |             0xFF70 => self.work_ram.get(addr), /// SVBK WRAM bank R/W CGB
[INFO] [stdout]     |             --------------------------------- rustdoc does not generate documentation for match arms
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:152:48
[INFO] [stdout]     |
[INFO] [stdout] 152 |               0xFF70 => self.work_ram.get(addr), /// SVBK WRAM bank R/W CGB
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 153 | /             0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB
[INFO] [stdout] 154 | |             0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB
[INFO] [stdout] 155 | |             0xFF80..=0xFFFE => self.work_ram.get(addr),
[INFO] [stdout] 156 | |             0xFFFF => self.interrupt.borrow().get(addr),
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:153:32
[INFO] [stdout]     |
[INFO] [stdout] 153 |               0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 154 | /             0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB
[INFO] [stdout] 155 | |             0xFF80..=0xFFFE => self.work_ram.get(addr),
[INFO] [stdout] 156 | |             0xFFFF => self.interrupt.borrow().get(addr),
[INFO] [stdout] 157 | |             addr => panic!("MMU access denied, addr: 0x{:04X}", addr),
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:154:32
[INFO] [stdout]     |
[INFO] [stdout] 154 |             0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 155 |             0xFF80..=0xFFFE => self.work_ram.get(addr),
[INFO] [stdout]     |             ------------------------------------------ rustdoc does not generate documentation for match arms
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:171:32
[INFO] [stdout]     |
[INFO] [stdout] 171 |               0xFF01 => todo!(), /// SB Serial transfer data R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 172 | /             0xFF02 => todo!(), /// SC Serial transfer control R/W Mixed
[INFO] [stdout] 173 | |             0xFF04 => todo!(), /// DIV Divider register R/W All
[INFO] [stdout] 174 | |             0xFF05 => todo!(), /// TIMA Timer counter R/W All
[INFO] [stdout] 175 | |             0xFF06 => todo!(), /// TMA Timer modulo R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:172:32
[INFO] [stdout]     |
[INFO] [stdout] 172 |               0xFF02 => todo!(), /// SC Serial transfer control R/W Mixed
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 173 | /             0xFF04 => todo!(), /// DIV Divider register R/W All
[INFO] [stdout] 174 | |             0xFF05 => todo!(), /// TIMA Timer counter R/W All
[INFO] [stdout] 175 | |             0xFF06 => todo!(), /// TMA Timer modulo R/W All
[INFO] [stdout] 176 | |             0xFF07 => todo!(), /// TAC Timer control R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:173:32
[INFO] [stdout]     |
[INFO] [stdout] 173 |               0xFF04 => todo!(), /// DIV Divider register R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 174 | /             0xFF05 => todo!(), /// TIMA Timer counter R/W All
[INFO] [stdout] 175 | |             0xFF06 => todo!(), /// TMA Timer modulo R/W All
[INFO] [stdout] 176 | |             0xFF07 => todo!(), /// TAC Timer control R/W All
[INFO] [stdout] 177 | |             0xFF0F => self.interrupt.borrow_mut().set(addr, v),
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:174:32
[INFO] [stdout]     |
[INFO] [stdout] 174 |               0xFF05 => todo!(), /// TIMA Timer counter R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 175 | /             0xFF06 => todo!(), /// TMA Timer modulo R/W All
[INFO] [stdout] 176 | |             0xFF07 => todo!(), /// TAC Timer control R/W All
[INFO] [stdout] 177 | |             0xFF0F => self.interrupt.borrow_mut().set(addr, v),
[INFO] [stdout] 178 | |             0xFF10 => todo!(), /// NR10 Sound channel 1 sweep R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:175:32
[INFO] [stdout]     |
[INFO] [stdout] 175 |               0xFF06 => todo!(), /// TMA Timer modulo R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 176 | /             0xFF07 => todo!(), /// TAC Timer control R/W All
[INFO] [stdout] 177 | |             0xFF0F => self.interrupt.borrow_mut().set(addr, v),
[INFO] [stdout] 178 | |             0xFF10 => todo!(), /// NR10 Sound channel 1 sweep R/W All
[INFO] [stdout] 179 | |             0xFF11 => todo!(), /// NR11 Sound channel 1 length timer & duty cycle Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:176:32
[INFO] [stdout]     |
[INFO] [stdout] 176 |             0xFF07 => todo!(), /// TAC Timer control R/W All
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 177 |             0xFF0F => self.interrupt.borrow_mut().set(addr, v),
[INFO] [stdout]     |             -------------------------------------------------- rustdoc does not generate documentation for match arms
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:178:32
[INFO] [stdout]     |
[INFO] [stdout] 178 |               0xFF10 => todo!(), /// NR10 Sound channel 1 sweep R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 179 | /             0xFF11 => todo!(), /// NR11 Sound channel 1 length timer & duty cycle Mixed All
[INFO] [stdout] 180 | |             0xFF12 => todo!(), /// NR12 Sound channel 1 volume & envelope R/W All
[INFO] [stdout] 181 | |             0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All
[INFO] [stdout] 182 | |             0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:179:32
[INFO] [stdout]     |
[INFO] [stdout] 179 |               0xFF11 => todo!(), /// NR11 Sound channel 1 length timer & duty cycle Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 180 | /             0xFF12 => todo!(), /// NR12 Sound channel 1 volume & envelope R/W All
[INFO] [stdout] 181 | |             0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All
[INFO] [stdout] 182 | |             0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All
[INFO] [stdout] 183 | |             0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:180:32
[INFO] [stdout]     |
[INFO] [stdout] 180 |               0xFF12 => todo!(), /// NR12 Sound channel 1 volume & envelope R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 181 | /             0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All
[INFO] [stdout] 182 | |             0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All
[INFO] [stdout] 183 | |             0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All
[INFO] [stdout] 184 | |             0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:181:32
[INFO] [stdout]     |
[INFO] [stdout] 181 |               0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 182 | /             0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All
[INFO] [stdout] 183 | |             0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All
[INFO] [stdout] 184 | |             0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All
[INFO] [stdout] 185 | |             0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:182:32
[INFO] [stdout]     |
[INFO] [stdout] 182 |               0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 183 | /             0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All
[INFO] [stdout] 184 | |             0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All
[INFO] [stdout] 185 | |             0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All
[INFO] [stdout] 186 | |             0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:183:32
[INFO] [stdout]     |
[INFO] [stdout] 183 |               0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 184 | /             0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All
[INFO] [stdout] 185 | |             0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All
[INFO] [stdout] 186 | |             0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All
[INFO] [stdout] 187 | |             0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:184:32
[INFO] [stdout]     |
[INFO] [stdout] 184 |               0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 185 | /             0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All
[INFO] [stdout] 186 | |             0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All
[INFO] [stdout] 187 | |             0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All
[INFO] [stdout] 188 | |             0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:185:32
[INFO] [stdout]     |
[INFO] [stdout] 185 |               0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 186 | /             0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All
[INFO] [stdout] 187 | |             0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All
[INFO] [stdout] 188 | |             0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All
[INFO] [stdout] 189 | |             0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:186:32
[INFO] [stdout]     |
[INFO] [stdout] 186 |               0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 187 | /             0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All
[INFO] [stdout] 188 | |             0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All
[INFO] [stdout] 189 | |             0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All
[INFO] [stdout] 190 | |             0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:187:32
[INFO] [stdout]     |
[INFO] [stdout] 187 |               0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 188 | /             0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All
[INFO] [stdout] 189 | |             0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All
[INFO] [stdout] 190 | |             0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All
[INFO] [stdout] 191 | |             0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:188:32
[INFO] [stdout]     |
[INFO] [stdout] 188 |               0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 189 | /             0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All
[INFO] [stdout] 190 | |             0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All
[INFO] [stdout] 191 | |             0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All
[INFO] [stdout] 192 | |             0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:189:32
[INFO] [stdout]     |
[INFO] [stdout] 189 |               0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 190 | /             0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All
[INFO] [stdout] 191 | |             0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All
[INFO] [stdout] 192 | |             0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All
[INFO] [stdout] 193 | |             0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:190:32
[INFO] [stdout]     |
[INFO] [stdout] 190 |               0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 191 | /             0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All
[INFO] [stdout] 192 | |             0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All
[INFO] [stdout] 193 | |             0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All
[INFO] [stdout] 194 | |             0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:191:32
[INFO] [stdout]     |
[INFO] [stdout] 191 |               0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 192 | /             0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All
[INFO] [stdout] 193 | |             0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All
[INFO] [stdout] 194 | |             0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All
[INFO] [stdout] 195 | |             0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:192:32
[INFO] [stdout]     |
[INFO] [stdout] 192 |               0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 193 | /             0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All
[INFO] [stdout] 194 | |             0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All
[INFO] [stdout] 195 | |             0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All
[INFO] [stdout] 196 | |             0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:193:32
[INFO] [stdout]     |
[INFO] [stdout] 193 |               0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 194 | /             0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All
[INFO] [stdout] 195 | |             0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All
[INFO] [stdout] 196 | |             0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All
[INFO] [stdout] 197 | |             0xFF25 => todo!(), /// NR51 Sound panning R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:194:32
[INFO] [stdout]     |
[INFO] [stdout] 194 |               0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 195 | /             0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All
[INFO] [stdout] 196 | |             0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All
[INFO] [stdout] 197 | |             0xFF25 => todo!(), /// NR51 Sound panning R/W All
[INFO] [stdout] 198 | |             0xFF26 => todo!(), /// NR52 Sound on/off Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:195:32
[INFO] [stdout]     |
[INFO] [stdout] 195 |               0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 196 | /             0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All
[INFO] [stdout] 197 | |             0xFF25 => todo!(), /// NR51 Sound panning R/W All
[INFO] [stdout] 198 | |             0xFF26 => todo!(), /// NR52 Sound on/off Mixed All
[INFO] [stdout] 199 | |             0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:196:32
[INFO] [stdout]     |
[INFO] [stdout] 196 |               0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 197 | /             0xFF25 => todo!(), /// NR51 Sound panning R/W All
[INFO] [stdout] 198 | |             0xFF26 => todo!(), /// NR52 Sound on/off Mixed All
[INFO] [stdout] 199 | |             0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All
[INFO] [stdout] 200 | |             0xFF40 => todo!(), /// LCDC LCD control R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:197:32
[INFO] [stdout]     |
[INFO] [stdout] 197 |               0xFF25 => todo!(), /// NR51 Sound panning R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 198 | /             0xFF26 => todo!(), /// NR52 Sound on/off Mixed All
[INFO] [stdout] 199 | |             0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All
[INFO] [stdout] 200 | |             0xFF40 => todo!(), /// LCDC LCD control R/W All
[INFO] [stdout] 201 | |             0xFF41 => todo!(), /// STAT LCD status Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:198:32
[INFO] [stdout]     |
[INFO] [stdout] 198 |               0xFF26 => todo!(), /// NR52 Sound on/off Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 199 | /             0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All
[INFO] [stdout] 200 | |             0xFF40 => todo!(), /// LCDC LCD control R/W All
[INFO] [stdout] 201 | |             0xFF41 => todo!(), /// STAT LCD status Mixed All
[INFO] [stdout] 202 | |             0xFF42 => todo!(), /// SCY Viewport Y position R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:199:41
[INFO] [stdout]     |
[INFO] [stdout] 199 |               0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 200 | /             0xFF40 => todo!(), /// LCDC LCD control R/W All
[INFO] [stdout] 201 | |             0xFF41 => todo!(), /// STAT LCD status Mixed All
[INFO] [stdout] 202 | |             0xFF42 => todo!(), /// SCY Viewport Y position R/W All
[INFO] [stdout] 203 | |             0xFF43 => todo!(), /// SCX Viewport X position R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:200:32
[INFO] [stdout]     |
[INFO] [stdout] 200 |               0xFF40 => todo!(), /// LCDC LCD control R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 201 | /             0xFF41 => todo!(), /// STAT LCD status Mixed All
[INFO] [stdout] 202 | |             0xFF42 => todo!(), /// SCY Viewport Y position R/W All
[INFO] [stdout] 203 | |             0xFF43 => todo!(), /// SCX Viewport X position R/W All
[INFO] [stdout] 204 | |             0xFF44 => todo!(), /// LY LCD Y coordinate R All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:201:32
[INFO] [stdout]     |
[INFO] [stdout] 201 |               0xFF41 => todo!(), /// STAT LCD status Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 202 | /             0xFF42 => todo!(), /// SCY Viewport Y position R/W All
[INFO] [stdout] 203 | |             0xFF43 => todo!(), /// SCX Viewport X position R/W All
[INFO] [stdout] 204 | |             0xFF44 => todo!(), /// LY LCD Y coordinate R All
[INFO] [stdout] 205 | |             0xFF45 => todo!(), /// LYC LY compare R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:202:32
[INFO] [stdout]     |
[INFO] [stdout] 202 |               0xFF42 => todo!(), /// SCY Viewport Y position R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 203 | /             0xFF43 => todo!(), /// SCX Viewport X position R/W All
[INFO] [stdout] 204 | |             0xFF44 => todo!(), /// LY LCD Y coordinate R All
[INFO] [stdout] 205 | |             0xFF45 => todo!(), /// LYC LY compare R/W All
[INFO] [stdout] 206 | |             0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:203:32
[INFO] [stdout]     |
[INFO] [stdout] 203 |               0xFF43 => todo!(), /// SCX Viewport X position R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 204 | /             0xFF44 => todo!(), /// LY LCD Y coordinate R All
[INFO] [stdout] 205 | |             0xFF45 => todo!(), /// LYC LY compare R/W All
[INFO] [stdout] 206 | |             0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All
[INFO] [stdout] 207 | |             0xFF47 => todo!(), /// BGP BG palette data R/W DMG
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:204:32
[INFO] [stdout]     |
[INFO] [stdout] 204 |               0xFF44 => todo!(), /// LY LCD Y coordinate R All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 205 | /             0xFF45 => todo!(), /// LYC LY compare R/W All
[INFO] [stdout] 206 | |             0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All
[INFO] [stdout] 207 | |             0xFF47 => todo!(), /// BGP BG palette data R/W DMG
[INFO] [stdout] 208 | |             0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:205:32
[INFO] [stdout]     |
[INFO] [stdout] 205 |               0xFF45 => todo!(), /// LYC LY compare R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 206 | /             0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All
[INFO] [stdout] 207 | |             0xFF47 => todo!(), /// BGP BG palette data R/W DMG
[INFO] [stdout] 208 | |             0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG
[INFO] [stdout] 209 | |             0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:206:32
[INFO] [stdout]     |
[INFO] [stdout] 206 |               0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 207 | /             0xFF47 => todo!(), /// BGP BG palette data R/W DMG
[INFO] [stdout] 208 | |             0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG
[INFO] [stdout] 209 | |             0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG
[INFO] [stdout] 210 | |             0xFF4A => todo!(), /// WY Window Y position R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:207:32
[INFO] [stdout]     |
[INFO] [stdout] 207 |               0xFF47 => todo!(), /// BGP BG palette data R/W DMG
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 208 | /             0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG
[INFO] [stdout] 209 | |             0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG
[INFO] [stdout] 210 | |             0xFF4A => todo!(), /// WY Window Y position R/W All
[INFO] [stdout] 211 | |             0xFF4B => todo!(), /// WX Window X position plus 7 R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:208:32
[INFO] [stdout]     |
[INFO] [stdout] 208 |               0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 209 | /             0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG
[INFO] [stdout] 210 | |             0xFF4A => todo!(), /// WY Window Y position R/W All
[INFO] [stdout] 211 | |             0xFF4B => todo!(), /// WX Window X position plus 7 R/W All
[INFO] [stdout] 212 | |             0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:209:32
[INFO] [stdout]     |
[INFO] [stdout] 209 |               0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 210 | /             0xFF4A => todo!(), /// WY Window Y position R/W All
[INFO] [stdout] 211 | |             0xFF4B => todo!(), /// WX Window X position plus 7 R/W All
[INFO] [stdout] 212 | |             0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB
[INFO] [stdout] 213 | |             0xFF4F => self.video.set(addr, v), /// VBK VRAM bank R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:210:32
[INFO] [stdout]     |
[INFO] [stdout] 210 |               0xFF4A => todo!(), /// WY Window Y position R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 211 | /             0xFF4B => todo!(), /// WX Window X position plus 7 R/W All
[INFO] [stdout] 212 | |             0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB
[INFO] [stdout] 213 | |             0xFF4F => self.video.set(addr, v), /// VBK VRAM bank R/W CGB
[INFO] [stdout] 214 | |             0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:211:32
[INFO] [stdout]     |
[INFO] [stdout] 211 |               0xFF4B => todo!(), /// WX Window X position plus 7 R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 212 | /             0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB
[INFO] [stdout] 213 | |             0xFF4F => self.video.set(addr, v), /// VBK VRAM bank R/W CGB
[INFO] [stdout] 214 | |             0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB
[INFO] [stdout] 215 | |             0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:212:32
[INFO] [stdout]     |
[INFO] [stdout] 212 |             0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 213 |             0xFF4F => self.video.set(addr, v), /// VBK VRAM bank R/W CGB
[INFO] [stdout]     |             --------------------------------- rustdoc does not generate documentation for match arms
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:213:48
[INFO] [stdout]     |
[INFO] [stdout] 213 |               0xFF4F => self.video.set(addr, v), /// VBK VRAM bank R/W CGB
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 214 | /             0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB
[INFO] [stdout] 215 | |             0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB
[INFO] [stdout] 216 | |             0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB
[INFO] [stdout] 217 | |             0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:214:32
[INFO] [stdout]     |
[INFO] [stdout] 214 |               0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 215 | /             0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB
[INFO] [stdout] 216 | |             0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB
[INFO] [stdout] 217 | |             0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB
[INFO] [stdout] 218 | |             0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:215:32
[INFO] [stdout]     |
[INFO] [stdout] 215 |               0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 216 | /             0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB
[INFO] [stdout] 217 | |             0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB
[INFO] [stdout] 218 | |             0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB
[INFO] [stdout] 219 | |             0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:216:32
[INFO] [stdout]     |
[INFO] [stdout] 216 |               0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 217 | /             0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB
[INFO] [stdout] 218 | |             0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB
[INFO] [stdout] 219 | |             0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB
[INFO] [stdout] 220 | |             0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:217:32
[INFO] [stdout]     |
[INFO] [stdout] 217 |               0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 218 | /             0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB
[INFO] [stdout] 219 | |             0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB
[INFO] [stdout] 220 | |             0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB
[INFO] [stdout] 221 | |             0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:218:32
[INFO] [stdout]     |
[INFO] [stdout] 218 |               0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 219 | /             0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB
[INFO] [stdout] 220 | |             0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB
[INFO] [stdout] 221 | |             0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB
[INFO] [stdout] 222 | |             0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:219:32
[INFO] [stdout]     |
[INFO] [stdout] 219 |               0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 220 | /             0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB
[INFO] [stdout] 221 | |             0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB
[INFO] [stdout] 222 | |             0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB
[INFO] [stdout] 223 | |             0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:220:32
[INFO] [stdout]     |
[INFO] [stdout] 220 |               0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 221 | /             0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB
[INFO] [stdout] 222 | |             0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB
[INFO] [stdout] 223 | |             0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB
[INFO] [stdout] 224 | |             0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:221:32
[INFO] [stdout]     |
[INFO] [stdout] 221 |               0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 222 | /             0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB
[INFO] [stdout] 223 | |             0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB
[INFO] [stdout] 224 | |             0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB
[INFO] [stdout] 225 | |             0xFF70 => self.work_ram.set(addr, v), /// SVBK WRAM bank R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:222:32
[INFO] [stdout]     |
[INFO] [stdout] 222 |               0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 223 | /             0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB
[INFO] [stdout] 224 | |             0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB
[INFO] [stdout] 225 | |             0xFF70 => self.work_ram.set(addr, v), /// SVBK WRAM bank R/W CGB
[INFO] [stdout] 226 | |             0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:223:32
[INFO] [stdout]     |
[INFO] [stdout] 223 |               0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 224 | /             0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB
[INFO] [stdout] 225 | |             0xFF70 => self.work_ram.set(addr, v), /// SVBK WRAM bank R/W CGB
[INFO] [stdout] 226 | |             0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB
[INFO] [stdout] 227 | |             0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:224:32
[INFO] [stdout]     |
[INFO] [stdout] 224 |             0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 225 |             0xFF70 => self.work_ram.set(addr, v), /// SVBK WRAM bank R/W CGB
[INFO] [stdout]     |             ------------------------------------ rustdoc does not generate documentation for match arms
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:225:51
[INFO] [stdout]     |
[INFO] [stdout] 225 |               0xFF70 => self.work_ram.set(addr, v), /// SVBK WRAM bank R/W CGB
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 226 | /             0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB
[INFO] [stdout] 227 | |             0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB
[INFO] [stdout] 228 | |             0xFF80..=0xFFFE => self.work_ram.set(addr, v),
[INFO] [stdout] 229 | |             0xFFFF => self.interrupt.borrow_mut().set(addr, v),
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:226:32
[INFO] [stdout]     |
[INFO] [stdout] 226 |               0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 227 | /             0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB
[INFO] [stdout] 228 | |             0xFF80..=0xFFFE => self.work_ram.set(addr, v),
[INFO] [stdout] 229 | |             0xFFFF => self.interrupt.borrow_mut().set(addr, v),
[INFO] [stdout] 230 | |             addr => panic!("MMU access denied, addr: 0x{:04X}", addr),
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:227:32
[INFO] [stdout]     |
[INFO] [stdout] 227 |             0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 228 |             0xFF80..=0xFFFE => self.work_ram.set(addr, v),
[INFO] [stdout]     |             --------------------------------------------- rustdoc does not generate documentation for match arms
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::mmu::Memory`
[INFO] [stdout]  --> src/io_device/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::mmu::Memory;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/io_device/joypad.rs:59:28
[INFO] [stdout]    |
[INFO] [stdout] 59 |             self.matrix |= (*key as u8);
[INFO] [stdout]    |                            ^          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 59 -             self.matrix |= (*key as u8);
[INFO] [stdout] 59 +             self.matrix |= *key as u8;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::cpu::CPU`
[INFO] [stdout]  --> src/io_device/interrupt.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::cpu::CPU;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/io_device/interrupt.rs:81:23
[INFO] [stdout]    |
[INFO] [stdout] 81 |         self.int_f |= (0x01 << (flag as u8));
[INFO] [stdout]    |                       ^                    ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 81 -         self.int_f |= (0x01 << (flag as u8));
[INFO] [stdout] 81 +         self.int_f |= 0x01 << (flag as u8);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::mmu::Memory`
[INFO] [stdout]   --> src/cpu/lr35902/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::mmu::Memory;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/cpu/lr35902/opcode/cbprefixed_opcode.rs:233:13
[INFO] [stdout]     |
[INFO] [stdout] 233 |             other => panic!("Unsupported opcode: 0x{:04X}", other),
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `RefCPU` is never used
[INFO] [stdout]  --> src/cpu/mod.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub type RefCPU = Rc<RefCell<Box<dyn CPU>>>;
[INFO] [stdout]   |          ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `start_at` and `freq` are never read
[INFO] [stdout]   --> src/cpu/mod.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct CPUInfo {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 20 |     start_at: SystemTime,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 21 |     freq: u64,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/cpu/mod.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl CPUInfo {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 25 |     pub fn new(freq: u64) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_hi` is never used
[INFO] [stdout]   --> src/cpu/mod.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub fn get_hi(src: &u16) -> u8 {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_hi` is never used
[INFO] [stdout]   --> src/cpu/mod.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn set_hi(src: &mut u16, val: u8) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_lo` is never used
[INFO] [stdout]   --> src/cpu/mod.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn get_lo(src: &u16) -> u8 {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_lo` is never used
[INFO] [stdout]   --> src/cpu/mod.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn set_lo(src: &mut u16, val: u8) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_bit` is never used
[INFO] [stdout]   --> src/cpu/mod.rs:54:8
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub fn get_bit(src: &u16, i: u8) -> u8 {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_bit` is never used
[INFO] [stdout]   --> src/cpu/mod.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub fn set_bit(src: &mut u16, i: u8, val: u8) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/cpu/lr35902/mod.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl LR35902 {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 34 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `F` is never constructed
[INFO] [stdout]   --> src/cpu/lr35902/registers.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub enum Register {
[INFO] [stdout]    |          -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 35 |     F,
[INFO] [stdout]    |     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Register` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/cpu/lr35902/registers.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | impl Registers {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 50 |     pub fn new(gb_term: GBTerm) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClockStep` is never constructed
[INFO] [stdout]   --> src/cpu/lr35902/clock.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct ClockStep {}
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `now` are never used
[INFO] [stdout]   --> src/cpu/lr35902/clock.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl Clock {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 21 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn now(&self) -> SystemTime {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/gpu.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl GPU {
[INFO] [stdout]    | -------- associated function in this implementation
[INFO] [stdout] 14 |     pub fn new() -> GPU {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MotherBoard` is never constructed
[INFO] [stdout]   --> src/mother_board.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct MotherBoard {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `cpu`, and `start` are never used
[INFO] [stdout]   --> src/mother_board.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl MotherBoard {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 17 |     pub fn new(rom_path: String, ram_path: String, rtc_path: String) -> crate::Result<MotherBoard> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn cpu(&self) -> Ref<Box<dyn CPU>> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn start(&self) -> ! {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_ram` is never used
[INFO] [stdout]   --> src/mmu.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn new_ram<const CAP: usize>() -> RAM<CAP> where {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/mmu.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 70 | impl MMU {
[INFO] [stdout]    | -------- associated function in this implementation
[INFO] [stdout] 71 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/mmu.rs:241:12
[INFO] [stdout]     |
[INFO] [stdout] 240 | impl<const SIZE: usize> BlockRam<SIZE> {
[INFO] [stdout]     | -------------------------------------- associated function in this implementation
[INFO] [stdout] 241 |     pub fn new() -> BlockRam<SIZE> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/mmu.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 263 | impl Prohibited {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] 264 |     pub fn new() -> Prohibited {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/io_device/joypad.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub enum JoypadKey {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] 13 |     Right = 0b0001_0001,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 14 |     Left = 0b0001_0010,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 15 |     Up = 0b0001_0100,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 16 |     Down = 0b0001_1000,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 17 |     A = 0b0010_0001,
[INFO] [stdout]    |     ^
[INFO] [stdout] 18 |     B = 0b0010_0010,
[INFO] [stdout]    |     ^
[INFO] [stdout] 19 |     Select = 0b0010_0100,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 20 |     Start = 0b0010_1000,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `JoypadKey` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/io_device/joypad.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl Joypad {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 33 |     pub fn new(interrupt: RefInterrupt) -> RefJoypad {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `set_handler_fn` are never used
[INFO] [stdout]   --> src/io_device/interrupt.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 60 | impl Interrupt {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 61 |     pub fn new() -> RefInterrupt {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn set_handler_fn(&mut self, flag: Flag, handler: IntHandlerFunc) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BANK_SIZE` is never used
[INFO] [stdout]  --> src/io_device/video.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const BANK_SIZE: usize = 0x02;
[INFO] [stdout]   |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/io_device/video.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl Video {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 23 |     pub fn new() -> Video {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/io_device/wram.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl WorkRam {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 18 |     pub fn new() -> WorkRam {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_BASE` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const HEADER_BASE: u16 = 0x0100;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_END` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | const HEADER_END: u16 = 0x014F;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_LEN` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const HEADER_LEN: u16 = HEADER_END - HEADER_BASE + 1;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_ENTRY_BASE` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:25:7
[INFO] [stdout]    |
[INFO] [stdout] 25 | const HEADER_ENTRY_BASE: u16 = 0x0100;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_ENTRY_END` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:27:7
[INFO] [stdout]    |
[INFO] [stdout] 27 | const HEADER_ENTRY_END: u16 = 0x0103;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_NINTENDO_LOGO_BASE` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:30:7
[INFO] [stdout]    |
[INFO] [stdout] 30 | const HEADER_NINTENDO_LOGO_BASE: u16 = 0x0104;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_NINTENDO_LOGO_END` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:32:7
[INFO] [stdout]    |
[INFO] [stdout] 32 | const HEADER_NINTENDO_LOGO_END: u16 = 0x0133;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_NINTENDO_LOGO_LEN` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:35:7
[INFO] [stdout]    |
[INFO] [stdout] 35 | const HEADER_NINTENDO_LOGO_LEN: u16 = HEADER_NINTENDO_LOGO_END - HEADER_NINTENDO_LOGO_BASE + 1;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NINTENDO_LOGO` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:39:7
[INFO] [stdout]    |
[INFO] [stdout] 39 | const NINTENDO_LOGO: [u8; HEADER_NINTENDO_LOGO_LEN as usize] = [
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_TITLE_BASE` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:46:7
[INFO] [stdout]    |
[INFO] [stdout] 46 | const HEADER_TITLE_BASE: u16 = 0x0134;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_TITLE_END_GB` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:49:7
[INFO] [stdout]    |
[INFO] [stdout] 49 | const HEADER_TITLE_END_GB: u16 = 0x0142;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_TITLE_GB_LEN` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:50:7
[INFO] [stdout]    |
[INFO] [stdout] 50 | const HEADER_TITLE_GB_LEN: u16 = HEADER_TITLE_END_GB - HEADER_TITLE_BASE + 1;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_CGB_FLAG` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:52:7
[INFO] [stdout]    |
[INFO] [stdout] 52 | const HEADER_CGB_FLAG: u16 = 0x0143;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CGB_FLAG_COMPATIBLE` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:53:7
[INFO] [stdout]    |
[INFO] [stdout] 53 | const CGB_FLAG_COMPATIBLE: u8 = 0x80;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CGB_FLAG_ONLY` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:54:7
[INFO] [stdout]    |
[INFO] [stdout] 54 | const CGB_FLAG_ONLY: u8 = 0xC0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `None`, `Compatible`, and `CGBOnly` are never constructed
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub enum CGBFlag {
[INFO] [stdout]    |          ------- variants in this enum
[INFO] [stdout] 58 |     None,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 59 |     Compatible,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 60 |     CGBOnly,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_MANUFACTURER_CODE_BASE` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:65:7
[INFO] [stdout]    |
[INFO] [stdout] 65 | const HEADER_MANUFACTURER_CODE_BASE: u16 = 0x013F;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_MANUFACTURER_CODE_END` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:68:7
[INFO] [stdout]    |
[INFO] [stdout] 68 | const HEADER_MANUFACTURER_CODE_END: u16 = 0x0142;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_MANUFACTURER_CODE_LEN` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:69:7
[INFO] [stdout]    |
[INFO] [stdout] 69 | const HEADER_MANUFACTURER_CODE_LEN: u16 = HEADER_MANUFACTURER_CODE_END - HEADER_MANUFACTURER_CODE_BASE + 1;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_TITLE_END_CGB` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:72:7
[INFO] [stdout]    |
[INFO] [stdout] 72 | const HEADER_TITLE_END_CGB: u16 = 0x013E;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_TITLE_CGB_LEN` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:73:7
[INFO] [stdout]    |
[INFO] [stdout] 73 | const HEADER_TITLE_CGB_LEN: u16 = HEADER_TITLE_END_CGB - HEADER_TITLE_BASE + 1;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_NEW_LICENSEE_CODE_BASE` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:76:7
[INFO] [stdout]    |
[INFO] [stdout] 76 | const HEADER_NEW_LICENSEE_CODE_BASE: u16 = 0x0144;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_NEW_LICENSEE_CODE_END` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:78:7
[INFO] [stdout]    |
[INFO] [stdout] 78 | const HEADER_NEW_LICENSEE_CODE_END: u16 = 0x0145;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_NEW_LICENSEE_CODE_LEN` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:79:7
[INFO] [stdout]    |
[INFO] [stdout] 79 | const HEADER_NEW_LICENSEE_CODE_LEN: u16 = HEADER_NEW_LICENSEE_CODE_END - HEADER_NEW_LICENSEE_CODE_BASE + 1;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_SGB_FLAG` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:82:7
[INFO] [stdout]    |
[INFO] [stdout] 82 | const HEADER_SGB_FLAG: u16 = 0x0146;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `None` and `Ok` are never constructed
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub enum SGBFlag {
[INFO] [stdout]    |          ------- variants in this enum
[INFO] [stdout] 86 |     None,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 87 |     Ok,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_CART_TYPE` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:91:7
[INFO] [stdout]    |
[INFO] [stdout] 91 | const HEADER_CART_TYPE: u16 = 0x0147;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_ROM_SIZE` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:94:7
[INFO] [stdout]    |
[INFO] [stdout] 94 | const HEADER_ROM_SIZE: u16 = 0x0148;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_RAM_SIZE` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:97:7
[INFO] [stdout]    |
[INFO] [stdout] 97 | const HEADER_RAM_SIZE: u16 = 0x0149;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_DESTINATION_CODE` is never used
[INFO] [stdout]    --> src/io_device/cartridge/mod.rs:100:7
[INFO] [stdout]     |
[INFO] [stdout] 100 | const HEADER_DESTINATION_CODE: u16 = 0x014A;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_OLD_LICENSEE_CODE` is never used
[INFO] [stdout]    --> src/io_device/cartridge/mod.rs:103:7
[INFO] [stdout]     |
[INFO] [stdout] 103 | const HEADER_OLD_LICENSEE_CODE: u16 = 0x014B;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_MASK_ROM_VERSION_NUM` is never used
[INFO] [stdout]    --> src/io_device/cartridge/mod.rs:106:7
[INFO] [stdout]     |
[INFO] [stdout] 106 | const HEADER_MASK_ROM_VERSION_NUM: u16 = 0x14C;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_CHECK_BASE` is never used
[INFO] [stdout]    --> src/io_device/cartridge/mod.rs:109:7
[INFO] [stdout]     |
[INFO] [stdout] 109 | const HEADER_CHECK_BASE: u16 = 0x0134;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_CHECK_END` is never used
[INFO] [stdout]    --> src/io_device/cartridge/mod.rs:111:7
[INFO] [stdout]     |
[INFO] [stdout] 111 | const HEADER_CHECK_END: u16 = 0x14C;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_CHECK_LEN` is never used
[INFO] [stdout]    --> src/io_device/cartridge/mod.rs:112:7
[INFO] [stdout]     |
[INFO] [stdout] 112 | const HEADER_CHECK_LEN: u16 = HEADER_CHECK_END - HEADER_CHECK_BASE + 1;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_CHECKSUM` is never used
[INFO] [stdout]    --> src/io_device/cartridge/mod.rs:115:7
[INFO] [stdout]     |
[INFO] [stdout] 115 | const HEADER_CHECKSUM: u16 = 0x014D;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_GLOBAL_CHECKSUM_BASE` is never used
[INFO] [stdout]    --> src/io_device/cartridge/mod.rs:118:7
[INFO] [stdout]     |
[INFO] [stdout] 118 | const HEADER_GLOBAL_CHECKSUM_BASE: u16 = 0x014E;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_GLOBAL_CHECKSUM_END` is never used
[INFO] [stdout]    --> src/io_device/cartridge/mod.rs:120:7
[INFO] [stdout]     |
[INFO] [stdout] 120 | const HEADER_GLOBAL_CHECKSUM_END: u16 = 0x014F;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_GLOBAL_CHECKSUM_LEN` is never used
[INFO] [stdout]    --> src/io_device/cartridge/mod.rs:121:7
[INFO] [stdout]     |
[INFO] [stdout] 121 | const HEADER_GLOBAL_CHECKSUM_LEN: u16 = HEADER_GLOBAL_CHECKSUM_END - HEADER_GLOBAL_CHECKSUM_BASE + 1;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/io_device/cartridge/mod.rs:129:12
[INFO] [stdout]     |
[INFO] [stdout] 128 | impl Rom {
[INFO] [stdout]     | -------- associated function in this implementation
[INFO] [stdout] 129 |     pub fn new(path: String) -> Result<Self> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `from`, and `mem` are never used
[INFO] [stdout]    --> src/io_device/cartridge/mod.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 152 | impl Ram {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout] 153 |     pub fn new<F>(path: String, size: usize, content_supplier: F) -> Result<Self>
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn from(mem: Vec<u8>, path: String) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub fn mem(&self) -> &Vec<u8> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CART_TYPE_ROM_ONLY` is never used
[INFO] [stdout]    --> src/io_device/cartridge/mod.rs:195:7
[INFO] [stdout]     |
[INFO] [stdout] 195 | const CART_TYPE_ROM_ONLY: u8 = 0x00;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `power_up` and `new` are never used
[INFO] [stdout]    --> src/io_device/cartridge/mod.rs:202:12
[INFO] [stdout]     |
[INFO] [stdout] 201 | impl RomOnly {
[INFO] [stdout]     | ------------ associated functions in this implementation
[INFO] [stdout] 202 |     pub fn power_up(rom: Rom) -> Result<Box<dyn Cartridge>> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 206 |     fn new(rom: Rom) -> Result<Self> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `power_up` is never used
[INFO] [stdout]    --> src/io_device/cartridge/mod.rs:506:8
[INFO] [stdout]     |
[INFO] [stdout] 506 | pub fn power_up(rom_path: String, ram_path: String, rtc_path: String) -> Result<RefCartridge> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CART_TYPE_MBC1` is never used
[INFO] [stdout]  --> src/io_device/cartridge/mbc/mbc1.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const CART_TYPE_MBC1: u8 = 0x01;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CART_TYPE_MBC1_RAM` is never used
[INFO] [stdout]  --> src/io_device/cartridge/mbc/mbc1.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const CART_TYPE_MBC1_RAM: u8 = 0x02;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CART_TYPE_MBC1_RAM_BATTERY` is never used
[INFO] [stdout]  --> src/io_device/cartridge/mbc/mbc1.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const CART_TYPE_MBC1_RAM_BATTERY: u8 = 0x03;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RAM_BANK_COUNT` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mbc/mbc1.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const RAM_BANK_COUNT: u8 = 0b0_11_00000 >> 5 - 0x00 + 1;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `power_up` and `new` are never used
[INFO] [stdout]   --> src/io_device/cartridge/mbc/mbc1.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl MBC1 {
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout] 31 |     pub fn power_up(rom: Rom, ram_path: String) -> Result<Box<dyn Cartridge>> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     fn new(rom: Rom, ram_path: String) -> Result<Self> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CART_TYPE_MBC2` is never used
[INFO] [stdout]  --> src/io_device/cartridge/mbc/mbc2.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const CART_TYPE_MBC2: u8 = 0x05;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CART_TYPE_MBC2_BATTERY` is never used
[INFO] [stdout]  --> src/io_device/cartridge/mbc/mbc2.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const CART_TYPE_MBC2_BATTERY: u8 = 0x06;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `power_up` and `new` are never used
[INFO] [stdout]   --> src/io_device/cartridge/mbc/mbc2.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl MBC2 {
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout] 18 |     pub fn power_up(rom: Rom, ram_path: String) -> Result<Box<dyn Cartridge>> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     fn new(rom: Rom, ram_path: String) -> Result<Self> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CART_TYPE_MBC3_TIMER_BATTERY` is never used
[INFO] [stdout]  --> src/io_device/cartridge/mbc/mbc3.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const CART_TYPE_MBC3_TIMER_BATTERY: u8 = 0x0F;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CART_TYPE_MBC3_TIMER_RAM_BATTERY_2` is never used
[INFO] [stdout]  --> src/io_device/cartridge/mbc/mbc3.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const CART_TYPE_MBC3_TIMER_RAM_BATTERY_2: u8 = 0x10;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CART_TYPE_MBC3` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mbc/mbc3.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const CART_TYPE_MBC3: u8 = 0x11;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CART_TYPE_MBC3_RAM_2` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mbc/mbc3.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const CART_TYPE_MBC3_RAM_2: u8 = 0x12;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CART_TYPE_MBC3_RAM_BATTERY_2` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mbc/mbc3.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const CART_TYPE_MBC3_RAM_BATTERY_2: u8 = 0x13;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mbc/mbc3.rs:32:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl RTC {
[INFO] [stdout]    | -------- associated function in this implementation
[INFO] [stdout] 32 |     fn new(path: String) -> Result<Self> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RAM_BANK_COUNT` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mbc/mbc3.rs:78:7
[INFO] [stdout]    |
[INFO] [stdout] 78 | const RAM_BANK_COUNT: u8 = 0x03 - 0x00 + 1;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `power_up` and `new` are never used
[INFO] [stdout]   --> src/io_device/cartridge/mbc/mbc3.rs:92:12
[INFO] [stdout]    |
[INFO] [stdout] 91 | impl MBC3 {
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout] 92 |     pub fn power_up(rom: Rom, ram_path: String, rtc_path: String) -> Result<Box<dyn Cartridge>> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn new(rom: Rom, ram_path: String, rtc_path: String) -> Result<Self> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling gb_simulator v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: constant `CART_TYPE_MBC5` is never used
[INFO] [stdout]  --> src/io_device/cartridge/mbc/mbc5.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const CART_TYPE_MBC5: u8 = 0x19;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CART_TYPE_MBC5_RAM` is never used
[INFO] [stdout]  --> src/io_device/cartridge/mbc/mbc5.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const CART_TYPE_MBC5_RAM: u8 = 0x1A;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CART_TYPE_MBC5_RAM_BATTERY` is never used
[INFO] [stdout]  --> src/io_device/cartridge/mbc/mbc5.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const CART_TYPE_MBC5_RAM_BATTERY: u8 = 0x1B;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CART_TYPE_MBC5_RUMBLE` is never used
[INFO] [stdout]  --> src/io_device/cartridge/mbc/mbc5.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub const CART_TYPE_MBC5_RUMBLE: u8 = 0x1C;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CART_TYPE_MBC5_RUMBLE_RAM` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mbc/mbc5.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const CART_TYPE_MBC5_RUMBLE_RAM: u8 = 0x1D;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CART_TYPE_MBC5_RUMBLE_RAM_BATTERY` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mbc/mbc5.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub const CART_TYPE_MBC5_RUMBLE_RAM_BATTERY: u8 = 0x1E;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RAM_BANK_COUNT` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mbc/mbc5.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const RAM_BANK_COUNT: u8 = 0x0F - 0x00 + 1;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `power_up` and `new` are never used
[INFO] [stdout]   --> src/io_device/cartridge/mbc/mbc5.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl MBC5 {
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout] 27 |     pub fn power_up(rom: Rom, ram_path: String) -> Result<Box<dyn Cartridge>> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn new(rom: Rom, ram_path: String) -> Result<Self> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 222 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Memory`
[INFO] [stdout]  --> src/cpu/mod.rs:5:18
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::mmu::{Memory, RefMemory};
[INFO] [stdout]   |                  ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::cpu::CPU`
[INFO] [stdout]  --> src/cpu/lr35902/opcode/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::cpu::CPU;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/cpu/lr35902/opcode/cbprefixed_opcode.rs:156:31
[INFO] [stdout]     |
[INFO] [stdout] 156 |                 let n = match (opcode) {
[INFO] [stdout]     |                               ^      ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 156 -                 let n = match (opcode) {
[INFO] [stdout] 156 +                 let n = match opcode {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/cpu/lr35902/opcode/cbprefixed_opcode.rs:181:31
[INFO] [stdout]     |
[INFO] [stdout] 181 |                 let n = match (opcode) {
[INFO] [stdout]     |                               ^      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 181 -                 let n = match (opcode) {
[INFO] [stdout] 181 +                 let n = match opcode {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/cpu/lr35902/opcode/cbprefixed_opcode.rs:208:31
[INFO] [stdout]     |
[INFO] [stdout] 208 |                 let n = match (opcode) {
[INFO] [stdout]     |                               ^      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 208 -                 let n = match (opcode) {
[INFO] [stdout] 208 +                 let n = match opcode {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/cpu/lr35902/opcode/cbprefixed_opcode.rs:238:15
[INFO] [stdout]     |
[INFO] [stdout] 238 |         match (opcode & 0x0F) {
[INFO] [stdout]     |               ^             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 238 -         match (opcode & 0x0F) {
[INFO] [stdout] 238 +         match opcode & 0x0F {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/cpu/lr35902/opcode/cbprefixed_opcode.rs:280:19
[INFO] [stdout]     |
[INFO] [stdout] 280 |         let res = (val >> 1);
[INFO] [stdout]     |                   ^        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 280 -         let res = (val >> 1);
[INFO] [stdout] 280 +         let res = val >> 1;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> src/tests/cpu_instrs.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/tests/cpu_instrs.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GBTerm`, `cpu`
[INFO] [stdout]  --> src/tests/cpu_instrs.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::{cpu, GBTerm};
[INFO] [stdout]   |             ^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::cpu::CPU`
[INFO] [stdout]  --> src/tests/cpu_instrs.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::cpu::CPU;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::io_device::cartridge`
[INFO] [stdout]  --> src/tests/cpu_instrs.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::io_device::cartridge;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::mmu::MMU`
[INFO] [stdout]  --> src/tests/cpu_instrs.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::mmu::MMU;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RefCell`
[INFO] [stdout]  --> src/mother_board.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::{Ref, RefCell};
[INFO] [stdout]   |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Memory`
[INFO] [stdout]  --> src/mother_board.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::mmu::{Memory, MMU, RefMemory};
[INFO] [stdout]   |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/mmu.rs:98:32
[INFO] [stdout]    |
[INFO] [stdout] 98 |               0xFF01 => todo!(), /// SB Serial transfer data R/W All
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 99 | /             0xFF02 => todo!(), /// SC Serial transfer control R/W Mixed
[INFO] [stdout] 100| |             0xFF04 => todo!(), /// DIV Divider register R/W All
[INFO] [stdout] 101| |             0xFF05 => todo!(), /// TIMA Timer counter R/W All
[INFO] [stdout] 102| |             0xFF06 => todo!(), /// TMA Timer modulo R/W All
[INFO] [stdout] ...  |
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/mmu.rs:99:32
[INFO] [stdout]    |
[INFO] [stdout] 99 |               0xFF02 => todo!(), /// SC Serial transfer control R/W Mixed
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 100| /             0xFF04 => todo!(), /// DIV Divider register R/W All
[INFO] [stdout] 101| |             0xFF05 => todo!(), /// TIMA Timer counter R/W All
[INFO] [stdout] 102| |             0xFF06 => todo!(), /// TMA Timer modulo R/W All
[INFO] [stdout] 103| |             0xFF07 => todo!(), /// TAC Timer control R/W All
[INFO] [stdout] ...  |
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:100:32
[INFO] [stdout]     |
[INFO] [stdout] 100 |               0xFF04 => todo!(), /// DIV Divider register R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 101 | /             0xFF05 => todo!(), /// TIMA Timer counter R/W All
[INFO] [stdout] 102 | |             0xFF06 => todo!(), /// TMA Timer modulo R/W All
[INFO] [stdout] 103 | |             0xFF07 => todo!(), /// TAC Timer control R/W All
[INFO] [stdout] 104 | |             0xFF0F => self.interrupt.borrow().get(addr),
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:101:32
[INFO] [stdout]     |
[INFO] [stdout] 101 |               0xFF05 => todo!(), /// TIMA Timer counter R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 102 | /             0xFF06 => todo!(), /// TMA Timer modulo R/W All
[INFO] [stdout] 103 | |             0xFF07 => todo!(), /// TAC Timer control R/W All
[INFO] [stdout] 104 | |             0xFF0F => self.interrupt.borrow().get(addr),
[INFO] [stdout] 105 | |             0xFF10 => todo!(), /// NR10 Sound channel 1 sweep R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:102:32
[INFO] [stdout]     |
[INFO] [stdout] 102 |               0xFF06 => todo!(), /// TMA Timer modulo R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 103 | /             0xFF07 => todo!(), /// TAC Timer control R/W All
[INFO] [stdout] 104 | |             0xFF0F => self.interrupt.borrow().get(addr),
[INFO] [stdout] 105 | |             0xFF10 => todo!(), /// NR10 Sound channel 1 sweep R/W All
[INFO] [stdout] 106 | |             0xFF11 => todo!(), /// NR11 Sound channel 1 length timer & duty cycle Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:103:32
[INFO] [stdout]     |
[INFO] [stdout] 103 |             0xFF07 => todo!(), /// TAC Timer control R/W All
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 104 |             0xFF0F => self.interrupt.borrow().get(addr),
[INFO] [stdout]     |             ------------------------------------------- rustdoc does not generate documentation for match arms
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:105:32
[INFO] [stdout]     |
[INFO] [stdout] 105 |               0xFF10 => todo!(), /// NR10 Sound channel 1 sweep R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 106 | /             0xFF11 => todo!(), /// NR11 Sound channel 1 length timer & duty cycle Mixed All
[INFO] [stdout] 107 | |             0xFF12 => todo!(), /// NR12 Sound channel 1 volume & envelope R/W All
[INFO] [stdout] 108 | |             0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All
[INFO] [stdout] 109 | |             0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:106:32
[INFO] [stdout]     |
[INFO] [stdout] 106 |               0xFF11 => todo!(), /// NR11 Sound channel 1 length timer & duty cycle Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 107 | /             0xFF12 => todo!(), /// NR12 Sound channel 1 volume & envelope R/W All
[INFO] [stdout] 108 | |             0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All
[INFO] [stdout] 109 | |             0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All
[INFO] [stdout] 110 | |             0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:107:32
[INFO] [stdout]     |
[INFO] [stdout] 107 |               0xFF12 => todo!(), /// NR12 Sound channel 1 volume & envelope R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 108 | /             0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All
[INFO] [stdout] 109 | |             0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All
[INFO] [stdout] 110 | |             0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All
[INFO] [stdout] 111 | |             0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:108:32
[INFO] [stdout]     |
[INFO] [stdout] 108 |               0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 109 | /             0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All
[INFO] [stdout] 110 | |             0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All
[INFO] [stdout] 111 | |             0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All
[INFO] [stdout] 112 | |             0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:109:32
[INFO] [stdout]     |
[INFO] [stdout] 109 |               0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 110 | /             0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All
[INFO] [stdout] 111 | |             0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All
[INFO] [stdout] 112 | |             0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All
[INFO] [stdout] 113 | |             0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:110:32
[INFO] [stdout]     |
[INFO] [stdout] 110 |               0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 111 | /             0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All
[INFO] [stdout] 112 | |             0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All
[INFO] [stdout] 113 | |             0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All
[INFO] [stdout] 114 | |             0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:111:32
[INFO] [stdout]     |
[INFO] [stdout] 111 |               0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 112 | /             0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All
[INFO] [stdout] 113 | |             0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All
[INFO] [stdout] 114 | |             0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All
[INFO] [stdout] 115 | |             0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:112:32
[INFO] [stdout]     |
[INFO] [stdout] 112 |               0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 113 | /             0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All
[INFO] [stdout] 114 | |             0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All
[INFO] [stdout] 115 | |             0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All
[INFO] [stdout] 116 | |             0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:113:32
[INFO] [stdout]     |
[INFO] [stdout] 113 |               0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 114 | /             0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All
[INFO] [stdout] 115 | |             0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All
[INFO] [stdout] 116 | |             0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All
[INFO] [stdout] 117 | |             0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:114:32
[INFO] [stdout]     |
[INFO] [stdout] 114 |               0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 115 | /             0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All
[INFO] [stdout] 116 | |             0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All
[INFO] [stdout] 117 | |             0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All
[INFO] [stdout] 118 | |             0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:115:32
[INFO] [stdout]     |
[INFO] [stdout] 115 |               0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 116 | /             0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All
[INFO] [stdout] 117 | |             0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All
[INFO] [stdout] 118 | |             0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All
[INFO] [stdout] 119 | |             0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:116:32
[INFO] [stdout]     |
[INFO] [stdout] 116 |               0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 117 | /             0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All
[INFO] [stdout] 118 | |             0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All
[INFO] [stdout] 119 | |             0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All
[INFO] [stdout] 120 | |             0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:117:32
[INFO] [stdout]     |
[INFO] [stdout] 117 |               0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 118 | /             0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All
[INFO] [stdout] 119 | |             0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All
[INFO] [stdout] 120 | |             0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All
[INFO] [stdout] 121 | |             0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:118:32
[INFO] [stdout]     |
[INFO] [stdout] 118 |               0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 119 | /             0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All
[INFO] [stdout] 120 | |             0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All
[INFO] [stdout] 121 | |             0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All
[INFO] [stdout] 122 | |             0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:119:32
[INFO] [stdout]     |
[INFO] [stdout] 119 |               0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 120 | /             0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All
[INFO] [stdout] 121 | |             0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All
[INFO] [stdout] 122 | |             0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All
[INFO] [stdout] 123 | |             0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:120:32
[INFO] [stdout]     |
[INFO] [stdout] 120 |               0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 121 | /             0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All
[INFO] [stdout] 122 | |             0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All
[INFO] [stdout] 123 | |             0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All
[INFO] [stdout] 124 | |             0xFF25 => todo!(), /// NR51 Sound panning R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:121:32
[INFO] [stdout]     |
[INFO] [stdout] 121 |               0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 122 | /             0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All
[INFO] [stdout] 123 | |             0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All
[INFO] [stdout] 124 | |             0xFF25 => todo!(), /// NR51 Sound panning R/W All
[INFO] [stdout] 125 | |             0xFF26 => todo!(), /// NR52 Sound on/off Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:122:32
[INFO] [stdout]     |
[INFO] [stdout] 122 |               0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 123 | /             0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All
[INFO] [stdout] 124 | |             0xFF25 => todo!(), /// NR51 Sound panning R/W All
[INFO] [stdout] 125 | |             0xFF26 => todo!(), /// NR52 Sound on/off Mixed All
[INFO] [stdout] 126 | |             0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:123:32
[INFO] [stdout]     |
[INFO] [stdout] 123 |               0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 124 | /             0xFF25 => todo!(), /// NR51 Sound panning R/W All
[INFO] [stdout] 125 | |             0xFF26 => todo!(), /// NR52 Sound on/off Mixed All
[INFO] [stdout] 126 | |             0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All
[INFO] [stdout] 127 | |             0xFF40 => todo!(), /// LCDC LCD control R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:124:32
[INFO] [stdout]     |
[INFO] [stdout] 124 |               0xFF25 => todo!(), /// NR51 Sound panning R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 125 | /             0xFF26 => todo!(), /// NR52 Sound on/off Mixed All
[INFO] [stdout] 126 | |             0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All
[INFO] [stdout] 127 | |             0xFF40 => todo!(), /// LCDC LCD control R/W All
[INFO] [stdout] 128 | |             0xFF41 => todo!(), /// STAT LCD status Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:125:32
[INFO] [stdout]     |
[INFO] [stdout] 125 |               0xFF26 => todo!(), /// NR52 Sound on/off Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 126 | /             0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All
[INFO] [stdout] 127 | |             0xFF40 => todo!(), /// LCDC LCD control R/W All
[INFO] [stdout] 128 | |             0xFF41 => todo!(), /// STAT LCD status Mixed All
[INFO] [stdout] 129 | |             0xFF42 => todo!(), /// SCY Viewport Y position R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:126:41
[INFO] [stdout]     |
[INFO] [stdout] 126 |               0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 127 | /             0xFF40 => todo!(), /// LCDC LCD control R/W All
[INFO] [stdout] 128 | |             0xFF41 => todo!(), /// STAT LCD status Mixed All
[INFO] [stdout] 129 | |             0xFF42 => todo!(), /// SCY Viewport Y position R/W All
[INFO] [stdout] 130 | |             0xFF43 => todo!(), /// SCX Viewport X position R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:127:32
[INFO] [stdout]     |
[INFO] [stdout] 127 |               0xFF40 => todo!(), /// LCDC LCD control R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 128 | /             0xFF41 => todo!(), /// STAT LCD status Mixed All
[INFO] [stdout] 129 | |             0xFF42 => todo!(), /// SCY Viewport Y position R/W All
[INFO] [stdout] 130 | |             0xFF43 => todo!(), /// SCX Viewport X position R/W All
[INFO] [stdout] 131 | |             0xFF44 => todo!(), /// LY LCD Y coordinate R All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:128:32
[INFO] [stdout]     |
[INFO] [stdout] 128 |               0xFF41 => todo!(), /// STAT LCD status Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 129 | /             0xFF42 => todo!(), /// SCY Viewport Y position R/W All
[INFO] [stdout] 130 | |             0xFF43 => todo!(), /// SCX Viewport X position R/W All
[INFO] [stdout] 131 | |             0xFF44 => todo!(), /// LY LCD Y coordinate R All
[INFO] [stdout] 132 | |             0xFF45 => todo!(), /// LYC LY compare R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:129:32
[INFO] [stdout]     |
[INFO] [stdout] 129 |               0xFF42 => todo!(), /// SCY Viewport Y position R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 130 | /             0xFF43 => todo!(), /// SCX Viewport X position R/W All
[INFO] [stdout] 131 | |             0xFF44 => todo!(), /// LY LCD Y coordinate R All
[INFO] [stdout] 132 | |             0xFF45 => todo!(), /// LYC LY compare R/W All
[INFO] [stdout] 133 | |             0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:130:32
[INFO] [stdout]     |
[INFO] [stdout] 130 |               0xFF43 => todo!(), /// SCX Viewport X position R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 131 | /             0xFF44 => todo!(), /// LY LCD Y coordinate R All
[INFO] [stdout] 132 | |             0xFF45 => todo!(), /// LYC LY compare R/W All
[INFO] [stdout] 133 | |             0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All
[INFO] [stdout] 134 | |             0xFF47 => todo!(), /// BGP BG palette data R/W DMG
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:131:32
[INFO] [stdout]     |
[INFO] [stdout] 131 |               0xFF44 => todo!(), /// LY LCD Y coordinate R All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 132 | /             0xFF45 => todo!(), /// LYC LY compare R/W All
[INFO] [stdout] 133 | |             0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All
[INFO] [stdout] 134 | |             0xFF47 => todo!(), /// BGP BG palette data R/W DMG
[INFO] [stdout] 135 | |             0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:132:32
[INFO] [stdout]     |
[INFO] [stdout] 132 |               0xFF45 => todo!(), /// LYC LY compare R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 133 | /             0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All
[INFO] [stdout] 134 | |             0xFF47 => todo!(), /// BGP BG palette data R/W DMG
[INFO] [stdout] 135 | |             0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG
[INFO] [stdout] 136 | |             0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:133:32
[INFO] [stdout]     |
[INFO] [stdout] 133 |               0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 134 | /             0xFF47 => todo!(), /// BGP BG palette data R/W DMG
[INFO] [stdout] 135 | |             0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG
[INFO] [stdout] 136 | |             0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG
[INFO] [stdout] 137 | |             0xFF4A => todo!(), /// WY Window Y position R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:134:32
[INFO] [stdout]     |
[INFO] [stdout] 134 |               0xFF47 => todo!(), /// BGP BG palette data R/W DMG
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 135 | /             0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG
[INFO] [stdout] 136 | |             0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG
[INFO] [stdout] 137 | |             0xFF4A => todo!(), /// WY Window Y position R/W All
[INFO] [stdout] 138 | |             0xFF4B => todo!(), /// WX Window X position plus 7 R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:135:32
[INFO] [stdout]     |
[INFO] [stdout] 135 |               0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 136 | /             0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG
[INFO] [stdout] 137 | |             0xFF4A => todo!(), /// WY Window Y position R/W All
[INFO] [stdout] 138 | |             0xFF4B => todo!(), /// WX Window X position plus 7 R/W All
[INFO] [stdout] 139 | |             0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:136:32
[INFO] [stdout]     |
[INFO] [stdout] 136 |               0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 137 | /             0xFF4A => todo!(), /// WY Window Y position R/W All
[INFO] [stdout] 138 | |             0xFF4B => todo!(), /// WX Window X position plus 7 R/W All
[INFO] [stdout] 139 | |             0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB
[INFO] [stdout] 140 | |             0xFF4F => self.video.get(addr), /// VBK VRAM bank R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:137:32
[INFO] [stdout]     |
[INFO] [stdout] 137 |               0xFF4A => todo!(), /// WY Window Y position R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 138 | /             0xFF4B => todo!(), /// WX Window X position plus 7 R/W All
[INFO] [stdout] 139 | |             0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB
[INFO] [stdout] 140 | |             0xFF4F => self.video.get(addr), /// VBK VRAM bank R/W CGB
[INFO] [stdout] 141 | |             0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:138:32
[INFO] [stdout]     |
[INFO] [stdout] 138 |               0xFF4B => todo!(), /// WX Window X position plus 7 R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 139 | /             0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB
[INFO] [stdout] 140 | |             0xFF4F => self.video.get(addr), /// VBK VRAM bank R/W CGB
[INFO] [stdout] 141 | |             0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB
[INFO] [stdout] 142 | |             0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:139:32
[INFO] [stdout]     |
[INFO] [stdout] 139 |             0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 140 |             0xFF4F => self.video.get(addr), /// VBK VRAM bank R/W CGB
[INFO] [stdout]     |             ------------------------------ rustdoc does not generate documentation for match arms
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:140:45
[INFO] [stdout]     |
[INFO] [stdout] 140 |               0xFF4F => self.video.get(addr), /// VBK VRAM bank R/W CGB
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 141 | /             0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB
[INFO] [stdout] 142 | |             0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB
[INFO] [stdout] 143 | |             0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB
[INFO] [stdout] 144 | |             0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:141:32
[INFO] [stdout]     |
[INFO] [stdout] 141 |               0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 142 | /             0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB
[INFO] [stdout] 143 | |             0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB
[INFO] [stdout] 144 | |             0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB
[INFO] [stdout] 145 | |             0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:142:32
[INFO] [stdout]     |
[INFO] [stdout] 142 |               0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 143 | /             0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB
[INFO] [stdout] 144 | |             0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB
[INFO] [stdout] 145 | |             0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB
[INFO] [stdout] 146 | |             0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:143:32
[INFO] [stdout]     |
[INFO] [stdout] 143 |               0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 144 | /             0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB
[INFO] [stdout] 145 | |             0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB
[INFO] [stdout] 146 | |             0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB
[INFO] [stdout] 147 | |             0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:144:32
[INFO] [stdout]     |
[INFO] [stdout] 144 |               0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 145 | /             0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB
[INFO] [stdout] 146 | |             0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB
[INFO] [stdout] 147 | |             0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB
[INFO] [stdout] 148 | |             0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:145:32
[INFO] [stdout]     |
[INFO] [stdout] 145 |               0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 146 | /             0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB
[INFO] [stdout] 147 | |             0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB
[INFO] [stdout] 148 | |             0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB
[INFO] [stdout] 149 | |             0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:146:32
[INFO] [stdout]     |
[INFO] [stdout] 146 |               0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 147 | /             0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB
[INFO] [stdout] 148 | |             0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB
[INFO] [stdout] 149 | |             0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB
[INFO] [stdout] 150 | |             0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:147:32
[INFO] [stdout]     |
[INFO] [stdout] 147 |               0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 148 | /             0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB
[INFO] [stdout] 149 | |             0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB
[INFO] [stdout] 150 | |             0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB
[INFO] [stdout] 151 | |             0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:148:32
[INFO] [stdout]     |
[INFO] [stdout] 148 |               0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 149 | /             0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB
[INFO] [stdout] 150 | |             0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB
[INFO] [stdout] 151 | |             0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB
[INFO] [stdout] 152 | |             0xFF70 => self.work_ram.get(addr), /// SVBK WRAM bank R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:149:32
[INFO] [stdout]     |
[INFO] [stdout] 149 |               0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 150 | /             0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB
[INFO] [stdout] 151 | |             0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB
[INFO] [stdout] 152 | |             0xFF70 => self.work_ram.get(addr), /// SVBK WRAM bank R/W CGB
[INFO] [stdout] 153 | |             0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:150:32
[INFO] [stdout]     |
[INFO] [stdout] 150 |               0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 151 | /             0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB
[INFO] [stdout] 152 | |             0xFF70 => self.work_ram.get(addr), /// SVBK WRAM bank R/W CGB
[INFO] [stdout] 153 | |             0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB
[INFO] [stdout] 154 | |             0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:151:32
[INFO] [stdout]     |
[INFO] [stdout] 151 |             0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 152 |             0xFF70 => self.work_ram.get(addr), /// SVBK WRAM bank R/W CGB
[INFO] [stdout]     |             --------------------------------- rustdoc does not generate documentation for match arms
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:152:48
[INFO] [stdout]     |
[INFO] [stdout] 152 |               0xFF70 => self.work_ram.get(addr), /// SVBK WRAM bank R/W CGB
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 153 | /             0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB
[INFO] [stdout] 154 | |             0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB
[INFO] [stdout] 155 | |             0xFF80..=0xFFFE => self.work_ram.get(addr),
[INFO] [stdout] 156 | |             0xFFFF => self.interrupt.borrow().get(addr),
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:153:32
[INFO] [stdout]     |
[INFO] [stdout] 153 |               0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 154 | /             0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB
[INFO] [stdout] 155 | |             0xFF80..=0xFFFE => self.work_ram.get(addr),
[INFO] [stdout] 156 | |             0xFFFF => self.interrupt.borrow().get(addr),
[INFO] [stdout] 157 | |             addr => panic!("MMU access denied, addr: 0x{:04X}", addr),
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:154:32
[INFO] [stdout]     |
[INFO] [stdout] 154 |             0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 155 |             0xFF80..=0xFFFE => self.work_ram.get(addr),
[INFO] [stdout]     |             ------------------------------------------ rustdoc does not generate documentation for match arms
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:171:32
[INFO] [stdout]     |
[INFO] [stdout] 171 |               0xFF01 => todo!(), /// SB Serial transfer data R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 172 | /             0xFF02 => todo!(), /// SC Serial transfer control R/W Mixed
[INFO] [stdout] 173 | |             0xFF04 => todo!(), /// DIV Divider register R/W All
[INFO] [stdout] 174 | |             0xFF05 => todo!(), /// TIMA Timer counter R/W All
[INFO] [stdout] 175 | |             0xFF06 => todo!(), /// TMA Timer modulo R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:172:32
[INFO] [stdout]     |
[INFO] [stdout] 172 |               0xFF02 => todo!(), /// SC Serial transfer control R/W Mixed
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 173 | /             0xFF04 => todo!(), /// DIV Divider register R/W All
[INFO] [stdout] 174 | |             0xFF05 => todo!(), /// TIMA Timer counter R/W All
[INFO] [stdout] 175 | |             0xFF06 => todo!(), /// TMA Timer modulo R/W All
[INFO] [stdout] 176 | |             0xFF07 => todo!(), /// TAC Timer control R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:173:32
[INFO] [stdout]     |
[INFO] [stdout] 173 |               0xFF04 => todo!(), /// DIV Divider register R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 174 | /             0xFF05 => todo!(), /// TIMA Timer counter R/W All
[INFO] [stdout] 175 | |             0xFF06 => todo!(), /// TMA Timer modulo R/W All
[INFO] [stdout] 176 | |             0xFF07 => todo!(), /// TAC Timer control R/W All
[INFO] [stdout] 177 | |             0xFF0F => self.interrupt.borrow_mut().set(addr, v),
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:174:32
[INFO] [stdout]     |
[INFO] [stdout] 174 |               0xFF05 => todo!(), /// TIMA Timer counter R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 175 | /             0xFF06 => todo!(), /// TMA Timer modulo R/W All
[INFO] [stdout] 176 | |             0xFF07 => todo!(), /// TAC Timer control R/W All
[INFO] [stdout] 177 | |             0xFF0F => self.interrupt.borrow_mut().set(addr, v),
[INFO] [stdout] 178 | |             0xFF10 => todo!(), /// NR10 Sound channel 1 sweep R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:175:32
[INFO] [stdout]     |
[INFO] [stdout] 175 |               0xFF06 => todo!(), /// TMA Timer modulo R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 176 | /             0xFF07 => todo!(), /// TAC Timer control R/W All
[INFO] [stdout] 177 | |             0xFF0F => self.interrupt.borrow_mut().set(addr, v),
[INFO] [stdout] 178 | |             0xFF10 => todo!(), /// NR10 Sound channel 1 sweep R/W All
[INFO] [stdout] 179 | |             0xFF11 => todo!(), /// NR11 Sound channel 1 length timer & duty cycle Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:176:32
[INFO] [stdout]     |
[INFO] [stdout] 176 |             0xFF07 => todo!(), /// TAC Timer control R/W All
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 177 |             0xFF0F => self.interrupt.borrow_mut().set(addr, v),
[INFO] [stdout]     |             -------------------------------------------------- rustdoc does not generate documentation for match arms
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:178:32
[INFO] [stdout]     |
[INFO] [stdout] 178 |               0xFF10 => todo!(), /// NR10 Sound channel 1 sweep R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 179 | /             0xFF11 => todo!(), /// NR11 Sound channel 1 length timer & duty cycle Mixed All
[INFO] [stdout] 180 | |             0xFF12 => todo!(), /// NR12 Sound channel 1 volume & envelope R/W All
[INFO] [stdout] 181 | |             0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All
[INFO] [stdout] 182 | |             0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:179:32
[INFO] [stdout]     |
[INFO] [stdout] 179 |               0xFF11 => todo!(), /// NR11 Sound channel 1 length timer & duty cycle Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 180 | /             0xFF12 => todo!(), /// NR12 Sound channel 1 volume & envelope R/W All
[INFO] [stdout] 181 | |             0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All
[INFO] [stdout] 182 | |             0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All
[INFO] [stdout] 183 | |             0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:180:32
[INFO] [stdout]     |
[INFO] [stdout] 180 |               0xFF12 => todo!(), /// NR12 Sound channel 1 volume & envelope R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 181 | /             0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All
[INFO] [stdout] 182 | |             0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All
[INFO] [stdout] 183 | |             0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All
[INFO] [stdout] 184 | |             0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:181:32
[INFO] [stdout]     |
[INFO] [stdout] 181 |               0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 182 | /             0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All
[INFO] [stdout] 183 | |             0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All
[INFO] [stdout] 184 | |             0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All
[INFO] [stdout] 185 | |             0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:182:32
[INFO] [stdout]     |
[INFO] [stdout] 182 |               0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 183 | /             0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All
[INFO] [stdout] 184 | |             0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All
[INFO] [stdout] 185 | |             0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All
[INFO] [stdout] 186 | |             0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:183:32
[INFO] [stdout]     |
[INFO] [stdout] 183 |               0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 184 | /             0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All
[INFO] [stdout] 185 | |             0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All
[INFO] [stdout] 186 | |             0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All
[INFO] [stdout] 187 | |             0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:184:32
[INFO] [stdout]     |
[INFO] [stdout] 184 |               0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 185 | /             0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All
[INFO] [stdout] 186 | |             0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All
[INFO] [stdout] 187 | |             0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All
[INFO] [stdout] 188 | |             0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:185:32
[INFO] [stdout]     |
[INFO] [stdout] 185 |               0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 186 | /             0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All
[INFO] [stdout] 187 | |             0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All
[INFO] [stdout] 188 | |             0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All
[INFO] [stdout] 189 | |             0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:186:32
[INFO] [stdout]     |
[INFO] [stdout] 186 |               0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 187 | /             0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All
[INFO] [stdout] 188 | |             0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All
[INFO] [stdout] 189 | |             0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All
[INFO] [stdout] 190 | |             0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:187:32
[INFO] [stdout]     |
[INFO] [stdout] 187 |               0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 188 | /             0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All
[INFO] [stdout] 189 | |             0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All
[INFO] [stdout] 190 | |             0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All
[INFO] [stdout] 191 | |             0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:188:32
[INFO] [stdout]     |
[INFO] [stdout] 188 |               0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 189 | /             0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All
[INFO] [stdout] 190 | |             0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All
[INFO] [stdout] 191 | |             0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All
[INFO] [stdout] 192 | |             0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:189:32
[INFO] [stdout]     |
[INFO] [stdout] 189 |               0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 190 | /             0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All
[INFO] [stdout] 191 | |             0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All
[INFO] [stdout] 192 | |             0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All
[INFO] [stdout] 193 | |             0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:190:32
[INFO] [stdout]     |
[INFO] [stdout] 190 |               0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 191 | /             0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All
[INFO] [stdout] 192 | |             0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All
[INFO] [stdout] 193 | |             0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All
[INFO] [stdout] 194 | |             0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:191:32
[INFO] [stdout]     |
[INFO] [stdout] 191 |               0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 192 | /             0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All
[INFO] [stdout] 193 | |             0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All
[INFO] [stdout] 194 | |             0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All
[INFO] [stdout] 195 | |             0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:192:32
[INFO] [stdout]     |
[INFO] [stdout] 192 |               0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 193 | /             0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All
[INFO] [stdout] 194 | |             0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All
[INFO] [stdout] 195 | |             0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All
[INFO] [stdout] 196 | |             0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:193:32
[INFO] [stdout]     |
[INFO] [stdout] 193 |               0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 194 | /             0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All
[INFO] [stdout] 195 | |             0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All
[INFO] [stdout] 196 | |             0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All
[INFO] [stdout] 197 | |             0xFF25 => todo!(), /// NR51 Sound panning R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:194:32
[INFO] [stdout]     |
[INFO] [stdout] 194 |               0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 195 | /             0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All
[INFO] [stdout] 196 | |             0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All
[INFO] [stdout] 197 | |             0xFF25 => todo!(), /// NR51 Sound panning R/W All
[INFO] [stdout] 198 | |             0xFF26 => todo!(), /// NR52 Sound on/off Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:195:32
[INFO] [stdout]     |
[INFO] [stdout] 195 |               0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 196 | /             0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All
[INFO] [stdout] 197 | |             0xFF25 => todo!(), /// NR51 Sound panning R/W All
[INFO] [stdout] 198 | |             0xFF26 => todo!(), /// NR52 Sound on/off Mixed All
[INFO] [stdout] 199 | |             0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:196:32
[INFO] [stdout]     |
[INFO] [stdout] 196 |               0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 197 | /             0xFF25 => todo!(), /// NR51 Sound panning R/W All
[INFO] [stdout] 198 | |             0xFF26 => todo!(), /// NR52 Sound on/off Mixed All
[INFO] [stdout] 199 | |             0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All
[INFO] [stdout] 200 | |             0xFF40 => todo!(), /// LCDC LCD control R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:197:32
[INFO] [stdout]     |
[INFO] [stdout] 197 |               0xFF25 => todo!(), /// NR51 Sound panning R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 198 | /             0xFF26 => todo!(), /// NR52 Sound on/off Mixed All
[INFO] [stdout] 199 | |             0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All
[INFO] [stdout] 200 | |             0xFF40 => todo!(), /// LCDC LCD control R/W All
[INFO] [stdout] 201 | |             0xFF41 => todo!(), /// STAT LCD status Mixed All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:198:32
[INFO] [stdout]     |
[INFO] [stdout] 198 |               0xFF26 => todo!(), /// NR52 Sound on/off Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 199 | /             0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All
[INFO] [stdout] 200 | |             0xFF40 => todo!(), /// LCDC LCD control R/W All
[INFO] [stdout] 201 | |             0xFF41 => todo!(), /// STAT LCD status Mixed All
[INFO] [stdout] 202 | |             0xFF42 => todo!(), /// SCY Viewport Y position R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:199:41
[INFO] [stdout]     |
[INFO] [stdout] 199 |               0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 200 | /             0xFF40 => todo!(), /// LCDC LCD control R/W All
[INFO] [stdout] 201 | |             0xFF41 => todo!(), /// STAT LCD status Mixed All
[INFO] [stdout] 202 | |             0xFF42 => todo!(), /// SCY Viewport Y position R/W All
[INFO] [stdout] 203 | |             0xFF43 => todo!(), /// SCX Viewport X position R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:200:32
[INFO] [stdout]     |
[INFO] [stdout] 200 |               0xFF40 => todo!(), /// LCDC LCD control R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 201 | /             0xFF41 => todo!(), /// STAT LCD status Mixed All
[INFO] [stdout] 202 | |             0xFF42 => todo!(), /// SCY Viewport Y position R/W All
[INFO] [stdout] 203 | |             0xFF43 => todo!(), /// SCX Viewport X position R/W All
[INFO] [stdout] 204 | |             0xFF44 => todo!(), /// LY LCD Y coordinate R All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:201:32
[INFO] [stdout]     |
[INFO] [stdout] 201 |               0xFF41 => todo!(), /// STAT LCD status Mixed All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 202 | /             0xFF42 => todo!(), /// SCY Viewport Y position R/W All
[INFO] [stdout] 203 | |             0xFF43 => todo!(), /// SCX Viewport X position R/W All
[INFO] [stdout] 204 | |             0xFF44 => todo!(), /// LY LCD Y coordinate R All
[INFO] [stdout] 205 | |             0xFF45 => todo!(), /// LYC LY compare R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:202:32
[INFO] [stdout]     |
[INFO] [stdout] 202 |               0xFF42 => todo!(), /// SCY Viewport Y position R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 203 | /             0xFF43 => todo!(), /// SCX Viewport X position R/W All
[INFO] [stdout] 204 | |             0xFF44 => todo!(), /// LY LCD Y coordinate R All
[INFO] [stdout] 205 | |             0xFF45 => todo!(), /// LYC LY compare R/W All
[INFO] [stdout] 206 | |             0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:203:32
[INFO] [stdout]     |
[INFO] [stdout] 203 |               0xFF43 => todo!(), /// SCX Viewport X position R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 204 | /             0xFF44 => todo!(), /// LY LCD Y coordinate R All
[INFO] [stdout] 205 | |             0xFF45 => todo!(), /// LYC LY compare R/W All
[INFO] [stdout] 206 | |             0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All
[INFO] [stdout] 207 | |             0xFF47 => todo!(), /// BGP BG palette data R/W DMG
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:204:32
[INFO] [stdout]     |
[INFO] [stdout] 204 |               0xFF44 => todo!(), /// LY LCD Y coordinate R All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 205 | /             0xFF45 => todo!(), /// LYC LY compare R/W All
[INFO] [stdout] 206 | |             0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All
[INFO] [stdout] 207 | |             0xFF47 => todo!(), /// BGP BG palette data R/W DMG
[INFO] [stdout] 208 | |             0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:205:32
[INFO] [stdout]     |
[INFO] [stdout] 205 |               0xFF45 => todo!(), /// LYC LY compare R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 206 | /             0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All
[INFO] [stdout] 207 | |             0xFF47 => todo!(), /// BGP BG palette data R/W DMG
[INFO] [stdout] 208 | |             0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG
[INFO] [stdout] 209 | |             0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:206:32
[INFO] [stdout]     |
[INFO] [stdout] 206 |               0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 207 | /             0xFF47 => todo!(), /// BGP BG palette data R/W DMG
[INFO] [stdout] 208 | |             0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG
[INFO] [stdout] 209 | |             0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG
[INFO] [stdout] 210 | |             0xFF4A => todo!(), /// WY Window Y position R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:207:32
[INFO] [stdout]     |
[INFO] [stdout] 207 |               0xFF47 => todo!(), /// BGP BG palette data R/W DMG
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 208 | /             0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG
[INFO] [stdout] 209 | |             0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG
[INFO] [stdout] 210 | |             0xFF4A => todo!(), /// WY Window Y position R/W All
[INFO] [stdout] 211 | |             0xFF4B => todo!(), /// WX Window X position plus 7 R/W All
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:208:32
[INFO] [stdout]     |
[INFO] [stdout] 208 |               0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 209 | /             0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG
[INFO] [stdout] 210 | |             0xFF4A => todo!(), /// WY Window Y position R/W All
[INFO] [stdout] 211 | |             0xFF4B => todo!(), /// WX Window X position plus 7 R/W All
[INFO] [stdout] 212 | |             0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:209:32
[INFO] [stdout]     |
[INFO] [stdout] 209 |               0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 210 | /             0xFF4A => todo!(), /// WY Window Y position R/W All
[INFO] [stdout] 211 | |             0xFF4B => todo!(), /// WX Window X position plus 7 R/W All
[INFO] [stdout] 212 | |             0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB
[INFO] [stdout] 213 | |             0xFF4F => self.video.set(addr, v), /// VBK VRAM bank R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:210:32
[INFO] [stdout]     |
[INFO] [stdout] 210 |               0xFF4A => todo!(), /// WY Window Y position R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 211 | /             0xFF4B => todo!(), /// WX Window X position plus 7 R/W All
[INFO] [stdout] 212 | |             0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB
[INFO] [stdout] 213 | |             0xFF4F => self.video.set(addr, v), /// VBK VRAM bank R/W CGB
[INFO] [stdout] 214 | |             0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:211:32
[INFO] [stdout]     |
[INFO] [stdout] 211 |               0xFF4B => todo!(), /// WX Window X position plus 7 R/W All
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 212 | /             0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB
[INFO] [stdout] 213 | |             0xFF4F => self.video.set(addr, v), /// VBK VRAM bank R/W CGB
[INFO] [stdout] 214 | |             0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB
[INFO] [stdout] 215 | |             0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:212:32
[INFO] [stdout]     |
[INFO] [stdout] 212 |             0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 213 |             0xFF4F => self.video.set(addr, v), /// VBK VRAM bank R/W CGB
[INFO] [stdout]     |             --------------------------------- rustdoc does not generate documentation for match arms
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:213:48
[INFO] [stdout]     |
[INFO] [stdout] 213 |               0xFF4F => self.video.set(addr, v), /// VBK VRAM bank R/W CGB
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 214 | /             0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB
[INFO] [stdout] 215 | |             0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB
[INFO] [stdout] 216 | |             0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB
[INFO] [stdout] 217 | |             0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:214:32
[INFO] [stdout]     |
[INFO] [stdout] 214 |               0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 215 | /             0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB
[INFO] [stdout] 216 | |             0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB
[INFO] [stdout] 217 | |             0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB
[INFO] [stdout] 218 | |             0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:215:32
[INFO] [stdout]     |
[INFO] [stdout] 215 |               0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 216 | /             0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB
[INFO] [stdout] 217 | |             0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB
[INFO] [stdout] 218 | |             0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB
[INFO] [stdout] 219 | |             0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:216:32
[INFO] [stdout]     |
[INFO] [stdout] 216 |               0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 217 | /             0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB
[INFO] [stdout] 218 | |             0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB
[INFO] [stdout] 219 | |             0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB
[INFO] [stdout] 220 | |             0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:217:32
[INFO] [stdout]     |
[INFO] [stdout] 217 |               0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 218 | /             0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB
[INFO] [stdout] 219 | |             0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB
[INFO] [stdout] 220 | |             0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB
[INFO] [stdout] 221 | |             0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:218:32
[INFO] [stdout]     |
[INFO] [stdout] 218 |               0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 219 | /             0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB
[INFO] [stdout] 220 | |             0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB
[INFO] [stdout] 221 | |             0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB
[INFO] [stdout] 222 | |             0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:219:32
[INFO] [stdout]     |
[INFO] [stdout] 219 |               0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 220 | /             0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB
[INFO] [stdout] 221 | |             0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB
[INFO] [stdout] 222 | |             0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB
[INFO] [stdout] 223 | |             0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:220:32
[INFO] [stdout]     |
[INFO] [stdout] 220 |               0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 221 | /             0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB
[INFO] [stdout] 222 | |             0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB
[INFO] [stdout] 223 | |             0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB
[INFO] [stdout] 224 | |             0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:221:32
[INFO] [stdout]     |
[INFO] [stdout] 221 |               0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 222 | /             0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB
[INFO] [stdout] 223 | |             0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB
[INFO] [stdout] 224 | |             0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB
[INFO] [stdout] 225 | |             0xFF70 => self.work_ram.set(addr, v), /// SVBK WRAM bank R/W CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:222:32
[INFO] [stdout]     |
[INFO] [stdout] 222 |               0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 223 | /             0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB
[INFO] [stdout] 224 | |             0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB
[INFO] [stdout] 225 | |             0xFF70 => self.work_ram.set(addr, v), /// SVBK WRAM bank R/W CGB
[INFO] [stdout] 226 | |             0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:223:32
[INFO] [stdout]     |
[INFO] [stdout] 223 |               0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 224 | /             0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB
[INFO] [stdout] 225 | |             0xFF70 => self.work_ram.set(addr, v), /// SVBK WRAM bank R/W CGB
[INFO] [stdout] 226 | |             0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB
[INFO] [stdout] 227 | |             0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:224:32
[INFO] [stdout]     |
[INFO] [stdout] 224 |             0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 225 |             0xFF70 => self.work_ram.set(addr, v), /// SVBK WRAM bank R/W CGB
[INFO] [stdout]     |             ------------------------------------ rustdoc does not generate documentation for match arms
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:225:51
[INFO] [stdout]     |
[INFO] [stdout] 225 |               0xFF70 => self.work_ram.set(addr, v), /// SVBK WRAM bank R/W CGB
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 226 | /             0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB
[INFO] [stdout] 227 | |             0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB
[INFO] [stdout] 228 | |             0xFF80..=0xFFFE => self.work_ram.set(addr, v),
[INFO] [stdout] 229 | |             0xFFFF => self.interrupt.borrow_mut().set(addr, v),
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:226:32
[INFO] [stdout]     |
[INFO] [stdout] 226 |               0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 227 | /             0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB
[INFO] [stdout] 228 | |             0xFF80..=0xFFFE => self.work_ram.set(addr, v),
[INFO] [stdout] 229 | |             0xFFFF => self.interrupt.borrow_mut().set(addr, v),
[INFO] [stdout] 230 | |             addr => panic!("MMU access denied, addr: 0x{:04X}", addr),
[INFO] [stdout] ...   |
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/mmu.rs:227:32
[INFO] [stdout]     |
[INFO] [stdout] 227 |             0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 228 |             0xFF80..=0xFFFE => self.work_ram.set(addr, v),
[INFO] [stdout]     |             --------------------------------------------- rustdoc does not generate documentation for match arms
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::mmu::Memory`
[INFO] [stdout]  --> src/io_device/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::mmu::Memory;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/io_device/joypad.rs:59:28
[INFO] [stdout]    |
[INFO] [stdout] 59 |             self.matrix |= (*key as u8);
[INFO] [stdout]    |                            ^          ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 59 -             self.matrix |= (*key as u8);
[INFO] [stdout] 59 +             self.matrix |= *key as u8;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::cpu::CPU`
[INFO] [stdout]  --> src/io_device/interrupt.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::cpu::CPU;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/io_device/interrupt.rs:81:23
[INFO] [stdout]    |
[INFO] [stdout] 81 |         self.int_f |= (0x01 << (flag as u8));
[INFO] [stdout]    |                       ^                    ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 81 -         self.int_f |= (0x01 << (flag as u8));
[INFO] [stdout] 81 +         self.int_f |= 0x01 << (flag as u8);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]   --> src/tests/cpu_instrs.rs:11:25
[INFO] [stdout]    |
[INFO] [stdout] 10 | #[test]
[INFO] [stdout]    | ------- in this procedural macro expansion
[INFO] [stdout] 11 | fn test_cpu_instrs() -> ! {
[INFO] [stdout]    |                         ^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         unreachable call
[INFO] [stdout]    |                         any code following this expression is unreachable
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout]    = note: this warning originates in the attribute macro `test` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::mmu::Memory`
[INFO] [stdout]   --> src/cpu/lr35902/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::mmu::Memory;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/cpu/lr35902/opcode/cbprefixed_opcode.rs:233:13
[INFO] [stdout]     |
[INFO] [stdout] 233 |             other => panic!("Unsupported opcode: 0x{:04X}", other),
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/tests/cpu_instrs.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let mut mb = MotherBoard::new(rom_path, ram_path, rtc_path).unwrap();
[INFO] [stdout]    |         ----^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `start_at` and `freq` are never read
[INFO] [stdout]   --> src/cpu/mod.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct CPUInfo {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 20 |     start_at: SystemTime,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 21 |     freq: u64,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_hi` is never used
[INFO] [stdout]   --> src/cpu/mod.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub fn get_hi(src: &u16) -> u8 {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_hi` is never used
[INFO] [stdout]   --> src/cpu/mod.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn set_hi(src: &mut u16, val: u8) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_lo` is never used
[INFO] [stdout]   --> src/cpu/mod.rs:45:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn get_lo(src: &u16) -> u8 {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_lo` is never used
[INFO] [stdout]   --> src/cpu/mod.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn set_lo(src: &mut u16, val: u8) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_bit` is never used
[INFO] [stdout]   --> src/cpu/mod.rs:54:8
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub fn get_bit(src: &u16, i: u8) -> u8 {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_bit` is never used
[INFO] [stdout]   --> src/cpu/mod.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub fn set_bit(src: &mut u16, i: u8, val: u8) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ClockStep` is never constructed
[INFO] [stdout]   --> src/cpu/lr35902/clock.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct ClockStep {}
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `now` is never used
[INFO] [stdout]   --> src/cpu/lr35902/clock.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl Clock {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn now(&self) -> SystemTime {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/gpu.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl GPU {
[INFO] [stdout]    | -------- associated function in this implementation
[INFO] [stdout] 14 |     pub fn new() -> GPU {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `mmu` is never read
[INFO] [stdout]   --> src/mother_board.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct MotherBoard {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 12 |     cpu: RefCPU,
[INFO] [stdout] 13 |     mmu: RefMemory,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `cpu` is never used
[INFO] [stdout]   --> src/mother_board.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl MotherBoard {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn cpu(&self) -> Ref<Box<dyn CPU>> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/mmu.rs:241:12
[INFO] [stdout]     |
[INFO] [stdout] 240 | impl<const SIZE: usize> BlockRam<SIZE> {
[INFO] [stdout]     | -------------------------------------- associated function in this implementation
[INFO] [stdout] 241 |     pub fn new() -> BlockRam<SIZE> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/mmu.rs:288:16
[INFO] [stdout]     |
[INFO] [stdout] 287 |     impl TestMemory {
[INFO] [stdout]     |     --------------- associated function in this implementation
[INFO] [stdout] 288 |         pub fn new() -> Self {
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_handler_fn` is never used
[INFO] [stdout]   --> src/io_device/interrupt.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 60 | impl Interrupt {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn set_handler_fn(&mut self, flag: Flag, handler: IntHandlerFunc) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_BASE` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const HEADER_BASE: u16 = 0x0100;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_END` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | const HEADER_END: u16 = 0x014F;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_LEN` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const HEADER_LEN: u16 = HEADER_END - HEADER_BASE + 1;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_ENTRY_BASE` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:25:7
[INFO] [stdout]    |
[INFO] [stdout] 25 | const HEADER_ENTRY_BASE: u16 = 0x0100;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_ENTRY_END` is never used
[INFO] [stdout]   --> src/io_device/cartridge/mod.rs:27:7
[INFO] [stdout]    |
[INFO] [stdout] 27 | const HEADER_ENTRY_END: u16 = 0x0103;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from` is never used
[INFO] [stdout]    --> src/io_device/cartridge/mod.rs:170:12
[INFO] [stdout]     |
[INFO] [stdout] 152 | impl Ram {
[INFO] [stdout]     | -------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn from(mem: Vec<u8>, path: String) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 156 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 1.25s
[INFO] running `Command { std: "docker" "inspect" "69095f6016c5863c67b7aaaf5a5d4d22dbdccbbcf40538e3a30f9448aeca75c6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "69095f6016c5863c67b7aaaf5a5d4d22dbdccbbcf40538e3a30f9448aeca75c6", kill_on_drop: false }`
[INFO] [stdout] 69095f6016c5863c67b7aaaf5a5d4d22dbdccbbcf40538e3a30f9448aeca75c6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 089672b6c5b5715bcb4522a112984629271f59693b1d8d2b8eccd25b9e896337
[INFO] running `Command { std: "docker" "start" "-a" "089672b6c5b5715bcb4522a112984629271f59693b1d8d2b8eccd25b9e896337", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `Memory`
[INFO] [stderr]  --> src/cpu/mod.rs:5:18
[INFO] [stderr]   |
[INFO] [stderr] 5 | use crate::mmu::{Memory, RefMemory};
[INFO] [stderr]   |                  ^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::cpu::CPU`
[INFO] [stderr]  --> src/cpu/lr35902/opcode/mod.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::cpu::CPU;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stderr]    --> src/cpu/lr35902/opcode/cbprefixed_opcode.rs:156:31
[INFO] [stderr]     |
[INFO] [stderr] 156 |                 let n = match (opcode) {
[INFO] [stderr]     |                               ^      ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 156 -                 let n = match (opcode) {
[INFO] [stderr] 156 +                 let n = match opcode {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stderr]    --> src/cpu/lr35902/opcode/cbprefixed_opcode.rs:181:31
[INFO] [stderr]     |
[INFO] [stderr] 181 |                 let n = match (opcode) {
[INFO] [stderr]     |                               ^      ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 181 -                 let n = match (opcode) {
[INFO] [stderr] 181 +                 let n = match opcode {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stderr]    --> src/cpu/lr35902/opcode/cbprefixed_opcode.rs:208:31
[INFO] [stderr]     |
[INFO] [stderr] 208 |                 let n = match (opcode) {
[INFO] [stderr]     |                               ^      ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 208 -                 let n = match (opcode) {
[INFO] [stderr] 208 +                 let n = match opcode {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stderr]    --> src/cpu/lr35902/opcode/cbprefixed_opcode.rs:238:15
[INFO] [stderr]     |
[INFO] [stderr] 238 |         match (opcode & 0x0F) {
[INFO] [stderr]     |               ^             ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 238 -         match (opcode & 0x0F) {
[INFO] [stderr] 238 +         match opcode & 0x0F {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/cpu/lr35902/opcode/cbprefixed_opcode.rs:280:19
[INFO] [stderr]     |
[INFO] [stderr] 280 |         let res = (val >> 1);
[INFO] [stderr]     |                   ^        ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 280 -         let res = (val >> 1);
[INFO] [stderr] 280 +         let res = val >> 1;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `RefCell`
[INFO] [stderr]  --> src/mother_board.rs:1:22
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::cell::{Ref, RefCell};
[INFO] [stderr]   |                      ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Memory`
[INFO] [stderr]  --> src/mother_board.rs:9:18
[INFO] [stderr]   |
[INFO] [stderr] 9 | use crate::mmu::{Memory, MMU, RefMemory};
[INFO] [stderr]   |                  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/mmu.rs:98:32
[INFO] [stderr]    |
[INFO] [stderr] 98 |               0xFF01 => todo!(), /// SB Serial transfer data R/W All
[INFO] [stderr]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 99 | /             0xFF02 => todo!(), /// SC Serial transfer control R/W Mixed
[INFO] [stderr] 100| |             0xFF04 => todo!(), /// DIV Divider register R/W All
[INFO] [stderr] 101| |             0xFF05 => todo!(), /// TIMA Timer counter R/W All
[INFO] [stderr] 102| |             0xFF06 => todo!(), /// TMA Timer modulo R/W All
[INFO] [stderr] ...  |
[INFO] [stderr]    |
[INFO] [stderr]    = help: use `//` for a plain comment
[INFO] [stderr]    = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/mmu.rs:99:32
[INFO] [stderr]    |
[INFO] [stderr] 99 |               0xFF02 => todo!(), /// SC Serial transfer control R/W Mixed
[INFO] [stderr]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 100| /             0xFF04 => todo!(), /// DIV Divider register R/W All
[INFO] [stderr] 101| |             0xFF05 => todo!(), /// TIMA Timer counter R/W All
[INFO] [stderr] 102| |             0xFF06 => todo!(), /// TMA Timer modulo R/W All
[INFO] [stderr] 103| |             0xFF07 => todo!(), /// TAC Timer control R/W All
[INFO] [stderr] ...  |
[INFO] [stderr]    |
[INFO] [stderr]    = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:100:32
[INFO] [stderr]     |
[INFO] [stderr] 100 |               0xFF04 => todo!(), /// DIV Divider register R/W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 101 | /             0xFF05 => todo!(), /// TIMA Timer counter R/W All
[INFO] [stderr] 102 | |             0xFF06 => todo!(), /// TMA Timer modulo R/W All
[INFO] [stderr] 103 | |             0xFF07 => todo!(), /// TAC Timer control R/W All
[INFO] [stderr] 104 | |             0xFF0F => self.interrupt.borrow().get(addr),
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:101:32
[INFO] [stderr]     |
[INFO] [stderr] 101 |               0xFF05 => todo!(), /// TIMA Timer counter R/W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 102 | /             0xFF06 => todo!(), /// TMA Timer modulo R/W All
[INFO] [stderr] 103 | |             0xFF07 => todo!(), /// TAC Timer control R/W All
[INFO] [stderr] 104 | |             0xFF0F => self.interrupt.borrow().get(addr),
[INFO] [stderr] 105 | |             0xFF10 => todo!(), /// NR10 Sound channel 1 sweep R/W All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:102:32
[INFO] [stderr]     |
[INFO] [stderr] 102 |               0xFF06 => todo!(), /// TMA Timer modulo R/W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 103 | /             0xFF07 => todo!(), /// TAC Timer control R/W All
[INFO] [stderr] 104 | |             0xFF0F => self.interrupt.borrow().get(addr),
[INFO] [stderr] 105 | |             0xFF10 => todo!(), /// NR10 Sound channel 1 sweep R/W All
[INFO] [stderr] 106 | |             0xFF11 => todo!(), /// NR11 Sound channel 1 length timer & duty cycle Mixed All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:103:32
[INFO] [stderr]     |
[INFO] [stderr] 103 |             0xFF07 => todo!(), /// TAC Timer control R/W All
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 104 |             0xFF0F => self.interrupt.borrow().get(addr),
[INFO] [stderr]     |             ------------------------------------------- rustdoc does not generate documentation for match arms
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:105:32
[INFO] [stderr]     |
[INFO] [stderr] 105 |               0xFF10 => todo!(), /// NR10 Sound channel 1 sweep R/W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 106 | /             0xFF11 => todo!(), /// NR11 Sound channel 1 length timer & duty cycle Mixed All
[INFO] [stderr] 107 | |             0xFF12 => todo!(), /// NR12 Sound channel 1 volume & envelope R/W All
[INFO] [stderr] 108 | |             0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All
[INFO] [stderr] 109 | |             0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:106:32
[INFO] [stderr]     |
[INFO] [stderr] 106 |               0xFF11 => todo!(), /// NR11 Sound channel 1 length timer & duty cycle Mixed All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 107 | /             0xFF12 => todo!(), /// NR12 Sound channel 1 volume & envelope R/W All
[INFO] [stderr] 108 | |             0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All
[INFO] [stderr] 109 | |             0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All
[INFO] [stderr] 110 | |             0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:107:32
[INFO] [stderr]     |
[INFO] [stderr] 107 |               0xFF12 => todo!(), /// NR12 Sound channel 1 volume & envelope R/W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 108 | /             0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All
[INFO] [stderr] 109 | |             0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All
[INFO] [stderr] 110 | |             0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All
[INFO] [stderr] 111 | |             0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:108:32
[INFO] [stderr]     |
[INFO] [stderr] 108 |               0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 109 | /             0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All
[INFO] [stderr] 110 | |             0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All
[INFO] [stderr] 111 | |             0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All
[INFO] [stderr] 112 | |             0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:109:32
[INFO] [stderr]     |
[INFO] [stderr] 109 |               0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 110 | /             0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All
[INFO] [stderr] 111 | |             0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All
[INFO] [stderr] 112 | |             0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All
[INFO] [stderr] 113 | |             0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:110:32
[INFO] [stderr]     |
[INFO] [stderr] 110 |               0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 111 | /             0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All
[INFO] [stderr] 112 | |             0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All
[INFO] [stderr] 113 | |             0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All
[INFO] [stderr] 114 | |             0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:111:32
[INFO] [stderr]     |
[INFO] [stderr] 111 |               0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 112 | /             0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All
[INFO] [stderr] 113 | |             0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All
[INFO] [stderr] 114 | |             0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All
[INFO] [stderr] 115 | |             0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:112:32
[INFO] [stderr]     |
[INFO] [stderr] 112 |               0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 113 | /             0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All
[INFO] [stderr] 114 | |             0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All
[INFO] [stderr] 115 | |             0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All
[INFO] [stderr] 116 | |             0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:113:32
[INFO] [stderr]     |
[INFO] [stderr] 113 |               0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 114 | /             0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All
[INFO] [stderr] 115 | |             0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All
[INFO] [stderr] 116 | |             0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All
[INFO] [stderr] 117 | |             0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:114:32
[INFO] [stderr]     |
[INFO] [stderr] 114 |               0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 115 | /             0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All
[INFO] [stderr] 116 | |             0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All
[INFO] [stderr] 117 | |             0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All
[INFO] [stderr] 118 | |             0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:115:32
[INFO] [stderr]     |
[INFO] [stderr] 115 |               0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 116 | /             0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All
[INFO] [stderr] 117 | |             0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All
[INFO] [stderr] 118 | |             0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All
[INFO] [stderr] 119 | |             0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:116:32
[INFO] [stderr]     |
[INFO] [stderr] 116 |               0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 117 | /             0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All
[INFO] [stderr] 118 | |             0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All
[INFO] [stderr] 119 | |             0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All
[INFO] [stderr] 120 | |             0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:117:32
[INFO] [stderr]     |
[INFO] [stderr] 117 |               0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 118 | /             0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All
[INFO] [stderr] 119 | |             0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All
[INFO] [stderr] 120 | |             0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All
[INFO] [stderr] 121 | |             0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:118:32
[INFO] [stderr]     |
[INFO] [stderr] 118 |               0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 119 | /             0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All
[INFO] [stderr] 120 | |             0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All
[INFO] [stderr] 121 | |             0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All
[INFO] [stderr] 122 | |             0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:119:32
[INFO] [stderr]     |
[INFO] [stderr] 119 |               0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 120 | /             0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All
[INFO] [stderr] 121 | |             0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All
[INFO] [stderr] 122 | |             0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All
[INFO] [stderr] 123 | |             0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:120:32
[INFO] [stderr]     |
[INFO] [stderr] 120 |               0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 121 | /             0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All
[INFO] [stderr] 122 | |             0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All
[INFO] [stderr] 123 | |             0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All
[INFO] [stderr] 124 | |             0xFF25 => todo!(), /// NR51 Sound panning R/W All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:121:32
[INFO] [stderr]     |
[INFO] [stderr] 121 |               0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 122 | /             0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All
[INFO] [stderr] 123 | |             0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All
[INFO] [stderr] 124 | |             0xFF25 => todo!(), /// NR51 Sound panning R/W All
[INFO] [stderr] 125 | |             0xFF26 => todo!(), /// NR52 Sound on/off Mixed All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:122:32
[INFO] [stderr]     |
[INFO] [stderr] 122 |               0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 123 | /             0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All
[INFO] [stderr] 124 | |             0xFF25 => todo!(), /// NR51 Sound panning R/W All
[INFO] [stderr] 125 | |             0xFF26 => todo!(), /// NR52 Sound on/off Mixed All
[INFO] [stderr] 126 | |             0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:123:32
[INFO] [stderr]     |
[INFO] [stderr] 123 |               0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 124 | /             0xFF25 => todo!(), /// NR51 Sound panning R/W All
[INFO] [stderr] 125 | |             0xFF26 => todo!(), /// NR52 Sound on/off Mixed All
[INFO] [stderr] 126 | |             0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All
[INFO] [stderr] 127 | |             0xFF40 => todo!(), /// LCDC LCD control R/W All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:124:32
[INFO] [stderr]     |
[INFO] [stderr] 124 |               0xFF25 => todo!(), /// NR51 Sound panning R/W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 125 | /             0xFF26 => todo!(), /// NR52 Sound on/off Mixed All
[INFO] [stderr] 126 | |             0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All
[INFO] [stderr] 127 | |             0xFF40 => todo!(), /// LCDC LCD control R/W All
[INFO] [stderr] 128 | |             0xFF41 => todo!(), /// STAT LCD status Mixed All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:125:32
[INFO] [stderr]     |
[INFO] [stderr] 125 |               0xFF26 => todo!(), /// NR52 Sound on/off Mixed All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 126 | /             0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All
[INFO] [stderr] 127 | |             0xFF40 => todo!(), /// LCDC LCD control R/W All
[INFO] [stderr] 128 | |             0xFF41 => todo!(), /// STAT LCD status Mixed All
[INFO] [stderr] 129 | |             0xFF42 => todo!(), /// SCY Viewport Y position R/W All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:126:41
[INFO] [stderr]     |
[INFO] [stderr] 126 |               0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All
[INFO] [stderr]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 127 | /             0xFF40 => todo!(), /// LCDC LCD control R/W All
[INFO] [stderr] 128 | |             0xFF41 => todo!(), /// STAT LCD status Mixed All
[INFO] [stderr] 129 | |             0xFF42 => todo!(), /// SCY Viewport Y position R/W All
[INFO] [stderr] 130 | |             0xFF43 => todo!(), /// SCX Viewport X position R/W All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:127:32
[INFO] [stderr]     |
[INFO] [stderr] 127 |               0xFF40 => todo!(), /// LCDC LCD control R/W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 128 | /             0xFF41 => todo!(), /// STAT LCD status Mixed All
[INFO] [stderr] 129 | |             0xFF42 => todo!(), /// SCY Viewport Y position R/W All
[INFO] [stderr] 130 | |             0xFF43 => todo!(), /// SCX Viewport X position R/W All
[INFO] [stderr] 131 | |             0xFF44 => todo!(), /// LY LCD Y coordinate R All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:128:32
[INFO] [stderr]     |
[INFO] [stderr] 128 |               0xFF41 => todo!(), /// STAT LCD status Mixed All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 129 | /             0xFF42 => todo!(), /// SCY Viewport Y position R/W All
[INFO] [stderr] 130 | |             0xFF43 => todo!(), /// SCX Viewport X position R/W All
[INFO] [stderr] 131 | |             0xFF44 => todo!(), /// LY LCD Y coordinate R All
[INFO] [stderr] 132 | |             0xFF45 => todo!(), /// LYC LY compare R/W All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:129:32
[INFO] [stderr]     |
[INFO] [stderr] 129 |               0xFF42 => todo!(), /// SCY Viewport Y position R/W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 130 | /             0xFF43 => todo!(), /// SCX Viewport X position R/W All
[INFO] [stderr] 131 | |             0xFF44 => todo!(), /// LY LCD Y coordinate R All
[INFO] [stderr] 132 | |             0xFF45 => todo!(), /// LYC LY compare R/W All
[INFO] [stderr] 133 | |             0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:130:32
[INFO] [stderr]     |
[INFO] [stderr] 130 |               0xFF43 => todo!(), /// SCX Viewport X position R/W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 131 | /             0xFF44 => todo!(), /// LY LCD Y coordinate R All
[INFO] [stderr] 132 | |             0xFF45 => todo!(), /// LYC LY compare R/W All
[INFO] [stderr] 133 | |             0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All
[INFO] [stderr] 134 | |             0xFF47 => todo!(), /// BGP BG palette data R/W DMG
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:131:32
[INFO] [stderr]     |
[INFO] [stderr] 131 |               0xFF44 => todo!(), /// LY LCD Y coordinate R All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 132 | /             0xFF45 => todo!(), /// LYC LY compare R/W All
[INFO] [stderr] 133 | |             0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All
[INFO] [stderr] 134 | |             0xFF47 => todo!(), /// BGP BG palette data R/W DMG
[INFO] [stderr] 135 | |             0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:132:32
[INFO] [stderr]     |
[INFO] [stderr] 132 |               0xFF45 => todo!(), /// LYC LY compare R/W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 133 | /             0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All
[INFO] [stderr] 134 | |             0xFF47 => todo!(), /// BGP BG palette data R/W DMG
[INFO] [stderr] 135 | |             0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG
[INFO] [stderr] 136 | |             0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:133:32
[INFO] [stderr]     |
[INFO] [stderr] 133 |               0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 134 | /             0xFF47 => todo!(), /// BGP BG palette data R/W DMG
[INFO] [stderr] 135 | |             0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG
[INFO] [stderr] 136 | |             0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG
[INFO] [stderr] 137 | |             0xFF4A => todo!(), /// WY Window Y position R/W All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:134:32
[INFO] [stderr]     |
[INFO] [stderr] 134 |               0xFF47 => todo!(), /// BGP BG palette data R/W DMG
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 135 | /             0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG
[INFO] [stderr] 136 | |             0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG
[INFO] [stderr] 137 | |             0xFF4A => todo!(), /// WY Window Y position R/W All
[INFO] [stderr] 138 | |             0xFF4B => todo!(), /// WX Window X position plus 7 R/W All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:135:32
[INFO] [stderr]     |
[INFO] [stderr] 135 |               0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 136 | /             0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG
[INFO] [stderr] 137 | |             0xFF4A => todo!(), /// WY Window Y position R/W All
[INFO] [stderr] 138 | |             0xFF4B => todo!(), /// WX Window X position plus 7 R/W All
[INFO] [stderr] 139 | |             0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:136:32
[INFO] [stderr]     |
[INFO] [stderr] 136 |               0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 137 | /             0xFF4A => todo!(), /// WY Window Y position R/W All
[INFO] [stderr] 138 | |             0xFF4B => todo!(), /// WX Window X position plus 7 R/W All
[INFO] [stderr] 139 | |             0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB
[INFO] [stderr] 140 | |             0xFF4F => self.video.get(addr), /// VBK VRAM bank R/W CGB
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:137:32
[INFO] [stderr]     |
[INFO] [stderr] 137 |               0xFF4A => todo!(), /// WY Window Y position R/W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 138 | /             0xFF4B => todo!(), /// WX Window X position plus 7 R/W All
[INFO] [stderr] 139 | |             0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB
[INFO] [stderr] 140 | |             0xFF4F => self.video.get(addr), /// VBK VRAM bank R/W CGB
[INFO] [stderr] 141 | |             0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:138:32
[INFO] [stderr]     |
[INFO] [stderr] 138 |               0xFF4B => todo!(), /// WX Window X position plus 7 R/W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 139 | /             0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB
[INFO] [stderr] 140 | |             0xFF4F => self.video.get(addr), /// VBK VRAM bank R/W CGB
[INFO] [stderr] 141 | |             0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB
[INFO] [stderr] 142 | |             0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:139:32
[INFO] [stderr]     |
[INFO] [stderr] 139 |             0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 140 |             0xFF4F => self.video.get(addr), /// VBK VRAM bank R/W CGB
[INFO] [stderr]     |             ------------------------------ rustdoc does not generate documentation for match arms
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:140:45
[INFO] [stderr]     |
[INFO] [stderr] 140 |               0xFF4F => self.video.get(addr), /// VBK VRAM bank R/W CGB
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 141 | /             0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB
[INFO] [stderr] 142 | |             0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB
[INFO] [stderr] 143 | |             0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB
[INFO] [stderr] 144 | |             0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:141:32
[INFO] [stderr]     |
[INFO] [stderr] 141 |               0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 142 | /             0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB
[INFO] [stderr] 143 | |             0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB
[INFO] [stderr] 144 | |             0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB
[INFO] [stderr] 145 | |             0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:142:32
[INFO] [stderr]     |
[INFO] [stderr] 142 |               0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 143 | /             0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB
[INFO] [stderr] 144 | |             0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB
[INFO] [stderr] 145 | |             0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB
[INFO] [stderr] 146 | |             0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:143:32
[INFO] [stderr]     |
[INFO] [stderr] 143 |               0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 144 | /             0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB
[INFO] [stderr] 145 | |             0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB
[INFO] [stderr] 146 | |             0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB
[INFO] [stderr] 147 | |             0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:144:32
[INFO] [stderr]     |
[INFO] [stderr] 144 |               0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 145 | /             0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB
[INFO] [stderr] 146 | |             0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB
[INFO] [stderr] 147 | |             0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB
[INFO] [stderr] 148 | |             0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:145:32
[INFO] [stderr]     |
[INFO] [stderr] 145 |               0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 146 | /             0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB
[INFO] [stderr] 147 | |             0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB
[INFO] [stderr] 148 | |             0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB
[INFO] [stderr] 149 | |             0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:146:32
[INFO] [stderr]     |
[INFO] [stderr] 146 |               0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 147 | /             0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB
[INFO] [stderr] 148 | |             0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB
[INFO] [stderr] 149 | |             0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB
[INFO] [stderr] 150 | |             0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:147:32
[INFO] [stderr]     |
[INFO] [stderr] 147 |               0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 148 | /             0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB
[INFO] [stderr] 149 | |             0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB
[INFO] [stderr] 150 | |             0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB
[INFO] [stderr] 151 | |             0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:148:32
[INFO] [stderr]     |
[INFO] [stderr] 148 |               0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 149 | /             0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB
[INFO] [stderr] 150 | |             0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB
[INFO] [stderr] 151 | |             0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB
[INFO] [stderr] 152 | |             0xFF70 => self.work_ram.get(addr), /// SVBK WRAM bank R/W CGB
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:149:32
[INFO] [stderr]     |
[INFO] [stderr] 149 |               0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 150 | /             0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB
[INFO] [stderr] 151 | |             0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB
[INFO] [stderr] 152 | |             0xFF70 => self.work_ram.get(addr), /// SVBK WRAM bank R/W CGB
[INFO] [stderr] 153 | |             0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:150:32
[INFO] [stderr]     |
[INFO] [stderr] 150 |               0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 151 | /             0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB
[INFO] [stderr] 152 | |             0xFF70 => self.work_ram.get(addr), /// SVBK WRAM bank R/W CGB
[INFO] [stderr] 153 | |             0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB
[INFO] [stderr] 154 | |             0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:151:32
[INFO] [stderr]     |
[INFO] [stderr] 151 |             0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 152 |             0xFF70 => self.work_ram.get(addr), /// SVBK WRAM bank R/W CGB
[INFO] [stderr]     |             --------------------------------- rustdoc does not generate documentation for match arms
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:152:48
[INFO] [stderr]     |
[INFO] [stderr] 152 |               0xFF70 => self.work_ram.get(addr), /// SVBK WRAM bank R/W CGB
[INFO] [stderr]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 153 | /             0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB
[INFO] [stderr] 154 | |             0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB
[INFO] [stderr] 155 | |             0xFF80..=0xFFFE => self.work_ram.get(addr),
[INFO] [stderr] 156 | |             0xFFFF => self.interrupt.borrow().get(addr),
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:153:32
[INFO] [stderr]     |
[INFO] [stderr] 153 |               0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 154 | /             0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB
[INFO] [stderr] 155 | |             0xFF80..=0xFFFE => self.work_ram.get(addr),
[INFO] [stderr] 156 | |             0xFFFF => self.interrupt.borrow().get(addr),
[INFO] [stderr] 157 | |             addr => panic!("MMU access denied, addr: 0x{:04X}", addr),
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:154:32
[INFO] [stderr]     |
[INFO] [stderr] 154 |             0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 155 |             0xFF80..=0xFFFE => self.work_ram.get(addr),
[INFO] [stderr]     |             ------------------------------------------ rustdoc does not generate documentation for match arms
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:171:32
[INFO] [stderr]     |
[INFO] [stderr] 171 |               0xFF01 => todo!(), /// SB Serial transfer data R/W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 172 | /             0xFF02 => todo!(), /// SC Serial transfer control R/W Mixed
[INFO] [stderr] 173 | |             0xFF04 => todo!(), /// DIV Divider register R/W All
[INFO] [stderr] 174 | |             0xFF05 => todo!(), /// TIMA Timer counter R/W All
[INFO] [stderr] 175 | |             0xFF06 => todo!(), /// TMA Timer modulo R/W All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:172:32
[INFO] [stderr]     |
[INFO] [stderr] 172 |               0xFF02 => todo!(), /// SC Serial transfer control R/W Mixed
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 173 | /             0xFF04 => todo!(), /// DIV Divider register R/W All
[INFO] [stderr] 174 | |             0xFF05 => todo!(), /// TIMA Timer counter R/W All
[INFO] [stderr] 175 | |             0xFF06 => todo!(), /// TMA Timer modulo R/W All
[INFO] [stderr] 176 | |             0xFF07 => todo!(), /// TAC Timer control R/W All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:173:32
[INFO] [stderr]     |
[INFO] [stderr] 173 |               0xFF04 => todo!(), /// DIV Divider register R/W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 174 | /             0xFF05 => todo!(), /// TIMA Timer counter R/W All
[INFO] [stderr] 175 | |             0xFF06 => todo!(), /// TMA Timer modulo R/W All
[INFO] [stderr] 176 | |             0xFF07 => todo!(), /// TAC Timer control R/W All
[INFO] [stderr] 177 | |             0xFF0F => self.interrupt.borrow_mut().set(addr, v),
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:174:32
[INFO] [stderr]     |
[INFO] [stderr] 174 |               0xFF05 => todo!(), /// TIMA Timer counter R/W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 175 | /             0xFF06 => todo!(), /// TMA Timer modulo R/W All
[INFO] [stderr] 176 | |             0xFF07 => todo!(), /// TAC Timer control R/W All
[INFO] [stderr] 177 | |             0xFF0F => self.interrupt.borrow_mut().set(addr, v),
[INFO] [stderr] 178 | |             0xFF10 => todo!(), /// NR10 Sound channel 1 sweep R/W All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:175:32
[INFO] [stderr]     |
[INFO] [stderr] 175 |               0xFF06 => todo!(), /// TMA Timer modulo R/W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 176 | /             0xFF07 => todo!(), /// TAC Timer control R/W All
[INFO] [stderr] 177 | |             0xFF0F => self.interrupt.borrow_mut().set(addr, v),
[INFO] [stderr] 178 | |             0xFF10 => todo!(), /// NR10 Sound channel 1 sweep R/W All
[INFO] [stderr] 179 | |             0xFF11 => todo!(), /// NR11 Sound channel 1 length timer & duty cycle Mixed All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:176:32
[INFO] [stderr]     |
[INFO] [stderr] 176 |             0xFF07 => todo!(), /// TAC Timer control R/W All
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 177 |             0xFF0F => self.interrupt.borrow_mut().set(addr, v),
[INFO] [stderr]     |             -------------------------------------------------- rustdoc does not generate documentation for match arms
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:178:32
[INFO] [stderr]     |
[INFO] [stderr] 178 |               0xFF10 => todo!(), /// NR10 Sound channel 1 sweep R/W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 179 | /             0xFF11 => todo!(), /// NR11 Sound channel 1 length timer & duty cycle Mixed All
[INFO] [stderr] 180 | |             0xFF12 => todo!(), /// NR12 Sound channel 1 volume & envelope R/W All
[INFO] [stderr] 181 | |             0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All
[INFO] [stderr] 182 | |             0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:179:32
[INFO] [stderr]     |
[INFO] [stderr] 179 |               0xFF11 => todo!(), /// NR11 Sound channel 1 length timer & duty cycle Mixed All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 180 | /             0xFF12 => todo!(), /// NR12 Sound channel 1 volume & envelope R/W All
[INFO] [stderr] 181 | |             0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All
[INFO] [stderr] 182 | |             0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All
[INFO] [stderr] 183 | |             0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:180:32
[INFO] [stderr]     |
[INFO] [stderr] 180 |               0xFF12 => todo!(), /// NR12 Sound channel 1 volume & envelope R/W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 181 | /             0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All
[INFO] [stderr] 182 | |             0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All
[INFO] [stderr] 183 | |             0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All
[INFO] [stderr] 184 | |             0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:181:32
[INFO] [stderr]     |
[INFO] [stderr] 181 |               0xFF13 => todo!(), /// NR13 Sound channel 1 period low W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 182 | /             0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All
[INFO] [stderr] 183 | |             0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All
[INFO] [stderr] 184 | |             0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All
[INFO] [stderr] 185 | |             0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:182:32
[INFO] [stderr]     |
[INFO] [stderr] 182 |               0xFF14 => todo!(), /// NR14 Sound channel 1 period high & control Mixed All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 183 | /             0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All
[INFO] [stderr] 184 | |             0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All
[INFO] [stderr] 185 | |             0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All
[INFO] [stderr] 186 | |             0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:183:32
[INFO] [stderr]     |
[INFO] [stderr] 183 |               0xFF16 => todo!(), /// NR21 Sound channel 2 length timer & duty cycle Mixed All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 184 | /             0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All
[INFO] [stderr] 185 | |             0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All
[INFO] [stderr] 186 | |             0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All
[INFO] [stderr] 187 | |             0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:184:32
[INFO] [stderr]     |
[INFO] [stderr] 184 |               0xFF17 => todo!(), /// NR22 Sound channel 2 volume & envelope R/W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 185 | /             0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All
[INFO] [stderr] 186 | |             0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All
[INFO] [stderr] 187 | |             0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All
[INFO] [stderr] 188 | |             0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:185:32
[INFO] [stderr]     |
[INFO] [stderr] 185 |               0xFF18 => todo!(), /// NR23 Sound channel 2 period low W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 186 | /             0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All
[INFO] [stderr] 187 | |             0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All
[INFO] [stderr] 188 | |             0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All
[INFO] [stderr] 189 | |             0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:186:32
[INFO] [stderr]     |
[INFO] [stderr] 186 |               0xFF19 => todo!(), /// NR24 Sound channel 2 period high & control Mixed All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 187 | /             0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All
[INFO] [stderr] 188 | |             0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All
[INFO] [stderr] 189 | |             0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All
[INFO] [stderr] 190 | |             0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:187:32
[INFO] [stderr]     |
[INFO] [stderr] 187 |               0xFF1A => todo!(), /// NR30 Sound channel 3 DAC enable R/W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 188 | /             0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All
[INFO] [stderr] 189 | |             0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All
[INFO] [stderr] 190 | |             0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All
[INFO] [stderr] 191 | |             0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:188:32
[INFO] [stderr]     |
[INFO] [stderr] 188 |               0xFF1B => todo!(), /// NR31 Sound channel 3 length timer W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 189 | /             0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All
[INFO] [stderr] 190 | |             0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All
[INFO] [stderr] 191 | |             0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All
[INFO] [stderr] 192 | |             0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:189:32
[INFO] [stderr]     |
[INFO] [stderr] 189 |               0xFF1C => todo!(), /// NR32 Sound channel 3 output level R/W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 190 | /             0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All
[INFO] [stderr] 191 | |             0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All
[INFO] [stderr] 192 | |             0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All
[INFO] [stderr] 193 | |             0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:190:32
[INFO] [stderr]     |
[INFO] [stderr] 190 |               0xFF1D => todo!(), /// NR33 Sound channel 3 period low W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 191 | /             0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All
[INFO] [stderr] 192 | |             0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All
[INFO] [stderr] 193 | |             0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All
[INFO] [stderr] 194 | |             0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:191:32
[INFO] [stderr]     |
[INFO] [stderr] 191 |               0xFF1E => todo!(), /// NR34 Sound channel 3 period high & control Mixed All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 192 | /             0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All
[INFO] [stderr] 193 | |             0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All
[INFO] [stderr] 194 | |             0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All
[INFO] [stderr] 195 | |             0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:192:32
[INFO] [stderr]     |
[INFO] [stderr] 192 |               0xFF20 => todo!(), /// NR41 Sound channel 4 length timer W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 193 | /             0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All
[INFO] [stderr] 194 | |             0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All
[INFO] [stderr] 195 | |             0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All
[INFO] [stderr] 196 | |             0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:193:32
[INFO] [stderr]     |
[INFO] [stderr] 193 |               0xFF21 => todo!(), /// NR42 Sound channel 4 volume & envelope R/W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 194 | /             0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All
[INFO] [stderr] 195 | |             0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All
[INFO] [stderr] 196 | |             0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All
[INFO] [stderr] 197 | |             0xFF25 => todo!(), /// NR51 Sound panning R/W All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:194:32
[INFO] [stderr]     |
[INFO] [stderr] 194 |               0xFF22 => todo!(), /// NR43 Sound channel 4 frequency & randomness R/W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 195 | /             0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All
[INFO] [stderr] 196 | |             0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All
[INFO] [stderr] 197 | |             0xFF25 => todo!(), /// NR51 Sound panning R/W All
[INFO] [stderr] 198 | |             0xFF26 => todo!(), /// NR52 Sound on/off Mixed All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:195:32
[INFO] [stderr]     |
[INFO] [stderr] 195 |               0xFF23 => todo!(), /// NR44 Sound channel 4 control Mixed All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 196 | /             0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All
[INFO] [stderr] 197 | |             0xFF25 => todo!(), /// NR51 Sound panning R/W All
[INFO] [stderr] 198 | |             0xFF26 => todo!(), /// NR52 Sound on/off Mixed All
[INFO] [stderr] 199 | |             0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:196:32
[INFO] [stderr]     |
[INFO] [stderr] 196 |               0xFF24 => todo!(), /// NR50 Master volume & VIN panning R/W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 197 | /             0xFF25 => todo!(), /// NR51 Sound panning R/W All
[INFO] [stderr] 198 | |             0xFF26 => todo!(), /// NR52 Sound on/off Mixed All
[INFO] [stderr] 199 | |             0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All
[INFO] [stderr] 200 | |             0xFF40 => todo!(), /// LCDC LCD control R/W All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:197:32
[INFO] [stderr]     |
[INFO] [stderr] 197 |               0xFF25 => todo!(), /// NR51 Sound panning R/W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 198 | /             0xFF26 => todo!(), /// NR52 Sound on/off Mixed All
[INFO] [stderr] 199 | |             0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All
[INFO] [stderr] 200 | |             0xFF40 => todo!(), /// LCDC LCD control R/W All
[INFO] [stderr] 201 | |             0xFF41 => todo!(), /// STAT LCD status Mixed All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:198:32
[INFO] [stderr]     |
[INFO] [stderr] 198 |               0xFF26 => todo!(), /// NR52 Sound on/off Mixed All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 199 | /             0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All
[INFO] [stderr] 200 | |             0xFF40 => todo!(), /// LCDC LCD control R/W All
[INFO] [stderr] 201 | |             0xFF41 => todo!(), /// STAT LCD status Mixed All
[INFO] [stderr] 202 | |             0xFF42 => todo!(), /// SCY Viewport Y position R/W All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:199:41
[INFO] [stderr]     |
[INFO] [stderr] 199 |               0xFF30..=0xFF3F => todo!(), /// Wave RAM Storage for one of the sound channels’ waveform R/W All
[INFO] [stderr]     |                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 200 | /             0xFF40 => todo!(), /// LCDC LCD control R/W All
[INFO] [stderr] 201 | |             0xFF41 => todo!(), /// STAT LCD status Mixed All
[INFO] [stderr] 202 | |             0xFF42 => todo!(), /// SCY Viewport Y position R/W All
[INFO] [stderr] 203 | |             0xFF43 => todo!(), /// SCX Viewport X position R/W All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:200:32
[INFO] [stderr]     |
[INFO] [stderr] 200 |               0xFF40 => todo!(), /// LCDC LCD control R/W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 201 | /             0xFF41 => todo!(), /// STAT LCD status Mixed All
[INFO] [stderr] 202 | |             0xFF42 => todo!(), /// SCY Viewport Y position R/W All
[INFO] [stderr] 203 | |             0xFF43 => todo!(), /// SCX Viewport X position R/W All
[INFO] [stderr] 204 | |             0xFF44 => todo!(), /// LY LCD Y coordinate R All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:201:32
[INFO] [stderr]     |
[INFO] [stderr] 201 |               0xFF41 => todo!(), /// STAT LCD status Mixed All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 202 | /             0xFF42 => todo!(), /// SCY Viewport Y position R/W All
[INFO] [stderr] 203 | |             0xFF43 => todo!(), /// SCX Viewport X position R/W All
[INFO] [stderr] 204 | |             0xFF44 => todo!(), /// LY LCD Y coordinate R All
[INFO] [stderr] 205 | |             0xFF45 => todo!(), /// LYC LY compare R/W All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:202:32
[INFO] [stderr]     |
[INFO] [stderr] 202 |               0xFF42 => todo!(), /// SCY Viewport Y position R/W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 203 | /             0xFF43 => todo!(), /// SCX Viewport X position R/W All
[INFO] [stderr] 204 | |             0xFF44 => todo!(), /// LY LCD Y coordinate R All
[INFO] [stderr] 205 | |             0xFF45 => todo!(), /// LYC LY compare R/W All
[INFO] [stderr] 206 | |             0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:203:32
[INFO] [stderr]     |
[INFO] [stderr] 203 |               0xFF43 => todo!(), /// SCX Viewport X position R/W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 204 | /             0xFF44 => todo!(), /// LY LCD Y coordinate R All
[INFO] [stderr] 205 | |             0xFF45 => todo!(), /// LYC LY compare R/W All
[INFO] [stderr] 206 | |             0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All
[INFO] [stderr] 207 | |             0xFF47 => todo!(), /// BGP BG palette data R/W DMG
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:204:32
[INFO] [stderr]     |
[INFO] [stderr] 204 |               0xFF44 => todo!(), /// LY LCD Y coordinate R All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 205 | /             0xFF45 => todo!(), /// LYC LY compare R/W All
[INFO] [stderr] 206 | |             0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All
[INFO] [stderr] 207 | |             0xFF47 => todo!(), /// BGP BG palette data R/W DMG
[INFO] [stderr] 208 | |             0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:205:32
[INFO] [stderr]     |
[INFO] [stderr] 205 |               0xFF45 => todo!(), /// LYC LY compare R/W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 206 | /             0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All
[INFO] [stderr] 207 | |             0xFF47 => todo!(), /// BGP BG palette data R/W DMG
[INFO] [stderr] 208 | |             0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG
[INFO] [stderr] 209 | |             0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:206:32
[INFO] [stderr]     |
[INFO] [stderr] 206 |               0xFF46 => todo!(), /// DMA OAM DMA source address & start R/W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 207 | /             0xFF47 => todo!(), /// BGP BG palette data R/W DMG
[INFO] [stderr] 208 | |             0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG
[INFO] [stderr] 209 | |             0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG
[INFO] [stderr] 210 | |             0xFF4A => todo!(), /// WY Window Y position R/W All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:207:32
[INFO] [stderr]     |
[INFO] [stderr] 207 |               0xFF47 => todo!(), /// BGP BG palette data R/W DMG
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 208 | /             0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG
[INFO] [stderr] 209 | |             0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG
[INFO] [stderr] 210 | |             0xFF4A => todo!(), /// WY Window Y position R/W All
[INFO] [stderr] 211 | |             0xFF4B => todo!(), /// WX Window X position plus 7 R/W All
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:208:32
[INFO] [stderr]     |
[INFO] [stderr] 208 |               0xFF48 => todo!(), /// OBP0 OBJ palette 0 data R/W DMG
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 209 | /             0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG
[INFO] [stderr] 210 | |             0xFF4A => todo!(), /// WY Window Y position R/W All
[INFO] [stderr] 211 | |             0xFF4B => todo!(), /// WX Window X position plus 7 R/W All
[INFO] [stderr] 212 | |             0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:209:32
[INFO] [stderr]     |
[INFO] [stderr] 209 |               0xFF49 => todo!(), /// OBP1 OBJ palette 1 data R/W DMG
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 210 | /             0xFF4A => todo!(), /// WY Window Y position R/W All
[INFO] [stderr] 211 | |             0xFF4B => todo!(), /// WX Window X position plus 7 R/W All
[INFO] [stderr] 212 | |             0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB
[INFO] [stderr] 213 | |             0xFF4F => self.video.set(addr, v), /// VBK VRAM bank R/W CGB
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:210:32
[INFO] [stderr]     |
[INFO] [stderr] 210 |               0xFF4A => todo!(), /// WY Window Y position R/W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 211 | /             0xFF4B => todo!(), /// WX Window X position plus 7 R/W All
[INFO] [stderr] 212 | |             0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB
[INFO] [stderr] 213 | |             0xFF4F => self.video.set(addr, v), /// VBK VRAM bank R/W CGB
[INFO] [stderr] 214 | |             0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:211:32
[INFO] [stderr]     |
[INFO] [stderr] 211 |               0xFF4B => todo!(), /// WX Window X position plus 7 R/W All
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 212 | /             0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB
[INFO] [stderr] 213 | |             0xFF4F => self.video.set(addr, v), /// VBK VRAM bank R/W CGB
[INFO] [stderr] 214 | |             0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB
[INFO] [stderr] 215 | |             0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:212:32
[INFO] [stderr]     |
[INFO] [stderr] 212 |             0xFF4D => todo!(), /// KEY1 Prepare speed switch Mixed CGB
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 213 |             0xFF4F => self.video.set(addr, v), /// VBK VRAM bank R/W CGB
[INFO] [stderr]     |             --------------------------------- rustdoc does not generate documentation for match arms
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:213:48
[INFO] [stderr]     |
[INFO] [stderr] 213 |               0xFF4F => self.video.set(addr, v), /// VBK VRAM bank R/W CGB
[INFO] [stderr]     |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 214 | /             0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB
[INFO] [stderr] 215 | |             0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB
[INFO] [stderr] 216 | |             0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB
[INFO] [stderr] 217 | |             0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:214:32
[INFO] [stderr]     |
[INFO] [stderr] 214 |               0xFF51 => todo!(), /// HDMA1 VRAM DMA source high W CGB
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 215 | /             0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB
[INFO] [stderr] 216 | |             0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB
[INFO] [stderr] 217 | |             0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB
[INFO] [stderr] 218 | |             0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:215:32
[INFO] [stderr]     |
[INFO] [stderr] 215 |               0xFF52 => todo!(), /// HDMA2 VRAM DMA source low W CGB
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 216 | /             0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB
[INFO] [stderr] 217 | |             0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB
[INFO] [stderr] 218 | |             0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB
[INFO] [stderr] 219 | |             0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:216:32
[INFO] [stderr]     |
[INFO] [stderr] 216 |               0xFF53 => todo!(), /// HDMA3 VRAM DMA destination high W CGB
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 217 | /             0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB
[INFO] [stderr] 218 | |             0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB
[INFO] [stderr] 219 | |             0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB
[INFO] [stderr] 220 | |             0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:217:32
[INFO] [stderr]     |
[INFO] [stderr] 217 |               0xFF54 => todo!(), /// HDMA4 VRAM DMA destination low W CGB
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 218 | /             0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB
[INFO] [stderr] 219 | |             0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB
[INFO] [stderr] 220 | |             0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB
[INFO] [stderr] 221 | |             0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:218:32
[INFO] [stderr]     |
[INFO] [stderr] 218 |               0xFF55 => todo!(), /// HDMA5 VRAM DMA length/mode/start R/W CGB
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 219 | /             0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB
[INFO] [stderr] 220 | |             0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB
[INFO] [stderr] 221 | |             0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB
[INFO] [stderr] 222 | |             0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:219:32
[INFO] [stderr]     |
[INFO] [stderr] 219 |               0xFF56 => todo!(), /// RP Infrared communications port Mixed CGB
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 220 | /             0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB
[INFO] [stderr] 221 | |             0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB
[INFO] [stderr] 222 | |             0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB
[INFO] [stderr] 223 | |             0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:220:32
[INFO] [stderr]     |
[INFO] [stderr] 220 |               0xFF68 => todo!(), /// BCPS/BGPI Background color palette specification / Background palette index R/W CGB
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 221 | /             0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB
[INFO] [stderr] 222 | |             0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB
[INFO] [stderr] 223 | |             0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB
[INFO] [stderr] 224 | |             0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:221:32
[INFO] [stderr]     |
[INFO] [stderr] 221 |               0xFF69 => todo!(), /// BCPD/BGPD Background color palette data / Background palette data R/W CGB
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 222 | /             0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB
[INFO] [stderr] 223 | |             0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB
[INFO] [stderr] 224 | |             0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB
[INFO] [stderr] 225 | |             0xFF70 => self.work_ram.set(addr, v), /// SVBK WRAM bank R/W CGB
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:222:32
[INFO] [stderr]     |
[INFO] [stderr] 222 |               0xFF6A => todo!(), /// OCPS/OBPI OBJ color palette specification / OBJ palette index R/W CGB
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 223 | /             0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB
[INFO] [stderr] 224 | |             0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB
[INFO] [stderr] 225 | |             0xFF70 => self.work_ram.set(addr, v), /// SVBK WRAM bank R/W CGB
[INFO] [stderr] 226 | |             0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:223:32
[INFO] [stderr]     |
[INFO] [stderr] 223 |               0xFF6B => todo!(), /// OCPD/OBPD OBJ color palette data / OBJ palette data R/W CGB
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 224 | /             0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB
[INFO] [stderr] 225 | |             0xFF70 => self.work_ram.set(addr, v), /// SVBK WRAM bank R/W CGB
[INFO] [stderr] 226 | |             0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB
[INFO] [stderr] 227 | |             0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:224:32
[INFO] [stderr]     |
[INFO] [stderr] 224 |             0xFF6C => todo!(), /// OPRI Object priority mode R/W CGB
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 225 |             0xFF70 => self.work_ram.set(addr, v), /// SVBK WRAM bank R/W CGB
[INFO] [stderr]     |             ------------------------------------ rustdoc does not generate documentation for match arms
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:225:51
[INFO] [stderr]     |
[INFO] [stderr] 225 |               0xFF70 => self.work_ram.set(addr, v), /// SVBK WRAM bank R/W CGB
[INFO] [stderr]     |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 226 | /             0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB
[INFO] [stderr] 227 | |             0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB
[INFO] [stderr] 228 | |             0xFF80..=0xFFFE => self.work_ram.set(addr, v),
[INFO] [stderr] 229 | |             0xFFFF => self.interrupt.borrow_mut().set(addr, v),
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:226:32
[INFO] [stderr]     |
[INFO] [stderr] 226 |               0xFF76 => todo!(), /// PCM12 Audio digital outputs 1 & 2 R CGB
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 227 | /             0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB
[INFO] [stderr] 228 | |             0xFF80..=0xFFFE => self.work_ram.set(addr, v),
[INFO] [stderr] 229 | |             0xFFFF => self.interrupt.borrow_mut().set(addr, v),
[INFO] [stderr] 230 | |             addr => panic!("MMU access denied, addr: 0x{:04X}", addr),
[INFO] [stderr] ...   |
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/mmu.rs:227:32
[INFO] [stderr]     |
[INFO] [stderr] 227 |             0xFF77 => todo!(), /// PCM34 Audio digital outputs 3 & 4 R CGB
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 228 |             0xFF80..=0xFFFE => self.work_ram.set(addr, v),
[INFO] [stderr]     |             --------------------------------------------- rustdoc does not generate documentation for match arms
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::mmu::Memory`
[INFO] [stderr]  --> src/io_device/mod.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::mmu::Memory;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]   --> src/io_device/joypad.rs:59:28
[INFO] [stderr]    |
[INFO] [stderr] 59 |             self.matrix |= (*key as u8);
[INFO] [stderr]    |                            ^          ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 59 -             self.matrix |= (*key as u8);
[INFO] [stderr] 59 +             self.matrix |= *key as u8;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::cpu::CPU`
[INFO] [stderr]  --> src/io_device/interrupt.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::cpu::CPU;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]   --> src/io_device/interrupt.rs:81:23
[INFO] [stderr]    |
[INFO] [stderr] 81 |         self.int_f |= (0x01 << (flag as u8));
[INFO] [stderr]    |                       ^                    ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 81 -         self.int_f |= (0x01 << (flag as u8));
[INFO] [stderr] 81 +         self.int_f |= 0x01 << (flag as u8);
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::mmu::Memory`
[INFO] [stderr]   --> src/cpu/lr35902/mod.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use crate::mmu::Memory;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/cpu/lr35902/opcode/cbprefixed_opcode.rs:233:13
[INFO] [stderr]     |
[INFO] [stderr] 233 |             other => panic!("Unsupported opcode: 0x{:04X}", other),
[INFO] [stderr]     |             ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `RefCPU` is never used
[INFO] [stderr]  --> src/cpu/mod.rs:9:10
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub type RefCPU = Rc<RefCell<Box<dyn CPU>>>;
[INFO] [stderr]   |          ^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `start_at` and `freq` are never read
[INFO] [stderr]   --> src/cpu/mod.rs:20:5
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub struct CPUInfo {
[INFO] [stderr]    |            ------- fields in this struct
[INFO] [stderr] 20 |     start_at: SystemTime,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 21 |     freq: u64,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/cpu/mod.rs:25:12
[INFO] [stderr]    |
[INFO] [stderr] 24 | impl CPUInfo {
[INFO] [stderr]    | ------------ associated function in this implementation
[INFO] [stderr] 25 |     pub fn new(freq: u64) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_hi` is never used
[INFO] [stderr]   --> src/cpu/mod.rs:35:8
[INFO] [stderr]    |
[INFO] [stderr] 35 | pub fn get_hi(src: &u16) -> u8 {
[INFO] [stderr]    |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `set_hi` is never used
[INFO] [stderr]   --> src/cpu/mod.rs:40:8
[INFO] [stderr]    |
[INFO] [stderr] 40 | pub fn set_hi(src: &mut u16, val: u8) {
[INFO] [stderr]    |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_lo` is never used
[INFO] [stderr]   --> src/cpu/mod.rs:45:8
[INFO] [stderr]    |
[INFO] [stderr] 45 | pub fn get_lo(src: &u16) -> u8 {
[INFO] [stderr]    |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `set_lo` is never used
[INFO] [stderr]   --> src/cpu/mod.rs:50:8
[INFO] [stderr]    |
[INFO] [stderr] 50 | pub fn set_lo(src: &mut u16, val: u8) {
[INFO] [stderr]    |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_bit` is never used
[INFO] [stderr]   --> src/cpu/mod.rs:54:8
[INFO] [stderr]    |
[INFO] [stderr] 54 | pub fn get_bit(src: &u16, i: u8) -> u8 {
[INFO] [stderr]    |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `set_bit` is never used
[INFO] [stderr]   --> src/cpu/mod.rs:59:8
[INFO] [stderr]    |
[INFO] [stderr] 59 | pub fn set_bit(src: &mut u16, i: u8, val: u8) {
[INFO] [stderr]    |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/cpu/lr35902/mod.rs:34:12
[INFO] [stderr]    |
[INFO] [stderr] 33 | impl LR35902 {
[INFO] [stderr]    | ------------ associated function in this implementation
[INFO] [stderr] 34 |     pub fn new(
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `F` is never constructed
[INFO] [stderr]   --> src/cpu/lr35902/registers.rs:35:5
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub enum Register {
[INFO] [stderr]    |          -------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 35 |     F,
[INFO] [stderr]    |     ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Register` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/cpu/lr35902/registers.rs:50:12
[INFO] [stderr]    |
[INFO] [stderr] 49 | impl Registers {
[INFO] [stderr]    | -------------- associated function in this implementation
[INFO] [stderr] 50 |     pub fn new(gb_term: GBTerm) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ClockStep` is never constructed
[INFO] [stderr]   --> src/cpu/lr35902/clock.rs:18:12
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub struct ClockStep {}
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `now` are never used
[INFO] [stderr]   --> src/cpu/lr35902/clock.rs:21:12
[INFO] [stderr]    |
[INFO] [stderr] 20 | impl Clock {
[INFO] [stderr]    | ---------- associated items in this implementation
[INFO] [stderr] 21 |     pub fn new() -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 42 |     pub fn now(&self) -> SystemTime {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/gpu.rs:14:12
[INFO] [stderr]    |
[INFO] [stderr] 13 | impl GPU {
[INFO] [stderr]    | -------- associated function in this implementation
[INFO] [stderr] 14 |     pub fn new() -> GPU {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `MotherBoard` is never constructed
[INFO] [stderr]   --> src/mother_board.rs:11:12
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub struct MotherBoard {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `cpu`, and `start` are never used
[INFO] [stderr]   --> src/mother_board.rs:17:12
[INFO] [stderr]    |
[INFO] [stderr] 16 | impl MotherBoard {
[INFO] [stderr]    | ---------------- associated items in this implementation
[INFO] [stderr] 17 |     pub fn new(rom_path: String, ram_path: String, rtc_path: String) -> crate::Result<MotherBoard> {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 37 |     pub fn cpu(&self) -> Ref<Box<dyn CPU>> {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 42 |     pub fn start(&self) -> ! {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `new_ram` is never used
[INFO] [stderr]   --> src/mmu.rs:57:8
[INFO] [stderr]    |
[INFO] [stderr] 57 | pub fn new_ram<const CAP: usize>() -> RAM<CAP> where {
[INFO] [stderr]    |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/mmu.rs:71:12
[INFO] [stderr]    |
[INFO] [stderr] 70 | impl MMU {
[INFO] [stderr]    | -------- associated function in this implementation
[INFO] [stderr] 71 |     pub fn new(
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/mmu.rs:241:12
[INFO] [stderr]     |
[INFO] [stderr] 240 | impl<const SIZE: usize> BlockRam<SIZE> {
[INFO] [stderr]     | -------------------------------------- associated function in this implementation
[INFO] [stderr] 241 |     pub fn new() -> BlockRam<SIZE> {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/mmu.rs:264:12
[INFO] [stderr]     |
[INFO] [stderr] 263 | impl Prohibited {
[INFO] [stderr]     | --------------- associated function in this implementation
[INFO] [stderr] 264 |     pub fn new() -> Prohibited {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple variants are never constructed
[INFO] [stderr]   --> src/io_device/joypad.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub enum JoypadKey {
[INFO] [stderr]    |          --------- variants in this enum
[INFO] [stderr] 13 |     Right = 0b0001_0001,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 14 |     Left = 0b0001_0010,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 15 |     Up = 0b0001_0100,
[INFO] [stderr]    |     ^^
[INFO] [stderr] 16 |     Down = 0b0001_1000,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 17 |     A = 0b0010_0001,
[INFO] [stderr]    |     ^
[INFO] [stderr] 18 |     B = 0b0010_0010,
[INFO] [stderr]    |     ^
[INFO] [stderr] 19 |     Select = 0b0010_0100,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 20 |     Start = 0b0010_1000,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `JoypadKey` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/io_device/joypad.rs:33:12
[INFO] [stderr]    |
[INFO] [stderr] 32 | impl Joypad {
[INFO] [stderr]    | ----------- associated function in this implementation
[INFO] [stderr] 33 |     pub fn new(interrupt: RefInterrupt) -> RefJoypad {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `set_handler_fn` are never used
[INFO] [stderr]   --> src/io_device/interrupt.rs:61:12
[INFO] [stderr]    |
[INFO] [stderr] 60 | impl Interrupt {
[INFO] [stderr]    | -------------- associated items in this implementation
[INFO] [stderr] 61 |     pub fn new() -> RefInterrupt {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 69 |     pub fn set_handler_fn(&mut self, flag: Flag, handler: IntHandlerFunc) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BANK_SIZE` is never used
[INFO] [stderr]  --> src/io_device/video.rs:6:7
[INFO] [stderr]   |
[INFO] [stderr] 6 | const BANK_SIZE: usize = 0x02;
[INFO] [stderr]   |       ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/io_device/video.rs:23:12
[INFO] [stderr]    |
[INFO] [stderr] 22 | impl Video {
[INFO] [stderr]    | ---------- associated function in this implementation
[INFO] [stderr] 23 |     pub fn new() -> Video {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/io_device/wram.rs:18:12
[INFO] [stderr]    |
[INFO] [stderr] 17 | impl WorkRam {
[INFO] [stderr]    | ------------ associated function in this implementation
[INFO] [stderr] 18 |     pub fn new() -> WorkRam {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `HEADER_BASE` is never used
[INFO] [stderr]   --> src/io_device/cartridge/mod.rs:17:7
[INFO] [stderr]    |
[INFO] [stderr] 17 | const HEADER_BASE: u16 = 0x0100;
[INFO] [stderr]    |       ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `HEADER_END` is never used
[INFO] [stderr]   --> src/io_device/cartridge/mod.rs:19:7
[INFO] [stderr]    |
[INFO] [stderr] 19 | const HEADER_END: u16 = 0x014F;
[INFO] [stderr]    |       ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `HEADER_LEN` is never used
[INFO] [stderr]   --> src/io_device/cartridge/mod.rs:22:7
[INFO] [stderr]    |
[INFO] [stderr] 22 | const HEADER_LEN: u16 = HEADER_END - HEADER_BASE + 1;
[INFO] [stderr]    |       ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `HEADER_ENTRY_BASE` is never used
[INFO] [stderr]   --> src/io_device/cartridge/mod.rs:25:7
[INFO] [stderr]    |
[INFO] [stderr] 25 | const HEADER_ENTRY_BASE: u16 = 0x0100;
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `HEADER_ENTRY_END` is never used
[INFO] [stderr]   --> src/io_device/cartridge/mod.rs:27:7
[INFO] [stderr]    |
[INFO] [stderr] 27 | const HEADER_ENTRY_END: u16 = 0x0103;
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `HEADER_NINTENDO_LOGO_BASE` is never used
[INFO] [stderr]   --> src/io_device/cartridge/mod.rs:30:7
[INFO] [stderr]    |
[INFO] [stderr] 30 | const HEADER_NINTENDO_LOGO_BASE: u16 = 0x0104;
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `HEADER_NINTENDO_LOGO_END` is never used
[INFO] [stderr]   --> src/io_device/cartridge/mod.rs:32:7
[INFO] [stderr]    |
[INFO] [stderr] 32 | const HEADER_NINTENDO_LOGO_END: u16 = 0x0133;
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `HEADER_NINTENDO_LOGO_LEN` is never used
[INFO] [stderr]   --> src/io_device/cartridge/mod.rs:35:7
[INFO] [stderr]    |
[INFO] [stderr] 35 | const HEADER_NINTENDO_LOGO_LEN: u16 = HEADER_NINTENDO_LOGO_END - HEADER_NINTENDO_LOGO_BASE + 1;
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `NINTENDO_LOGO` is never used
[INFO] [stderr]   --> src/io_device/cartridge/mod.rs:39:7
[INFO] [stderr]    |
[INFO] [stderr] 39 | const NINTENDO_LOGO: [u8; HEADER_NINTENDO_LOGO_LEN as usize] = [
[INFO] [stderr]    |       ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `HEADER_TITLE_BASE` is never used
[INFO] [stderr]   --> src/io_device/cartridge/mod.rs:46:7
[INFO] [stderr]    |
[INFO] [stderr] 46 | const HEADER_TITLE_BASE: u16 = 0x0134;
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `HEADER_TITLE_END_GB` is never used
[INFO] [stderr]   --> src/io_device/cartridge/mod.rs:49:7
[INFO] [stderr]    |
[INFO] [stderr] 49 | const HEADER_TITLE_END_GB: u16 = 0x0142;
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `HEADER_TITLE_GB_LEN` is never used
[INFO] [stderr]   --> src/io_device/cartridge/mod.rs:50:7
[INFO] [stderr]    |
[INFO] [stderr] 50 | const HEADER_TITLE_GB_LEN: u16 = HEADER_TITLE_END_GB - HEADER_TITLE_BASE + 1;
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `HEADER_CGB_FLAG` is never used
[INFO] [stderr]   --> src/io_device/cartridge/mod.rs:52:7
[INFO] [stderr]    |
[INFO] [stderr] 52 | const HEADER_CGB_FLAG: u16 = 0x0143;
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CGB_FLAG_COMPATIBLE` is never used
[INFO] [stderr]   --> src/io_device/cartridge/mod.rs:53:7
[INFO] [stderr]    |
[INFO] [stderr] 53 | const CGB_FLAG_COMPATIBLE: u8 = 0x80;
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CGB_FLAG_ONLY` is never used
[INFO] [stderr]   --> src/io_device/cartridge/mod.rs:54:7
[INFO] [stderr]    |
[INFO] [stderr] 54 | const CGB_FLAG_ONLY: u8 = 0xC0;
[INFO] [stderr]    |       ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `None`, `Compatible`, and `CGBOnly` are never constructed
[INFO] [stderr]   --> src/io_device/cartridge/mod.rs:58:5
[INFO] [stderr]    |
[INFO] [stderr] 57 | pub enum CGBFlag {
[INFO] [stderr]    |          ------- variants in this enum
[INFO] [stderr] 58 |     None,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 59 |     Compatible,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 60 |     CGBOnly,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `HEADER_MANUFACTURER_CODE_BASE` is never used
[INFO] [stderr]   --> src/io_device/cartridge/mod.rs:65:7
[INFO] [stderr]    |
[INFO] [stderr] 65 | const HEADER_MANUFACTURER_CODE_BASE: u16 = 0x013F;
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `HEADER_MANUFACTURER_CODE_END` is never used
[INFO] [stderr]   --> src/io_device/cartridge/mod.rs:68:7
[INFO] [stderr]    |
[INFO] [stderr] 68 | const HEADER_MANUFACTURER_CODE_END: u16 = 0x0142;
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `HEADER_MANUFACTURER_CODE_LEN` is never used
[INFO] [stderr]   --> src/io_device/cartridge/mod.rs:69:7
[INFO] [stderr]    |
[INFO] [stderr] 69 | const HEADER_MANUFACTURER_CODE_LEN: u16 = HEADER_MANUFACTURER_CODE_END - HEADER_MANUFACTURER_CODE_BASE + 1;
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `HEADER_TITLE_END_CGB` is never used
[INFO] [stderr]   --> src/io_device/cartridge/mod.rs:72:7
[INFO] [stderr]    |
[INFO] [stderr] 72 | const HEADER_TITLE_END_CGB: u16 = 0x013E;
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `HEADER_TITLE_CGB_LEN` is never used
[INFO] [stderr]   --> src/io_device/cartridge/mod.rs:73:7
[INFO] [stderr]    |
[INFO] [stderr] 73 | const HEADER_TITLE_CGB_LEN: u16 = HEADER_TITLE_END_CGB - HEADER_TITLE_BASE + 1;
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `HEADER_NEW_LICENSEE_CODE_BASE` is never used
[INFO] [stderr]   --> src/io_device/cartridge/mod.rs:76:7
[INFO] [stderr]    |
[INFO] [stderr] 76 | const HEADER_NEW_LICENSEE_CODE_BASE: u16 = 0x0144;
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `HEADER_NEW_LICENSEE_CODE_END` is never used
[INFO] [stderr]   --> src/io_device/cartridge/mod.rs:78:7
[INFO] [stderr]    |
[INFO] [stderr] 78 | const HEADER_NEW_LICENSEE_CODE_END: u16 = 0x0145;
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `HEADER_NEW_LICENSEE_CODE_LEN` is never used
[INFO] [stderr]   --> src/io_device/cartridge/mod.rs:79:7
[INFO] [stderr]    |
[INFO] [stderr] 79 | const HEADER_NEW_LICENSEE_CODE_LEN: u16 = HEADER_NEW_LICENSEE_CODE_END - HEADER_NEW_LICENSEE_CODE_BASE + 1;
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `HEADER_SGB_FLAG` is never used
[INFO] [stderr]   --> src/io_device/cartridge/mod.rs:82:7
[INFO] [stderr]    |
[INFO] [stderr] 82 | const HEADER_SGB_FLAG: u16 = 0x0146;
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `None` and `Ok` are never constructed
[INFO] [stderr]   --> src/io_device/cartridge/mod.rs:86:5
[INFO] [stderr]    |
[INFO] [stderr] 85 | pub enum SGBFlag {
[INFO] [stderr]    |          ------- variants in this enum
[INFO] [stderr] 86 |     None,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 87 |     Ok,
[INFO] [stderr]    |     ^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `HEADER_CART_TYPE` is never used
[INFO] [stderr]   --> src/io_device/cartridge/mod.rs:91:7
[INFO] [stderr]    |
[INFO] [stderr] 91 | const HEADER_CART_TYPE: u16 = 0x0147;
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `HEADER_ROM_SIZE` is never used
[INFO] [stderr]   --> src/io_device/cartridge/mod.rs:94:7
[INFO] [stderr]    |
[INFO] [stderr] 94 | const HEADER_ROM_SIZE: u16 = 0x0148;
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `HEADER_RAM_SIZE` is never used
[INFO] [stderr]   --> src/io_device/cartridge/mod.rs:97:7
[INFO] [stderr]    |
[INFO] [stderr] 97 | const HEADER_RAM_SIZE: u16 = 0x0149;
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `HEADER_DESTINATION_CODE` is never used
[INFO] [stderr]    --> src/io_device/cartridge/mod.rs:100:7
[INFO] [stderr]     |
[INFO] [stderr] 100 | const HEADER_DESTINATION_CODE: u16 = 0x014A;
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `HEADER_OLD_LICENSEE_CODE` is never used
[INFO] [stderr]    --> src/io_device/cartridge/mod.rs:103:7
[INFO] [stderr]     |
[INFO] [stderr] 103 | const HEADER_OLD_LICENSEE_CODE: u16 = 0x014B;
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `HEADER_MASK_ROM_VERSION_NUM` is never used
[INFO] [stderr]    --> src/io_device/cartridge/mod.rs:106:7
[INFO] [stderr]     |
[INFO] [stderr] 106 | const HEADER_MASK_ROM_VERSION_NUM: u16 = 0x14C;
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `HEADER_CHECK_BASE` is never used
[INFO] [stderr]    --> src/io_device/cartridge/mod.rs:109:7
[INFO] [stderr]     |
[INFO] [stderr] 109 | const HEADER_CHECK_BASE: u16 = 0x0134;
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `HEADER_CHECK_END` is never used
[INFO] [stderr]    --> src/io_device/cartridge/mod.rs:111:7
[INFO] [stderr]     |
[INFO] [stderr] 111 | const HEADER_CHECK_END: u16 = 0x14C;
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `HEADER_CHECK_LEN` is never used
[INFO] [stderr]    --> src/io_device/cartridge/mod.rs:112:7
[INFO] [stderr]     |
[INFO] [stderr] 112 | const HEADER_CHECK_LEN: u16 = HEADER_CHECK_END - HEADER_CHECK_BASE + 1;
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `HEADER_CHECKSUM` is never used
[INFO] [stderr]    --> src/io_device/cartridge/mod.rs:115:7
[INFO] [stderr]     |
[INFO] [stderr] 115 | const HEADER_CHECKSUM: u16 = 0x014D;
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `HEADER_GLOBAL_CHECKSUM_BASE` is never used
[INFO] [stderr]    --> src/io_device/cartridge/mod.rs:118:7
[INFO] [stderr]     |
[INFO] [stderr] 118 | const HEADER_GLOBAL_CHECKSUM_BASE: u16 = 0x014E;
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `HEADER_GLOBAL_CHECKSUM_END` is never used
[INFO] [stderr]    --> src/io_device/cartridge/mod.rs:120:7
[INFO] [stderr]     |
[INFO] [stderr] 120 | const HEADER_GLOBAL_CHECKSUM_END: u16 = 0x014F;
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `HEADER_GLOBAL_CHECKSUM_LEN` is never used
[INFO] [stderr]    --> src/io_device/cartridge/mod.rs:121:7
[INFO] [stderr]     |
[INFO] [stderr] 121 | const HEADER_GLOBAL_CHECKSUM_LEN: u16 = HEADER_GLOBAL_CHECKSUM_END - HEADER_GLOBAL_CHECKSUM_BASE + 1;
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/io_device/cartridge/mod.rs:129:12
[INFO] [stderr]     |
[INFO] [stderr] 128 | impl Rom {
[INFO] [stderr]     | -------- associated function in this implementation
[INFO] [stderr] 129 |     pub fn new(path: String) -> Result<Self> {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `from`, and `mem` are never used
[INFO] [stderr]    --> src/io_device/cartridge/mod.rs:153:12
[INFO] [stderr]     |
[INFO] [stderr] 152 | impl Ram {
[INFO] [stderr]     | -------- associated items in this implementation
[INFO] [stderr] 153 |     pub fn new<F>(path: String, size: usize, content_supplier: F) -> Result<Self>
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 170 |     pub fn from(mem: Vec<u8>, path: String) -> Self {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 180 |     pub fn mem(&self) -> &Vec<u8> {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CART_TYPE_ROM_ONLY` is never used
[INFO] [stderr]    --> src/io_device/cartridge/mod.rs:195:7
[INFO] [stderr]     |
[INFO] [stderr] 195 | const CART_TYPE_ROM_ONLY: u8 = 0x00;
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `power_up` and `new` are never used
[INFO] [stderr]    --> src/io_device/cartridge/mod.rs:202:12
[INFO] [stderr]     |
[INFO] [stderr] 201 | impl RomOnly {
[INFO] [stderr]     | ------------ associated functions in this implementation
[INFO] [stderr] 202 |     pub fn power_up(rom: Rom) -> Result<Box<dyn Cartridge>> {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 206 |     fn new(rom: Rom) -> Result<Self> {
[INFO] [stderr]     |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `power_up` is never used
[INFO] [stderr]    --> src/io_device/cartridge/mod.rs:506:8
[INFO] [stderr]     |
[INFO] [stderr] 506 | pub fn power_up(rom_path: String, ram_path: String, rtc_path: String) -> Result<RefCartridge> {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CART_TYPE_MBC1` is never used
[INFO] [stderr]  --> src/io_device/cartridge/mbc/mbc1.rs:6:11
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub const CART_TYPE_MBC1: u8 = 0x01;
[INFO] [stderr]   |           ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CART_TYPE_MBC1_RAM` is never used
[INFO] [stderr]  --> src/io_device/cartridge/mbc/mbc1.rs:7:11
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub const CART_TYPE_MBC1_RAM: u8 = 0x02;
[INFO] [stderr]   |           ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CART_TYPE_MBC1_RAM_BATTERY` is never used
[INFO] [stderr]  --> src/io_device/cartridge/mbc/mbc1.rs:8:11
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub const CART_TYPE_MBC1_RAM_BATTERY: u8 = 0x03;
[INFO] [stderr]   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `RAM_BANK_COUNT` is never used
[INFO] [stderr]   --> src/io_device/cartridge/mbc/mbc1.rs:11:7
[INFO] [stderr]    |
[INFO] [stderr] 11 | const RAM_BANK_COUNT: u8 = 0b0_11_00000 >> 5 - 0x00 + 1;
[INFO] [stderr]    |       ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `power_up` and `new` are never used
[INFO] [stderr]   --> src/io_device/cartridge/mbc/mbc1.rs:31:12
[INFO] [stderr]    |
[INFO] [stderr] 30 | impl MBC1 {
[INFO] [stderr]    | --------- associated functions in this implementation
[INFO] [stderr] 31 |     pub fn power_up(rom: Rom, ram_path: String) -> Result<Box<dyn Cartridge>> {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 35 |     fn new(rom: Rom, ram_path: String) -> Result<Self> {
[INFO] [stderr]    |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CART_TYPE_MBC2` is never used
[INFO] [stderr]  --> src/io_device/cartridge/mbc/mbc2.rs:6:11
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub const CART_TYPE_MBC2: u8 = 0x05;
[INFO] [stderr]   |           ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CART_TYPE_MBC2_BATTERY` is never used
[INFO] [stderr]  --> src/io_device/cartridge/mbc/mbc2.rs:7:11
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub const CART_TYPE_MBC2_BATTERY: u8 = 0x06;
[INFO] [stderr]   |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `power_up` and `new` are never used
[INFO] [stderr]   --> src/io_device/cartridge/mbc/mbc2.rs:18:12
[INFO] [stderr]    |
[INFO] [stderr] 17 | impl MBC2 {
[INFO] [stderr]    | --------- associated functions in this implementation
[INFO] [stderr] 18 |     pub fn power_up(rom: Rom, ram_path: String) -> Result<Box<dyn Cartridge>> {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 22 |     fn new(rom: Rom, ram_path: String) -> Result<Self> {
[INFO] [stderr]    |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CART_TYPE_MBC3_TIMER_BATTERY` is never used
[INFO] [stderr]  --> src/io_device/cartridge/mbc/mbc3.rs:8:11
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub const CART_TYPE_MBC3_TIMER_BATTERY: u8 = 0x0F;
[INFO] [stderr]   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CART_TYPE_MBC3_TIMER_RAM_BATTERY_2` is never used
[INFO] [stderr]  --> src/io_device/cartridge/mbc/mbc3.rs:9:11
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub const CART_TYPE_MBC3_TIMER_RAM_BATTERY_2: u8 = 0x10;
[INFO] [stderr]   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CART_TYPE_MBC3` is never used
[INFO] [stderr]   --> src/io_device/cartridge/mbc/mbc3.rs:10:11
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub const CART_TYPE_MBC3: u8 = 0x11;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CART_TYPE_MBC3_RAM_2` is never used
[INFO] [stderr]   --> src/io_device/cartridge/mbc/mbc3.rs:11:11
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub const CART_TYPE_MBC3_RAM_2: u8 = 0x12;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CART_TYPE_MBC3_RAM_BATTERY_2` is never used
[INFO] [stderr]   --> src/io_device/cartridge/mbc/mbc3.rs:12:11
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub const CART_TYPE_MBC3_RAM_BATTERY_2: u8 = 0x13;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/io_device/cartridge/mbc/mbc3.rs:32:8
[INFO] [stderr]    |
[INFO] [stderr] 31 | impl RTC {
[INFO] [stderr]    | -------- associated function in this implementation
[INFO] [stderr] 32 |     fn new(path: String) -> Result<Self> {
[INFO] [stderr]    |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `RAM_BANK_COUNT` is never used
[INFO] [stderr]   --> src/io_device/cartridge/mbc/mbc3.rs:78:7
[INFO] [stderr]    |
[INFO] [stderr] 78 | const RAM_BANK_COUNT: u8 = 0x03 - 0x00 + 1;
[INFO] [stderr]    |       ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `power_up` and `new` are never used
[INFO] [stderr]   --> src/io_device/cartridge/mbc/mbc3.rs:92:12
[INFO] [stderr]    |
[INFO] [stderr] 91 | impl MBC3 {
[INFO] [stderr]    | --------- associated functions in this implementation
[INFO] [stderr] 92 |     pub fn power_up(rom: Rom, ram_path: String, rtc_path: String) -> Result<Box<dyn Cartridge>> {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 96 |     fn new(rom: Rom, ram_path: String, rtc_path: String) -> Result<Self> {
[INFO] [stderr]    |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CART_TYPE_MBC5` is never used
[INFO] [stderr]  --> src/io_device/cartridge/mbc/mbc5.rs:6:11
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub const CART_TYPE_MBC5: u8 = 0x19;
[INFO] [stderr]   |           ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CART_TYPE_MBC5_RAM` is never used
[INFO] [stderr]  --> src/io_device/cartridge/mbc/mbc5.rs:7:11
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub const CART_TYPE_MBC5_RAM: u8 = 0x1A;
[INFO] [stderr]   |           ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CART_TYPE_MBC5_RAM_BATTERY` is never used
[INFO] [stderr]  --> src/io_device/cartridge/mbc/mbc5.rs:8:11
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub const CART_TYPE_MBC5_RAM_BATTERY: u8 = 0x1B;
[INFO] [stderr]   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CART_TYPE_MBC5_RUMBLE` is never used
[INFO] [stderr]  --> src/io_device/cartridge/mbc/mbc5.rs:9:11
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub const CART_TYPE_MBC5_RUMBLE: u8 = 0x1C;
[INFO] [stderr]   |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CART_TYPE_MBC5_RUMBLE_RAM` is never used
[INFO] [stderr]   --> src/io_device/cartridge/mbc/mbc5.rs:10:11
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub const CART_TYPE_MBC5_RUMBLE_RAM: u8 = 0x1D;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CART_TYPE_MBC5_RUMBLE_RAM_BATTERY` is never used
[INFO] [stderr]   --> src/io_device/cartridge/mbc/mbc5.rs:11:11
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub const CART_TYPE_MBC5_RUMBLE_RAM_BATTERY: u8 = 0x1E;
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `RAM_BANK_COUNT` is never used
[INFO] [stderr]   --> src/io_device/cartridge/mbc/mbc5.rs:14:7
[INFO] [stderr]    |
[INFO] [stderr] 14 | const RAM_BANK_COUNT: u8 = 0x0F - 0x00 + 1;
[INFO] [stderr]    |       ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `power_up` and `new` are never used
[INFO] [stderr]   --> src/io_device/cartridge/mbc/mbc5.rs:27:12
[INFO] [stderr]    |
[INFO] [stderr] 26 | impl MBC5 {
[INFO] [stderr]    | --------- associated functions in this implementation
[INFO] [stderr] 27 |     pub fn power_up(rom: Rom, ram_path: String) -> Result<Box<dyn Cartridge>> {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 31 |     pub fn new(rom: Rom, ram_path: String) -> Result<Self> {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::cell::RefCell`
[INFO] [stderr]  --> src/tests/cpu_instrs.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::cell::RefCell;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::rc::Rc`
[INFO] [stderr]  --> src/tests/cpu_instrs.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::rc::Rc;
[INFO] [stderr]   |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `GBTerm`, `cpu`
[INFO] [stderr]  --> src/tests/cpu_instrs.rs:4:13
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::{cpu, GBTerm};
[INFO] [stderr]   |             ^^^  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::cpu::CPU`
[INFO] [stderr]  --> src/tests/cpu_instrs.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use crate::cpu::CPU;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::io_device::cartridge`
[INFO] [stderr]  --> src/tests/cpu_instrs.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use crate::io_device::cartridge;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::mmu::MMU`
[INFO] [stderr]  --> src/tests/cpu_instrs.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use crate::mmu::MMU;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable call
[INFO] [stderr]   --> src/tests/cpu_instrs.rs:11:25
[INFO] [stderr]    |
[INFO] [stderr] 10 | #[test]
[INFO] [stderr]    | ------- in this procedural macro expansion
[INFO] [stderr] 11 | fn test_cpu_instrs() -> ! {
[INFO] [stderr]    |                         ^
[INFO] [stderr]    |                         |
[INFO] [stderr]    |                         unreachable call
[INFO] [stderr]    |                         any code following this expression is unreachable
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unreachable_code)]` on by default
[INFO] [stderr]    = note: this warning originates in the attribute macro `test` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/tests/cpu_instrs.rs:15:9
[INFO] [stderr]    |
[INFO] [stderr] 15 |     let mut mb = MotherBoard::new(rom_path, ram_path, rtc_path).unwrap();
[INFO] [stderr]    |         ----^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `start_at` and `freq` are never read
[INFO] [stderr]   --> src/cpu/mod.rs:20:5
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub struct CPUInfo {
[INFO] [stderr]    |            ------- fields in this struct
[INFO] [stderr] 20 |     start_at: SystemTime,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 21 |     freq: u64,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `now` is never used
[INFO] [stderr]   --> src/cpu/lr35902/clock.rs:42:12
[INFO] [stderr]    |
[INFO] [stderr] 20 | impl Clock {
[INFO] [stderr]    | ---------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 42 |     pub fn now(&self) -> SystemTime {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `mmu` is never read
[INFO] [stderr]   --> src/mother_board.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub struct MotherBoard {
[INFO] [stderr]    |            ----------- field in this struct
[INFO] [stderr] 12 |     cpu: RefCPU,
[INFO] [stderr] 13 |     mmu: RefMemory,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `cpu` is never used
[INFO] [stderr]   --> src/mother_board.rs:37:12
[INFO] [stderr]    |
[INFO] [stderr] 16 | impl MotherBoard {
[INFO] [stderr]    | ---------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 37 |     pub fn cpu(&self) -> Ref<Box<dyn CPU>> {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]    --> src/mmu.rs:288:16
[INFO] [stderr]     |
[INFO] [stderr] 287 |     impl TestMemory {
[INFO] [stderr]     |     --------------- associated function in this implementation
[INFO] [stderr] 288 |         pub fn new() -> Self {
[INFO] [stderr]     |                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `set_handler_fn` is never used
[INFO] [stderr]   --> src/io_device/interrupt.rs:69:12
[INFO] [stderr]    |
[INFO] [stderr] 60 | impl Interrupt {
[INFO] [stderr]    | -------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 69 |     pub fn set_handler_fn(&mut self, flag: Flag, handler: IntHandlerFunc) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `from` is never used
[INFO] [stderr]    --> src/io_device/cartridge/mod.rs:170:12
[INFO] [stderr]     |
[INFO] [stderr] 152 | impl Ram {
[INFO] [stderr]     | -------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 170 |     pub fn from(mem: Vec<u8>, path: String) -> Self {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `gb_simulator` (lib) generated 222 warnings (run `cargo fix --lib -p gb_simulator` to apply 13 suggestions)
[INFO] [stderr] warning: `gb_simulator` (lib test) generated 156 warnings (141 duplicates) (run `cargo fix --lib -p gb_simulator --tests` to apply 7 suggestions)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.06s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/gb_simulator-9fad7672733132d1)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test cpu::lr35902::registers::tests::test_bc ... ok
[INFO] [stdout] test cpu::lr35902::registers::tests::test_bc_lo ... ok
[INFO] [stdout] test cpu::lr35902::registers::tests::test_bc_hi ... ok
[INFO] [stdout] test io_device::cartridge::mbc::mbc1::tests::test ... FAILED
[INFO] [stdout] test io_device::cartridge::mbc::mbc2::tests::test ... FAILED
[INFO] [stdout] test io_device::cartridge::mbc::mbc3::tests::test ... FAILED
[INFO] [stdout] test mother_board::tests::test_mother_board ... FAILED
[INFO] [stdout] test io_device::cartridge::mbc::mbc5::tests::test ... FAILED
[INFO] [stdout] test io_device::cartridge::tests::test_power_up ... FAILED
[INFO] [stdout] test tests::cpu_instrs::test_cpu_instrs ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- io_device::cartridge::mbc::mbc1::tests::test stdout ----
[INFO] [stdout] thread 'io_device::cartridge::mbc::mbc1::tests::test' panicked at src/io_device/cartridge/mbc/mbc1.rs:150:9:
[INFO] [stdout] not yet implemented
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x56173af4211c - std::backtrace_rs::backtrace::libunwind::trace::ha637c64ce894333a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
[INFO] [stdout]    1:     0x56173af4211c - std::backtrace_rs::backtrace::trace_unsynchronized::h47f62dea28e0c88d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x56173af4211c - std::sys_common::backtrace::_print_fmt::h9eef0abe20ede486
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:67:5
[INFO] [stdout]    3:     0x56173af4211c - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hed7f999df88cc644
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x56173af6bc80 - core::fmt::rt::Argument::fmt::h1539a9308b8d058d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/rt.rs:142:9
[INFO] [stdout]    5:     0x56173af6bc80 - core::fmt::write::h3a39390d8560d9c9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/mod.rs:1120:17
[INFO] [stdout]    6:     0x56173af3facf - std::io::Write::write_fmt::h040b369f3a0f9cbc
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/io/mod.rs:1762:15
[INFO] [stdout]    7:     0x56173af41f04 - std::sys_common::backtrace::_print::h894006fb5c6f3d45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x56173af41f04 - std::sys_common::backtrace::print::h23a2d212c6fff936
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x56173af43bc7 - std::panicking::default_hook::{{closure}}::h8a1d2ee00185001a
[INFO] [stdout]   10:     0x56173af438b3 - std::panicking::default_hook::h6038f2eba384e475
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:289:9
[INFO] [stdout]   11:     0x56173af05f57 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h0ad024c9bdc6d768
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   12:     0x56173af05f57 - test::test_main::{{closure}}::h7500b54257359db6
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:138:21
[INFO] [stdout]   13:     0x56173af441d8 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h1f8f335eaa9cfaee
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   14:     0x56173af441d8 - std::panicking::rust_panic_with_hook::h2b5517d590cab22e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:783:13
[INFO] [stdout]   15:     0x56173af43ef9 - std::panicking::begin_panic_handler::{{closure}}::h233112c06e0ef43e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:649:13
[INFO] [stdout]   16:     0x56173af425e6 - std::sys_common::backtrace::__rust_end_short_backtrace::h6e893f24d7ebbff8
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:170:18
[INFO] [stdout]   17:     0x56173af43c92 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:645:5
[INFO] [stdout]   18:     0x56173ae93d55 - core::panicking::panic_fmt::hbf0e066aabfa482c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x56173ae93df3 - core::panicking::panic::h195fc2a96298d4c3
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:127:5
[INFO] [stdout]   20:     0x56173aeca1cd - gb_simulator::io_device::cartridge::mbc::mbc1::tests::test::h1552d93024739bc4
[INFO] [stdout]                                at /opt/rustwide/workdir/src/io_device/cartridge/mbc/mbc1.rs:150:9
[INFO] [stdout]   21:     0x56173aeca197 - gb_simulator::io_device::cartridge::mbc::mbc1::tests::test::{{closure}}::h6c4646f54818a53f
[INFO] [stdout]                                at /opt/rustwide/workdir/src/io_device/cartridge/mbc/mbc1.rs:149:14
[INFO] [stdout]   22:     0x56173aeb7126 - core::ops::function::FnOnce::call_once::h275f58f265bbcdde
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x56173af0b5af - core::ops::function::FnOnce::call_once::h2b5d431d5046312d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x56173af0b5af - test::__rust_begin_short_backtrace::h7714669af176e207
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:628:18
[INFO] [stdout]   25:     0x56173af0a5c5 - test::run_test_in_process::{{closure}}::h85218797dcbcec12
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:60
[INFO] [stdout]   26:     0x56173af0a5c5 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h76c106ea31c14d7b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   27:     0x56173af0a5c5 - std::panicking::try::do_call::h3bd5d0f6620ee946
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   28:     0x56173af0a5c5 - std::panicking::try::h232e535e4744fe31
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   29:     0x56173af0a5c5 - std::panic::catch_unwind::h3ce3bd6ca8dbac68
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   30:     0x56173af0a5c5 - test::run_test_in_process::hc97b257c9621286a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:27
[INFO] [stdout]   31:     0x56173af0a5c5 - test::run_test::{{closure}}::h2aa798823a438d38
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:574:43
[INFO] [stdout]   32:     0x56173aed2886 - test::run_test::{{closure}}::h87d231c78fb59832
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:602:41
[INFO] [stdout]   33:     0x56173aed2886 - std::sys_common::backtrace::__rust_begin_short_backtrace::he6df152596625789
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:154:18
[INFO] [stdout]   34:     0x56173aed7937 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::ha94be15d1e0acf36
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:529:17
[INFO] [stdout]   35:     0x56173aed7937 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9dc6bd6372f16606
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   36:     0x56173aed7937 - std::panicking::try::do_call::h9057517f80303cd4
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   37:     0x56173aed7937 - std::panicking::try::he3a30b11ee45340c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   38:     0x56173aed7937 - std::panic::catch_unwind::h410458cfd3528b8b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   39:     0x56173aed7937 - std::thread::Builder::spawn_unchecked_::{{closure}}::h72ac3bdb567b737b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:528:30
[INFO] [stdout]   40:     0x56173aed7937 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h38f34da3654a8344
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x56173af48c65 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hc7eafaff61e32df9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   42:     0x56173af48c65 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6ba4a5de48dd2304
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   43:     0x56173af48c65 - std::sys::unix::thread::Thread::new::thread_start::he469335aef763e45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stdout]   44:     0x7fb08ddc2ac3 - <unknown>
[INFO] [stdout]   45:     0x7fb08de53bf4 - __clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- io_device::cartridge::mbc::mbc2::tests::test stdout ----
[INFO] [stdout] thread 'io_device::cartridge::mbc::mbc2::tests::test' panicked at src/io_device/cartridge/mbc/mbc2.rs:115:9:
[INFO] [stdout] not yet implemented
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x56173af4211c - std::backtrace_rs::backtrace::libunwind::trace::ha637c64ce894333a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
[INFO] [stdout]    1:     0x56173af4211c - std::backtrace_rs::backtrace::trace_unsynchronized::h47f62dea28e0c88d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x56173af4211c - std::sys_common::backtrace::_print_fmt::h9eef0abe20ede486
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:67:5
[INFO] [stdout]    3:     0x56173af4211c - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hed7f999df88cc644
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x56173af6bc80 - core::fmt::rt::Argument::fmt::h1539a9308b8d058d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/rt.rs:142:9
[INFO] [stdout]    5:     0x56173af6bc80 - core::fmt::write::h3a39390d8560d9c9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/mod.rs:1120:17
[INFO] [stdout]    6:     0x56173af3facf - std::io::Write::write_fmt::h040b369f3a0f9cbc
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/io/mod.rs:1762:15
[INFO] [stdout]    7:     0x56173af41f04 - std::sys_common::backtrace::_print::h894006fb5c6f3d45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x56173af41f04 - std::sys_common::backtrace::print::h23a2d212c6fff936
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x56173af43bc7 - std::panicking::default_hook::{{closure}}::h8a1d2ee00185001a
[INFO] [stdout]   10:     0x56173af438b3 - std::panicking::default_hook::h6038f2eba384e475
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:289:9
[INFO] [stdout]   11:     0x56173af05f57 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h0ad024c9bdc6d768
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   12:     0x56173af05f57 - test::test_main::{{closure}}::h7500b54257359db6
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:138:21
[INFO] [stdout]   13:     0x56173af441d8 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h1f8f335eaa9cfaee
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   14:     0x56173af441d8 - std::panicking::rust_panic_with_hook::h2b5517d590cab22e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:783:13
[INFO] [stdout]   15:     0x56173af43ef9 - std::panicking::begin_panic_handler::{{closure}}::h233112c06e0ef43e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:649:13
[INFO] [stdout]   16:     0x56173af425e6 - std::sys_common::backtrace::__rust_end_short_backtrace::h6e893f24d7ebbff8
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:170:18
[INFO] [stdout]   17:     0x56173af43c92 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:645:5
[INFO] [stdout]   18:     0x56173ae93d55 - core::panicking::panic_fmt::hbf0e066aabfa482c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x56173ae93df3 - core::panicking::panic::h195fc2a96298d4c3
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:127:5
[INFO] [stdout]   20:     0x56173aeca21d - gb_simulator::io_device::cartridge::mbc::mbc2::tests::test::hdbd79f88fa6898e3
[INFO] [stdout]                                at /opt/rustwide/workdir/src/io_device/cartridge/mbc/mbc2.rs:115:9
[INFO] [stdout]   21:     0x56173aeca1e7 - gb_simulator::io_device::cartridge::mbc::mbc2::tests::test::{{closure}}::h5f7151c4c896819b
[INFO] [stdout]                                at /opt/rustwide/workdir/src/io_device/cartridge/mbc/mbc2.rs:114:14
[INFO] [stdout]   22:     0x56173aeb7166 - core::ops::function::FnOnce::call_once::h2813df04329c96aa
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x56173af0b5af - core::ops::function::FnOnce::call_once::h2b5d431d5046312d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x56173af0b5af - test::__rust_begin_short_backtrace::h7714669af176e207
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:628:18
[INFO] [stdout]   25:     0x56173af0a5c5 - test::run_test_in_process::{{closure}}::h85218797dcbcec12
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:60
[INFO] [stdout]   26:     0x56173af0a5c5 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h76c106ea31c14d7b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   27:     0x56173af0a5c5 - std::panicking::try::do_call::h3bd5d0f6620ee946
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   28:     0x56173af0a5c5 - std::panicking::try::h232e535e4744fe31
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   29:     0x56173af0a5c5 - std::panic::catch_unwind::h3ce3bd6ca8dbac68
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   30:     0x56173af0a5c5 - test::run_test_in_process::hc97b257c9621286a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:27
[INFO] [stdout]   31:     0x56173af0a5c5 - test::run_test::{{closure}}::h2aa798823a438d38
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:574:43
[INFO] [stdout]   32:     0x56173aed2886 - test::run_test::{{closure}}::h87d231c78fb59832
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:602:41
[INFO] [stdout]   33:     0x56173aed2886 - std::sys_common::backtrace::__rust_begin_short_backtrace::he6df152596625789
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:154:18
[INFO] [stdout]   34:     0x56173aed7937 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::ha94be15d1e0acf36
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:529:17
[INFO] [stdout]   35:     0x56173aed7937 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9dc6bd6372f16606
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   36:     0x56173aed7937 - std::panicking::try::do_call::h9057517f80303cd4
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   37:     0x56173aed7937 - std::panicking::try::he3a30b11ee45340c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   38:     0x56173aed7937 - std::panic::catch_unwind::h410458cfd3528b8b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   39:     0x56173aed7937 - std::thread::Builder::spawn_unchecked_::{{closure}}::h72ac3bdb567b737b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:528:30
[INFO] [stdout]   40:     0x56173aed7937 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h38f34da3654a8344
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x56173af48c65 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hc7eafaff61e32df9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   42:     0x56173af48c65 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6ba4a5de48dd2304
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   43:     0x56173af48c65 - std::sys::unix::thread::Thread::new::thread_start::he469335aef763e45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stdout]   44:     0x7fb08ddc2ac3 - <unknown>
[INFO] [stdout]   45:     0x7fb08de53bf4 - __clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- io_device::cartridge::mbc::mbc3::tests::test stdout ----
[INFO] [stdout] thread 'io_device::cartridge::mbc::mbc3::tests::test' panicked at src/io_device/cartridge/mbc/mbc3.rs:222:9:
[INFO] [stdout] not yet implemented
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x56173af4211c - std::backtrace_rs::backtrace::libunwind::trace::ha637c64ce894333a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
[INFO] [stdout]    1:     0x56173af4211c - std::backtrace_rs::backtrace::trace_unsynchronized::h47f62dea28e0c88d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x56173af4211c - std::sys_common::backtrace::_print_fmt::h9eef0abe20ede486
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:67:5
[INFO] [stdout]    3:     0x56173af4211c - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hed7f999df88cc644
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x56173af6bc80 - core::fmt::rt::Argument::fmt::h1539a9308b8d058d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/rt.rs:142:9
[INFO] [stdout]    5:     0x56173af6bc80 - core::fmt::write::h3a39390d8560d9c9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/mod.rs:1120:17
[INFO] [stdout]    6:     0x56173af3facf - std::io::Write::write_fmt::h040b369f3a0f9cbc
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/io/mod.rs:1762:15
[INFO] [stdout]    7:     0x56173af41f04 - std::sys_common::backtrace::_print::h894006fb5c6f3d45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x56173af41f04 - std::sys_common::backtrace::print::h23a2d212c6fff936
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x56173af43bc7 - std::panicking::default_hook::{{closure}}::h8a1d2ee00185001a
[INFO] [stdout]   10:     0x56173af438b3 - std::panicking::default_hook::h6038f2eba384e475
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:289:9
[INFO] [stdout]   11:     0x56173af05f57 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h0ad024c9bdc6d768
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   12:     0x56173af05f57 - test::test_main::{{closure}}::h7500b54257359db6
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:138:21
[INFO] [stdout]   13:     0x56173af441d8 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h1f8f335eaa9cfaee
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   14:     0x56173af441d8 - std::panicking::rust_panic_with_hook::h2b5517d590cab22e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:783:13
[INFO] [stdout]   15:     0x56173af43ef9 - std::panicking::begin_panic_handler::{{closure}}::h233112c06e0ef43e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:649:13
[INFO] [stdout]   16:     0x56173af425e6 - std::sys_common::backtrace::__rust_end_short_backtrace::h6e893f24d7ebbff8
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:170:18
[INFO] [stdout]   17:     0x56173af43c92 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:645:5
[INFO] [stdout]   18:     0x56173ae93d55 - core::panicking::panic_fmt::hbf0e066aabfa482c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x56173ae93df3 - core::panicking::panic::h195fc2a96298d4c3
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:127:5
[INFO] [stdout]   20:     0x56173aeafc6d - gb_simulator::io_device::cartridge::mbc::mbc3::tests::test::h19ab5b004b35efc1
[INFO] [stdout]                                at /opt/rustwide/workdir/src/io_device/cartridge/mbc/mbc3.rs:222:9
[INFO] [stdout]   21:     0x56173aeafc37 - gb_simulator::io_device::cartridge::mbc::mbc3::tests::test::{{closure}}::h9c1997534a6d66c5
[INFO] [stdout]                                at /opt/rustwide/workdir/src/io_device/cartridge/mbc/mbc3.rs:221:14
[INFO] [stdout]   22:     0x56173aeb7216 - core::ops::function::FnOnce::call_once::h4ba3862ee0cacf3c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x56173af0b5af - core::ops::function::FnOnce::call_once::h2b5d431d5046312d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x56173af0b5af - test::__rust_begin_short_backtrace::h7714669af176e207
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:628:18
[INFO] [stdout]   25:     0x56173af0a5c5 - test::run_test_in_process::{{closure}}::h85218797dcbcec12
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:60
[INFO] [stdout]   26:     0x56173af0a5c5 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h76c106ea31c14d7b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   27:     0x56173af0a5c5 - std::panicking::try::do_call::h3bd5d0f6620ee946
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   28:     0x56173af0a5c5 - std::panicking::try::h232e535e4744fe31
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   29:     0x56173af0a5c5 - std::panic::catch_unwind::h3ce3bd6ca8dbac68
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   30:     0x56173af0a5c5 - test::run_test_in_process::hc97b257c9621286a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:27
[INFO] [stdout]   31:     0x56173af0a5c5 - test::run_test::{{closure}}::h2aa798823a438d38
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:574:43
[INFO] [stdout]   32:     0x56173aed2886 - test::run_test::{{closure}}::h87d231c78fb59832
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:602:41
[INFO] [stdout]   33:     0x56173aed2886 - std::sys_common::backtrace::__rust_begin_short_backtrace::he6df152596625789
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:154:18
[INFO] [stdout]   34:     0x56173aed7937 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::ha94be15d1e0acf36
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:529:17
[INFO] [stdout]   35:     0x56173aed7937 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9dc6bd6372f16606
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   36:     0x56173aed7937 - std::panicking::try::do_call::h9057517f80303cd4
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   37:     0x56173aed7937 - std::panicking::try::he3a30b11ee45340c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   38:     0x56173aed7937 - std::panic::catch_unwind::h410458cfd3528b8b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   39:     0x56173aed7937 - std::thread::Builder::spawn_unchecked_::{{closure}}::h72ac3bdb567b737b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:528:30
[INFO] [stdout]   40:     0x56173aed7937 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h38f34da3654a8344
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x56173af48c65 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hc7eafaff61e32df9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   42:     0x56173af48c65 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6ba4a5de48dd2304
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   43:     0x56173af48c65 - std::sys::unix::thread::Thread::new::thread_start::he469335aef763e45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stdout]   44:     0x7fb08ddc2ac3 - <unknown>
[INFO] [stdout]   45:     0x7fb08de53bf4 - __clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- mother_board::tests::test_mother_board stdout ----
[INFO] [stdout] thread 'mother_board::tests::test_mother_board' panicked at src/mother_board.rs:58:65:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: "Os { code: 2, kind: NotFound, message: \"No such file or directory\" }"
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x56173af4211c - std::backtrace_rs::backtrace::libunwind::trace::ha637c64ce894333a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
[INFO] [stdout]    1:     0x56173af4211c - std::backtrace_rs::backtrace::trace_unsynchronized::h47f62dea28e0c88d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x56173af4211c - std::sys_common::backtrace::_print_fmt::h9eef0abe20ede486
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:67:5
[INFO] [stdout]    3:     0x56173af4211c - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hed7f999df88cc644
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x56173af6bc80 - core::fmt::rt::Argument::fmt::h1539a9308b8d058d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/rt.rs:142:9
[INFO] [stdout]    5:     0x56173af6bc80 - core::fmt::write::h3a39390d8560d9c9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/mod.rs:1120:17
[INFO] [stdout]    6:     0x56173af3facf - std::io::Write::write_fmt::h040b369f3a0f9cbc
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/io/mod.rs:1762:15
[INFO] [stdout]    7:     0x56173af41f04 - std::sys_common::backtrace::_print::h894006fb5c6f3d45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x56173af41f04 - std::sys_common::backtrace::print::h23a2d212c6fff936
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x56173af43bc7 - std::panicking::default_hook::{{closure}}::h8a1d2ee00185001a
[INFO] [stdout]   10:     0x56173af438b3 - std::panicking::default_hook::h6038f2eba384e475
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:289:9
[INFO] [stdout]   11:     0x56173af05f57 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h0ad024c9bdc6d768
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   12:     0x56173af05f57 - test::test_main::{{closure}}::h7500b54257359db6
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:138:21
[INFO] [stdout]   13:     0x56173af441d8 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h1f8f335eaa9cfaee
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   14:     0x56173af441d8 - std::panicking::rust_panic_with_hook::h2b5517d590cab22e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:783:13
[INFO] [stdout]   15:     0x56173af43f2e - std::panicking::begin_panic_handler::{{closure}}::h233112c06e0ef43e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:657:13
[INFO] [stdout]   16:     0x56173af425e6 - std::sys_common::backtrace::__rust_end_short_backtrace::h6e893f24d7ebbff8
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:170:18
[INFO] [stdout]   17:     0x56173af43c92 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:645:5
[INFO] [stdout]   18:     0x56173ae93d55 - core::panicking::panic_fmt::hbf0e066aabfa482c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x56173ae941f3 - core::result::unwrap_failed::hddb4fea594200c52
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/result.rs:1653:5
[INFO] [stdout]   20:     0x56173aea8bdb - core::result::Result<T,E>::unwrap::h62f515ffce83ae14
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/result.rs:1077:23
[INFO] [stdout]   21:     0x56173aeb6bc2 - gb_simulator::mother_board::tests::test_mother_board::hbddef07e56eb7c3d
[INFO] [stdout]                                at /opt/rustwide/workdir/src/mother_board.rs:58:18
[INFO] [stdout]   22:     0x56173aeb6a77 - gb_simulator::mother_board::tests::test_mother_board::{{closure}}::h1295cd10dd61b426
[INFO] [stdout]                                at /opt/rustwide/workdir/src/mother_board.rs:54:31
[INFO] [stdout]   23:     0x56173aeb7316 - core::ops::function::FnOnce::call_once::ha7fc3f4817279991
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x56173af0b5af - core::ops::function::FnOnce::call_once::h2b5d431d5046312d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x56173af0b5af - test::__rust_begin_short_backtrace::h7714669af176e207
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:628:18
[INFO] [stdout]   26:     0x56173af0a5c5 - test::run_test_in_process::{{closure}}::h85218797dcbcec12
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:60
[INFO] [stdout]   27:     0x56173af0a5c5 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h76c106ea31c14d7b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   28:     0x56173af0a5c5 - std::panicking::try::do_call::h3bd5d0f6620ee946
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   29:     0x56173af0a5c5 - std::panicking::try::h232e535e4744fe31
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   30:     0x56173af0a5c5 - std::panic::catch_unwind::h3ce3bd6ca8dbac68
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   31:     0x56173af0a5c5 - test::run_test_in_process::hc97b257c9621286a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:27
[INFO] [stdout]   32:     0x56173af0a5c5 - test::run_test::{{closure}}::h2aa798823a438d38
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:574:43
[INFO] [stdout]   33:     0x56173aed2886 - test::run_test::{{closure}}::h87d231c78fb59832
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:602:41
[INFO] [stdout]   34:     0x56173aed2886 - std::sys_common::backtrace::__rust_begin_short_backtrace::he6df152596625789
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:154:18
[INFO] [stdout]   35:     0x56173aed7937 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::ha94be15d1e0acf36
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:529:17
[INFO] [stdout]   36:     0x56173aed7937 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9dc6bd6372f16606
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   37:     0x56173aed7937 - std::panicking::try::do_call::h9057517f80303cd4
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   38:     0x56173aed7937 - std::panicking::try::he3a30b11ee45340c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   39:     0x56173aed7937 - std::panic::catch_unwind::h410458cfd3528b8b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   40:     0x56173aed7937 - std::thread::Builder::spawn_unchecked_::{{closure}}::h72ac3bdb567b737b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:528:30
[INFO] [stdout]   41:     0x56173aed7937 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h38f34da3654a8344
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x56173af48c65 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hc7eafaff61e32df9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   43:     0x56173af48c65 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6ba4a5de48dd2304
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   44:     0x56173af48c65 - std::sys::unix::thread::Thread::new::thread_start::he469335aef763e45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stdout]   45:     0x7fb08ddc2ac3 - <unknown>
[INFO] [stdout]   46:     0x7fb08de53bf4 - __clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- io_device::cartridge::mbc::mbc5::tests::test stdout ----
[INFO] [stdout] thread 'io_device::cartridge::mbc::mbc5::tests::test' panicked at src/io_device/cartridge/mbc/mbc5.rs:127:9:
[INFO] [stdout] not yet implemented
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x56173af4211c - std::backtrace_rs::backtrace::libunwind::trace::ha637c64ce894333a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
[INFO] [stdout]    1:     0x56173af4211c - std::backtrace_rs::backtrace::trace_unsynchronized::h47f62dea28e0c88d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x56173af4211c - std::sys_common::backtrace::_print_fmt::h9eef0abe20ede486
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:67:5
[INFO] [stdout]    3:     0x56173af4211c - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hed7f999df88cc644
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x56173af6bc80 - core::fmt::rt::Argument::fmt::h1539a9308b8d058d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/rt.rs:142:9
[INFO] [stdout]    5:     0x56173af6bc80 - core::fmt::write::h3a39390d8560d9c9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/mod.rs:1120:17
[INFO] [stdout]    6:     0x56173af3facf - std::io::Write::write_fmt::h040b369f3a0f9cbc
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/io/mod.rs:1762:15
[INFO] [stdout]    7:     0x56173af41f04 - std::sys_common::backtrace::_print::h894006fb5c6f3d45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x56173af41f04 - std::sys_common::backtrace::print::h23a2d212c6fff936
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x56173af43bc7 - std::panicking::default_hook::{{closure}}::h8a1d2ee00185001a
[INFO] [stdout]   10:     0x56173af438b3 - std::panicking::default_hook::h6038f2eba384e475
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:289:9
[INFO] [stdout]   11:     0x56173af05f57 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h0ad024c9bdc6d768
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   12:     0x56173af05f57 - test::test_main::{{closure}}::h7500b54257359db6
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:138:21
[INFO] [stdout]   13:     0x56173af441d8 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h1f8f335eaa9cfaee
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   14:     0x56173af441d8 - std::panicking::rust_panic_with_hook::h2b5517d590cab22e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:783:13
[INFO] [stdout]   15:     0x56173af43ef9 - std::panicking::begin_panic_handler::{{closure}}::h233112c06e0ef43e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:649:13
[INFO] [stdout]   16:     0x56173af425e6 - std::sys_common::backtrace::__rust_end_short_backtrace::h6e893f24d7ebbff8
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:170:18
[INFO] [stdout]   17:     0x56173af43c92 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:645:5
[INFO] [stdout]   18:     0x56173ae93d55 - core::panicking::panic_fmt::hbf0e066aabfa482c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x56173ae93df3 - core::panicking::panic::h195fc2a96298d4c3
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:127:5
[INFO] [stdout]   20:     0x56173aeca26d - gb_simulator::io_device::cartridge::mbc::mbc5::tests::test::hc8ca12176577b491
[INFO] [stdout]                                at /opt/rustwide/workdir/src/io_device/cartridge/mbc/mbc5.rs:127:9
[INFO] [stdout]   21:     0x56173aeca237 - gb_simulator::io_device::cartridge::mbc::mbc5::tests::test::{{closure}}::h24eb0058c2da3d81
[INFO] [stdout]                                at /opt/rustwide/workdir/src/io_device/cartridge/mbc/mbc5.rs:126:14
[INFO] [stdout]   22:     0x56173aeb7416 - core::ops::function::FnOnce::call_once::hd4412f248b5f3e41
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x56173af0b5af - core::ops::function::FnOnce::call_once::h2b5d431d5046312d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x56173af0b5af - test::__rust_begin_short_backtrace::h7714669af176e207
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:628:18
[INFO] [stdout]   25:     0x56173af0a5c5 - test::run_test_in_process::{{closure}}::h85218797dcbcec12
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:60
[INFO] [stdout]   26:     0x56173af0a5c5 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h76c106ea31c14d7b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   27:     0x56173af0a5c5 - std::panicking::try::do_call::h3bd5d0f6620ee946
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   28:     0x56173af0a5c5 - std::panicking::try::h232e535e4744fe31
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   29:     0x56173af0a5c5 - std::panic::catch_unwind::h3ce3bd6ca8dbac68
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   30:     0x56173af0a5c5 - test::run_test_in_process::hc97b257c9621286a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:27
[INFO] [stdout]   31:     0x56173af0a5c5 - test::run_test::{{closure}}::h2aa798823a438d38
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:574:43
[INFO] [stdout]   32:     0x56173aed2886 - test::run_test::{{closure}}::h87d231c78fb59832
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:602:41
[INFO] [stdout]   33:     0x56173aed2886 - std::sys_common::backtrace::__rust_begin_short_backtrace::he6df152596625789
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:154:18
[INFO] [stdout]   34:     0x56173aed7937 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::ha94be15d1e0acf36
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:529:17
[INFO] [stdout]   35:     0x56173aed7937 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9dc6bd6372f16606
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   36:     0x56173aed7937 - std::panicking::try::do_call::h9057517f80303cd4
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   37:     0x56173aed7937 - std::panicking::try::he3a30b11ee45340c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   38:     0x56173aed7937 - std::panic::catch_unwind::h410458cfd3528b8b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   39:     0x56173aed7937 - std::thread::Builder::spawn_unchecked_::{{closure}}::h72ac3bdb567b737b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:528:30
[INFO] [stdout]   40:     0x56173aed7937 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h38f34da3654a8344
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x56173af48c65 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hc7eafaff61e32df9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   42:     0x56173af48c65 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6ba4a5de48dd2304
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   43:     0x56173af48c65 - std::sys::unix::thread::Thread::new::thread_start::he469335aef763e45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stdout]   44:     0x7fb08ddc2ac3 - <unknown>
[INFO] [stdout]   45:     0x7fb08de53bf4 - __clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- io_device::cartridge::tests::test_power_up stdout ----
[INFO] [stdout] thread 'io_device::cartridge::tests::test_power_up' panicked at src/io_device/cartridge/mod.rs:532:59:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: "Os { code: 2, kind: NotFound, message: \"No such file or directory\" }"
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x56173af4211c - std::backtrace_rs::backtrace::libunwind::trace::ha637c64ce894333a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
[INFO] [stdout]    1:     0x56173af4211c - std::backtrace_rs::backtrace::trace_unsynchronized::h47f62dea28e0c88d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x56173af4211c - std::sys_common::backtrace::_print_fmt::h9eef0abe20ede486
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:67:5
[INFO] [stdout]    3:     0x56173af4211c - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hed7f999df88cc644
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x56173af6bc80 - core::fmt::rt::Argument::fmt::h1539a9308b8d058d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/rt.rs:142:9
[INFO] [stdout]    5:     0x56173af6bc80 - core::fmt::write::h3a39390d8560d9c9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/mod.rs:1120:17
[INFO] [stdout]    6:     0x56173af3facf - std::io::Write::write_fmt::h040b369f3a0f9cbc
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/io/mod.rs:1762:15
[INFO] [stdout]    7:     0x56173af41f04 - std::sys_common::backtrace::_print::h894006fb5c6f3d45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x56173af41f04 - std::sys_common::backtrace::print::h23a2d212c6fff936
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x56173af43bc7 - std::panicking::default_hook::{{closure}}::h8a1d2ee00185001a
[INFO] [stdout]   10:     0x56173af438b3 - std::panicking::default_hook::h6038f2eba384e475
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:289:9
[INFO] [stdout]   11:     0x56173af05f57 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h0ad024c9bdc6d768
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   12:     0x56173af05f57 - test::test_main::{{closure}}::h7500b54257359db6
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:138:21
[INFO] [stdout]   13:     0x56173af441d8 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h1f8f335eaa9cfaee
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   14:     0x56173af441d8 - std::panicking::rust_panic_with_hook::h2b5517d590cab22e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:783:13
[INFO] [stdout]   15:     0x56173af43f2e - std::panicking::begin_panic_handler::{{closure}}::h233112c06e0ef43e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:657:13
[INFO] [stdout]   16:     0x56173af425e6 - std::sys_common::backtrace::__rust_end_short_backtrace::h6e893f24d7ebbff8
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:170:18
[INFO] [stdout]   17:     0x56173af43c92 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:645:5
[INFO] [stdout]   18:     0x56173ae93d55 - core::panicking::panic_fmt::hbf0e066aabfa482c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x56173ae941f3 - core::result::unwrap_failed::hddb4fea594200c52
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/result.rs:1653:5
[INFO] [stdout]   20:     0x56173aea8d52 - core::result::Result<T,E>::unwrap::hdf860fa61c507028
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/result.rs:1077:23
[INFO] [stdout]   21:     0x56173aec2000 - gb_simulator::io_device::cartridge::tests::test_power_up::h75069636e7abe723
[INFO] [stdout]                                at /opt/rustwide/workdir/src/io_device/cartridge/mod.rs:532:20
[INFO] [stdout]   22:     0x56173aec1e97 - gb_simulator::io_device::cartridge::tests::test_power_up::{{closure}}::h2b158648e68f2ac8
[INFO] [stdout]                                at /opt/rustwide/workdir/src/io_device/cartridge/mod.rs:528:23
[INFO] [stdout]   23:     0x56173aeb72d6 - core::ops::function::FnOnce::call_once::h98e9344a812b053d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x56173af0b5af - core::ops::function::FnOnce::call_once::h2b5d431d5046312d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x56173af0b5af - test::__rust_begin_short_backtrace::h7714669af176e207
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:628:18
[INFO] [stdout]   26:     0x56173af0a5c5 - test::run_test_in_process::{{closure}}::h85218797dcbcec12
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:60
[INFO] [stdout]   27:     0x56173af0a5c5 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h76c106ea31c14d7b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   28:     0x56173af0a5c5 - std::panicking::try::do_call::h3bd5d0f6620ee946
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   29:     0x56173af0a5c5 - std::panicking::try::h232e535e4744fe31
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   30:     0x56173af0a5c5 - std::panic::catch_unwind::h3ce3bd6ca8dbac68
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   31:     0x56173af0a5c5 - test::run_test_in_process::hc97b257c9621286a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:27
[INFO] [stdout]   32:     0x56173af0a5c5 - test::run_test::{{closure}}::h2aa798823a438d38
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:574:43
[INFO] [stdout]   33:     0x56173aed2886 - test::run_test::{{closure}}::h87d231c78fb59832
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:602:41
[INFO] [stdout]   34:     0x56173aed2886 - std::sys_common::backtrace::__rust_begin_short_backtrace::he6df152596625789
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:154:18
[INFO] [stdout]   35:     0x56173aed7937 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::ha94be15d1e0acf36
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:529:17
[INFO] [stdout]   36:     0x56173aed7937 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9dc6bd6372f16606
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   37:     0x56173aed7937 - std::panicking::try::do_call::h9057517f80303cd4
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   38:     0x56173aed7937 - std::panicking::try::he3a30b11ee45340c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   39:     0x56173aed7937 - std::panic::catch_unwind::h410458cfd3528b8b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   40:     0x56173aed7937 - std::thread::Builder::spawn_unchecked_::{{closure}}::h72ac3bdb567b737b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:528:30
[INFO] [stdout]   41:     0x56173aed7937 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h38f34da3654a8344
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x56173af48c65 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hc7eafaff61e32df9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   43:     0x56173af48c65 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6ba4a5de48dd2304
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   44:     0x56173af48c65 - std::sys::unix::thread::Thread::new::thread_start::he469335aef763e45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stdout]   45:     0x7fb08ddc2ac3 - <unknown>
[INFO] [stdout]   46:     0x7fb08de53bf4 - __clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- tests::cpu_instrs::test_cpu_instrs stdout ----
[INFO] [stdout] thread 'tests::cpu_instrs::test_cpu_instrs' panicked at src/tests/cpu_instrs.rs:15:65:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: "Os { code: 2, kind: NotFound, message: \"No such file or directory\" }"
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x56173af4211c - std::backtrace_rs::backtrace::libunwind::trace::ha637c64ce894333a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
[INFO] [stdout]    1:     0x56173af4211c - std::backtrace_rs::backtrace::trace_unsynchronized::h47f62dea28e0c88d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x56173af4211c - std::sys_common::backtrace::_print_fmt::h9eef0abe20ede486
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:67:5
[INFO] [stdout]    3:     0x56173af4211c - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hed7f999df88cc644
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x56173af6bc80 - core::fmt::rt::Argument::fmt::h1539a9308b8d058d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/rt.rs:142:9
[INFO] [stdout]    5:     0x56173af6bc80 - core::fmt::write::h3a39390d8560d9c9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/mod.rs:1120:17
[INFO] [stdout]    6:     0x56173af3facf - std::io::Write::write_fmt::h040b369f3a0f9cbc
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/io/mod.rs:1762:15
[INFO] [stdout]    7:     0x56173af41f04 - std::sys_common::backtrace::_print::h894006fb5c6f3d45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x56173af41f04 - std::sys_common::backtrace::print::h23a2d212c6fff936
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x56173af43bc7 - std::panicking::default_hook::{{closure}}::h8a1d2ee00185001a
[INFO] [stdout]   10:     0x56173af438b3 - std::panicking::default_hook::h6038f2eba384e475
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:289:9
[INFO] [stdout]   11:     0x56173af05f57 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h0ad024c9bdc6d768
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   12:     0x56173af05f57 - test::test_main::{{closure}}::h7500b54257359db6
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:138:21
[INFO] [stdout]   13:     0x56173af441d8 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h1f8f335eaa9cfaee
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   14:     0x56173af441d8 - std::panicking::rust_panic_with_hook::h2b5517d590cab22e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:783:13
[INFO] [stdout]   15:     0x56173af43f2e - std::panicking::begin_panic_handler::{{closure}}::h233112c06e0ef43e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:657:13
[INFO] [stdout]   16:     0x56173af425e6 - std::sys_common::backtrace::__rust_end_short_backtrace::h6e893f24d7ebbff8
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:170:18
[INFO] [stdout]   17:     0x56173af43c92 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:645:5
[INFO] [stdout]   18:     0x56173ae93d55 - core::panicking::panic_fmt::hbf0e066aabfa482c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x56173ae941f3 - core::result::unwrap_failed::hddb4fea594200c52
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/result.rs:1653:5
[INFO] [stdout]   20:     0x56173aea8bdb - core::result::Result<T,E>::unwrap::h62f515ffce83ae14
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/result.rs:1077:23
[INFO] [stdout]   21:     0x56173aec1df2 - gb_simulator::tests::cpu_instrs::test_cpu_instrs::h670d070bb310f576
[WARN] too many lines in the log, truncating it
