[INFO] cloning repository https://github.com/Achtuur/SNESemu
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Achtuur/SNESemu" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAchtuur%2FSNESemu", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAchtuur%2FSNESemu'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c9fce687099157bfe2076afdf36f1a7c8348a713
[INFO] checking Achtuur/SNESemu against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAchtuur%2FSNESemu" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Achtuur/SNESemu
[INFO] finished tweaking git repo https://github.com/Achtuur/SNESemu
[INFO] tweaked toml for git repo https://github.com/Achtuur/SNESemu written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Achtuur/SNESemu on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Achtuur/SNESemu 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.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded c_vec v2.0.0
[INFO] [stderr]   Downloaded bitflags v2.0.2
[INFO] [stderr]   Downloaded simd-adler32 v0.3.5
[INFO] [stderr]   Downloaded lru v0.9.0
[INFO] [stderr]   Downloaded fdeflate v0.3.0
[INFO] [stderr]   Downloaded png v0.17.8
[INFO] [stderr]   Downloaded sdl2 v0.35.2
[INFO] [stderr]   Downloaded sdl2-sys v0.35.2
[INFO] [stderr]   Downloaded pix-engine v0.7.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] edeaf87ffe4934e1a0ae31642b2a4b49d735181f5d054d590f98b37f5c9f980c
[INFO] running `Command { std: "docker" "start" "-a" "edeaf87ffe4934e1a0ae31642b2a4b49d735181f5d054d590f98b37f5c9f980c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "edeaf87ffe4934e1a0ae31642b2a4b49d735181f5d054d590f98b37f5c9f980c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "edeaf87ffe4934e1a0ae31642b2a4b49d735181f5d054d590f98b37f5c9f980c", kill_on_drop: false }`
[INFO] [stdout] edeaf87ffe4934e1a0ae31642b2a4b49d735181f5d054d590f98b37f5c9f980c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 73f7232e1580afec83a6b3cf2dcef3b1a8063bbd17950f97410c5f5383093fb6
[INFO] running `Command { std: "docker" "start" "-a" "73f7232e1580afec83a6b3cf2dcef3b1a8063bbd17950f97410c5f5383093fb6", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.141
[INFO] [stderr]    Compiling proc-macro2 v1.0.56
[INFO] [stderr]    Compiling version-compare v0.1.1
[INFO] [stderr]     Checking simd-adler32 v0.3.5
[INFO] [stderr]     Checking once_cell v1.17.1
[INFO] [stderr]    Compiling ahash v0.8.3
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]     Checking miniz_oxide v0.6.2
[INFO] [stderr]    Compiling sdl2 v0.35.2
[INFO] [stderr]    Compiling log v0.4.17
[INFO] [stderr]     Checking c_vec v2.0.0
[INFO] [stderr]    Compiling pix-engine v0.7.0
[INFO] [stderr]     Checking iana-time-zone v0.1.56
[INFO] [stderr]     Checking bitflags v2.0.2
[INFO] [stderr]     Checking miniz_oxide v0.7.1
[INFO] [stderr]     Checking fdeflate v0.3.0
[INFO] [stderr]    Compiling sdl2-sys v0.35.2
[INFO] [stderr]     Checking hashbrown v0.13.2
[INFO] [stderr]     Checking flate2 v1.0.25
[INFO] [stderr]     Checking png v0.17.8
[INFO] [stderr]    Compiling quote v1.0.26
[INFO] [stderr]     Checking getrandom v0.2.9
[INFO] [stderr]     Checking time v0.1.45
[INFO] [stderr]     Checking lru v0.9.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling syn v2.0.15
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking num-integer v0.1.45
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking chrono v0.4.24
[INFO] [stderr]    Compiling thiserror-impl v1.0.40
[INFO] [stderr]     Checking thiserror v1.0.40
[INFO] [stderr]     Checking snesemu v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `nth_bit`
[INFO] [stdout]  --> src/ppu/components/window.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{nth_bit, bit_set};
[INFO] [stdout]   |             ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Engine`, `Font`, and `line_`
[INFO] [stdout]  --> src/ppu/screenapp/mod.rs:1:28
[INFO] [stdout]   |
[INFO] [stdout] 1 | use pix_engine::{prelude::{Engine, PixResult, PixEngine, Color, Font}, state::PixState, shape::Point, random, line_};
[INFO] [stdout]   |                            ^^^^^^                               ^^^^                                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cmp::Ordering` and `time::Instant`
[INFO] [stdout]  --> src/ppu/ppu.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cmp::Ordering, time::Instant};
[INFO] [stdout]   |           ^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `bit_set`, `high_byte`, `low_byte`, `main`, and `to_word`
[INFO] [stdout]  --> src/ppu/ppu.rs:3:46
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{ppu::{SCREEN_WIDTH, tile::Tile}, bit_set, low_byte, high_byte, to_word, nth_bit, main};
[INFO] [stdout]   |                                              ^^^^^^^  ^^^^^^^^  ^^^^^^^^^  ^^^^^^^           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HOR_SCANLINES` and `NTSC_VER_SCANLINES`
[INFO] [stdout]  --> src/ppu/ppu.rs:5:181
[INFO] [stdout]   |
[INFO] [stdout] 5 | ...rStruct, Layer}, NTSC_SCREEN_HEIGHT, scanline::{HOR_SCANLINES, NTSC_VER_SCANLINES}};
[INFO] [stdout]   |                                                    ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nth_bit`
[INFO] [stdout]  --> src/ppu/tile.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{nth_bit, bit_slice, bit_set};
[INFO] [stdout]   |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]  --> src/cpu/mod.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                 ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nth_bit`
[INFO] [stdout]  --> src/ppu/components/window.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{nth_bit, bit_set};
[INFO] [stdout]   |             ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Engine`, `Font`, and `line_`
[INFO] [stdout]  --> src/ppu/screenapp/mod.rs:1:28
[INFO] [stdout]   |
[INFO] [stdout] 1 | use pix_engine::{prelude::{Engine, PixResult, PixEngine, Color, Font}, state::PixState, shape::Point, random, line_};
[INFO] [stdout]   |                            ^^^^^^                               ^^^^                                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cmp::Ordering` and `time::Instant`
[INFO] [stdout]  --> src/ppu/ppu.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{cmp::Ordering, time::Instant};
[INFO] [stdout]   |           ^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `bit_set`, `high_byte`, `low_byte`, `main`, and `to_word`
[INFO] [stdout]  --> src/ppu/ppu.rs:3:46
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{ppu::{SCREEN_WIDTH, tile::Tile}, bit_set, low_byte, high_byte, to_word, nth_bit, main};
[INFO] [stdout]   |                                              ^^^^^^^  ^^^^^^^^  ^^^^^^^^^  ^^^^^^^           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HOR_SCANLINES` and `NTSC_VER_SCANLINES`
[INFO] [stdout]  --> src/ppu/ppu.rs:5:181
[INFO] [stdout]   |
[INFO] [stdout] 5 | ...rStruct, Layer}, NTSC_SCREEN_HEIGHT, scanline::{HOR_SCANLINES, NTSC_VER_SCANLINES}};
[INFO] [stdout]   |                                                    ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nth_bit`
[INFO] [stdout]  --> src/ppu/tile.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{nth_bit, bit_slice, bit_set};
[INFO] [stdout]   |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]  --> src/cpu/mod.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                 ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/ppu/memory/mod.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 68 |                 todo!();
[INFO] [stdout]    |                 ------- any code following this expression is unreachable
[INFO] [stdout] 69 |                 None
[INFO] [stdout]    |                 ^^^^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/ppu/memory/mod.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 68 |                 todo!();
[INFO] [stdout]    |                 ------- any code following this expression is unreachable
[INFO] [stdout] 69 |                 None
[INFO] [stdout]    |                 ^^^^ unreachable expression
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]   --> src/ppu/mod.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 70 | /         loop {
[INFO] [stdout] 71 | |             let t = Instant::now();
[INFO] [stdout] 72 | |             self.tick();
[INFO] [stdout] 73 | |             println!("t: {0:?}", t.elapsed());
[INFO] [stdout] 74 | |             thread::sleep(Duration::from_millis(10))
[INFO] [stdout] 75 | |         }
[INFO] [stdout]    | |_________- any code following this expression is unreachable
[INFO] [stdout] 76 |
[INFO] [stdout] 77 | /         let mut engine = Engine::builder()
[INFO] [stdout] 78 | |         .dimensions(SCREEN_WIDTH as u32, NTSC_SCREEN_HEIGHT as u32)
[INFO] [stdout] 79 | |         .title("MyApp")
[INFO] [stdout] 80 | |         .show_frame_rate()
[INFO] [stdout] ...  |
[INFO] [stdout] 83 | |         .build()?;
[INFO] [stdout]    | |__________________^ unreachable statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]   --> src/ppu/mod.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 70 | /         loop {
[INFO] [stdout] 71 | |             let t = Instant::now();
[INFO] [stdout] 72 | |             self.tick();
[INFO] [stdout] 73 | |             println!("t: {0:?}", t.elapsed());
[INFO] [stdout] 74 | |             thread::sleep(Duration::from_millis(10))
[INFO] [stdout] 75 | |         }
[INFO] [stdout]    | |_________- any code following this expression is unreachable
[INFO] [stdout] 76 |
[INFO] [stdout] 77 | /         let mut engine = Engine::builder()
[INFO] [stdout] 78 | |         .dimensions(SCREEN_WIDTH as u32, NTSC_SCREEN_HEIGHT as u32)
[INFO] [stdout] 79 | |         .title("MyApp")
[INFO] [stdout] 80 | |         .show_frame_rate()
[INFO] [stdout] ...  |
[INFO] [stdout] 83 | |         .build()?;
[INFO] [stdout]    | |__________________^ unreachable statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BitFlags`
[INFO] [stdout]  --> src/cpu/processorstatusflag.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use bitflags::{bitflags, BitFlags};
[INFO] [stdout]   |                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BitFlags`
[INFO] [stdout]  --> src/cpu/processorstatusflag.rs:1:26
[INFO] [stdout]   |
[INFO] [stdout] 1 | use bitflags::{bitflags, BitFlags};
[INFO] [stdout]   |                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]   --> src/ppu/components/mode7.rs:34:28
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn read(&mut self, addr: u16) -> Option<u8> {
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `byte`
[INFO] [stdout]   --> src/ppu/components/window.rs:53:36
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub fn write_objsel(&mut self, byte: u8) {
[INFO] [stdout]    |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_byte`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `byte`
[INFO] [stdout]    --> src/ppu/components/ppustate.rs:106:36
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn write_inisel(&mut self, byte: u8) {
[INFO] [stdout]     |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_byte`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/ppu/screenapp/mod.rs:94:27
[INFO] [stdout]    |
[INFO] [stdout] 94 |     fn on_stop(&mut self, s: &mut PixState) -> PixResult<()> {
[INFO] [stdout]    |                           ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]   --> src/ppu/components/mode7.rs:34:28
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn read(&mut self, addr: u16) -> Option<u8> {
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `byte`
[INFO] [stdout]   --> src/ppu/components/window.rs:53:36
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub fn write_objsel(&mut self, byte: u8) {
[INFO] [stdout]    |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_byte`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `byte`
[INFO] [stdout]    --> src/ppu/components/ppustate.rs:106:36
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn write_inisel(&mut self, byte: u8) {
[INFO] [stdout]     |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_byte`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/ppu/screenapp/mod.rs:94:27
[INFO] [stdout]    |
[INFO] [stdout] 94 |     fn on_stop(&mut self, s: &mut PixState) -> PixResult<()> {
[INFO] [stdout]    |                           ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/cpu/instructions/flag.rs:51:28
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn exe_xce(&mut self, data: u16) {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/cpu/instructions/interrupt.rs:13:28
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub fn exe_brk(&mut self, data: u16) {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/cpu/instructions/interrupt.rs:18:28
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn exe_cop(&mut self, data: u16) {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/cpu/instructions/interrupt.rs:23:28
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn exe_rti(&mut self, data: u16) {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/cpu/instructions/interrupt.rs:32:28
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn exe_wai(&mut self, data: u16) {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]  --> src/cpu/instructions/other.rs:6:28
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub fn exe_nop(&mut self, data: u16) {
[INFO] [stdout]   |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/cpu/instructions/other.rs:11:28
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn exe_stp(&mut self, data: u16) {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/cpu/instructions/other.rs:16:28
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn exe_wdm(&mut self, data: u16) {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/cpu/instructions/other.rs:21:28
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn exe_xba(&mut self, data: u16) {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/cpu/instructions/stack.rs:28:28
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn exe_pha(&mut self, data: u16) {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/cpu/instructions/stack.rs:36:28
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn exe_phb(&mut self, data: u16) {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/cpu/instructions/stack.rs:41:28
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn exe_phd(&mut self, data: u16) {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/cpu/instructions/stack.rs:46:28
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn exe_phk(&mut self, data: u16) {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/cpu/instructions/stack.rs:51:28
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn exe_php(&mut self, data: u16) {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/cpu/instructions/stack.rs:56:28
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub fn exe_phx(&mut self, data: u16) {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/cpu/instructions/stack.rs:64:28
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn exe_phy(&mut self, data: u16) {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/cpu/instructions/stack.rs:72:28
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn exe_pla(&mut self, data: u16) {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/cpu/instructions/stack.rs:91:28
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn exe_plb(&mut self, data: u16) {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/cpu/instructions/stack.rs:105:28
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn exe_pld(&mut self, data: u16) {
[INFO] [stdout]     |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/cpu/instructions/flag.rs:51:28
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn exe_xce(&mut self, data: u16) {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/cpu/instructions/stack.rs:119:28
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn exe_plp(&mut self, data: u16) {
[INFO] [stdout]     |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/cpu/instructions/stack.rs:133:28
[INFO] [stdout]     |
[INFO] [stdout] 133 |     pub fn exe_plx(&mut self, data: u16) {
[INFO] [stdout]     |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/cpu/instructions/interrupt.rs:13:28
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub fn exe_brk(&mut self, data: u16) {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/cpu/instructions/interrupt.rs:18:28
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn exe_cop(&mut self, data: u16) {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/cpu/instructions/stack.rs:151:28
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub fn exe_ply(&mut self, data: u16) {
[INFO] [stdout]     |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/cpu/instructions/interrupt.rs:23:28
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn exe_rti(&mut self, data: u16) {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/cpu/instructions/interrupt.rs:32:28
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn exe_wai(&mut self, data: u16) {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]  --> src/cpu/instructions/other.rs:6:28
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub fn exe_nop(&mut self, data: u16) {
[INFO] [stdout]   |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/cpu/instructions/other.rs:11:28
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn exe_stp(&mut self, data: u16) {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/cpu/instructions/other.rs:16:28
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn exe_wdm(&mut self, data: u16) {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/cpu/instructions/other.rs:21:28
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn exe_xba(&mut self, data: u16) {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/cpu/instructions/stack.rs:28:28
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn exe_pha(&mut self, data: u16) {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/cpu/instructions/stack.rs:36:28
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn exe_phb(&mut self, data: u16) {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dest_addr`
[INFO] [stdout]    --> src/cpu/execute/instrdata.rs:135:13
[INFO] [stdout]     |
[INFO] [stdout] 135 |         let dest_addr = to_long!(self.pbr, hhll);
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dest_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/cpu/instructions/stack.rs:41:28
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn exe_phd(&mut self, data: u16) {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/cpu/instructions/stack.rs:46:28
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn exe_phk(&mut self, data: u16) {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mid_pointer`
[INFO] [stdout]    --> src/cpu/execute/instrdata.rs:167:13
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let mid_pointer = low_pointer.wrapping_add(1);
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mid_pointer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/cpu/instructions/stack.rs:51:28
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn exe_php(&mut self, data: u16) {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/cpu/instructions/stack.rs:56:28
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub fn exe_phx(&mut self, data: u16) {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/cpu/instructions/stack.rs:64:28
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn exe_phy(&mut self, data: u16) {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/cpu/instructions/stack.rs:72:28
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn exe_pla(&mut self, data: u16) {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/cpu/instructions/stack.rs:91:28
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn exe_plb(&mut self, data: u16) {
[INFO] [stdout]    |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/cpu/instructions/stack.rs:105:28
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn exe_pld(&mut self, data: u16) {
[INFO] [stdout]     |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/cpu/instructions/stack.rs:119:28
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn exe_plp(&mut self, data: u16) {
[INFO] [stdout]     |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/cpu/instructions/stack.rs:133:28
[INFO] [stdout]     |
[INFO] [stdout] 133 |     pub fn exe_plx(&mut self, data: u16) {
[INFO] [stdout]     |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/cpu/instructions/stack.rs:151:28
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub fn exe_ply(&mut self, data: u16) {
[INFO] [stdout]     |                               ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns overlap on their endpoints
[INFO] [stdout]    --> src/cpu/memory/mapper/lorom.rs:121:14
[INFO] [stdout]     |
[INFO] [stdout] 116 |             (0x70..=0x7D | 0xF0..=0xFF, 0x0000..=0x7FFF) => self.read_sram(long_addr),
[INFO] [stdout]     |                            ----------- this range overlaps on `240_u8`...
[INFO] [stdout] ...
[INFO] [stdout] 121 |             (0xC0..=0xF0, 0x0000..=0x7FFF) => self.read_rom(long_addr),
[INFO] [stdout]     |              ^^^^^^^^^^^ ... with this range
[INFO] [stdout]     |
[INFO] [stdout]     = note: you likely meant to write mutually exclusive ranges
[INFO] [stdout]     = note: `#[warn(overlapping_range_endpoints)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns overlap on their endpoints
[INFO] [stdout]    --> src/cpu/memory/mapper/lorom.rs:136:14
[INFO] [stdout]     |
[INFO] [stdout] 131 |             (0x70..=0x7D | 0xF0..=0xFF, 0x0000..=0x7FFF) => self.write_sram(long_addr, value),
[INFO] [stdout]     |                            ----------- this range overlaps on `240_u8`...
[INFO] [stdout] ...
[INFO] [stdout] 136 |             (0xC0..=0xF0, 0x0000..=0x7FFF) =>  {}
[INFO] [stdout]     |              ^^^^^^^^^^^ ... with this range
[INFO] [stdout]     |
[INFO] [stdout]     = note: you likely meant to write mutually exclusive ranges
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dest_addr`
[INFO] [stdout]    --> src/cpu/execute/instrdata.rs:135:13
[INFO] [stdout]     |
[INFO] [stdout] 135 |         let dest_addr = to_long!(self.pbr, hhll);
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dest_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mid_pointer`
[INFO] [stdout]    --> src/cpu/execute/instrdata.rs:167:13
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let mid_pointer = low_pointer.wrapping_add(1);
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mid_pointer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `long_addr`
[INFO] [stdout]   --> src/cpu/memory/mapper/exhirom.rs:27:20
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn read(&self, long_addr: u32) -> Option<u8> {
[INFO] [stdout]    |                    ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_long_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `long_addr`
[INFO] [stdout]   --> src/cpu/memory/mapper/exhirom.rs:31:25
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn write(&mut self, long_addr: u32, value: u8) {
[INFO] [stdout]    |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_long_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/cpu/memory/mapper/exhirom.rs:31:41
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn write(&mut self, long_addr: u32, value: u8) {
[INFO] [stdout]    |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ex_flash_size`
[INFO] [stdout]   --> src/cpu/memory/mapper/mod.rs:87:17
[INFO] [stdout]    |
[INFO] [stdout] 87 |             let ex_flash_size = readf!(0xFFBC); // 1 << exflash_size kB
[INFO] [stdout]    |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ex_flash_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ex_ram_size`
[INFO] [stdout]   --> src/cpu/memory/mapper/mod.rs:88:17
[INFO] [stdout]    |
[INFO] [stdout] 88 |             let ex_ram_size = readf!(0xFFBD); // 1 << ex_ram_size kB
[INFO] [stdout]    |                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ex_ram_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chipset_subtype`
[INFO] [stdout]   --> src/cpu/memory/mapper/mod.rs:90:17
[INFO] [stdout]    |
[INFO] [stdout] 90 |             let chipset_subtype = readf!(0xFFBF);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chipset_subtype`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chipset_subtype`
[INFO] [stdout]   --> src/cpu/memory/mapper/mod.rs:98:17
[INFO] [stdout]    |
[INFO] [stdout] 98 |             let chipset_subtype = readf!(0xFFBF);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chipset_subtype`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cart_type`
[INFO] [stdout]    --> src/cpu/memory/mapper/mod.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let cart_type = readf!(0xFFD6);
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cart_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/cpu/memory/ram.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let i = Self::index_from_long_addr(long_addr);
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns overlap on their endpoints
[INFO] [stdout]    --> src/cpu/memory/mapper/lorom.rs:121:14
[INFO] [stdout]     |
[INFO] [stdout] 116 |             (0x70..=0x7D | 0xF0..=0xFF, 0x0000..=0x7FFF) => self.read_sram(long_addr),
[INFO] [stdout]     |                            ----------- this range overlaps on `240_u8`...
[INFO] [stdout] ...
[INFO] [stdout] 121 |             (0xC0..=0xF0, 0x0000..=0x7FFF) => self.read_rom(long_addr),
[INFO] [stdout]     |              ^^^^^^^^^^^ ... with this range
[INFO] [stdout]     |
[INFO] [stdout]     = note: you likely meant to write mutually exclusive ranges
[INFO] [stdout]     = note: `#[warn(overlapping_range_endpoints)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns overlap on their endpoints
[INFO] [stdout]    --> src/cpu/memory/mapper/lorom.rs:136:14
[INFO] [stdout]     |
[INFO] [stdout] 131 |             (0x70..=0x7D | 0xF0..=0xFF, 0x0000..=0x7FFF) => self.write_sram(long_addr, value),
[INFO] [stdout]     |                            ----------- this range overlaps on `240_u8`...
[INFO] [stdout] ...
[INFO] [stdout] 136 |             (0xC0..=0xF0, 0x0000..=0x7FFF) =>  {}
[INFO] [stdout]     |              ^^^^^^^^^^^ ... with this range
[INFO] [stdout]     |
[INFO] [stdout]     = note: you likely meant to write mutually exclusive ranges
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `long_addr`
[INFO] [stdout]   --> src/cpu/memory/mapper/exhirom.rs:27:20
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn read(&self, long_addr: u32) -> Option<u8> {
[INFO] [stdout]    |                    ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_long_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `long_addr`
[INFO] [stdout]   --> src/cpu/memory/mapper/exhirom.rs:31:25
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn write(&mut self, long_addr: u32, value: u8) {
[INFO] [stdout]    |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_long_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/cpu/memory/mapper/exhirom.rs:31:41
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn write(&mut self, long_addr: u32, value: u8) {
[INFO] [stdout]    |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ex_flash_size`
[INFO] [stdout]   --> src/cpu/memory/mapper/mod.rs:87:17
[INFO] [stdout]    |
[INFO] [stdout] 87 |             let ex_flash_size = readf!(0xFFBC); // 1 << exflash_size kB
[INFO] [stdout]    |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ex_flash_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ex_ram_size`
[INFO] [stdout]   --> src/cpu/memory/mapper/mod.rs:88:17
[INFO] [stdout]    |
[INFO] [stdout] 88 |             let ex_ram_size = readf!(0xFFBD); // 1 << ex_ram_size kB
[INFO] [stdout]    |                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ex_ram_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chipset_subtype`
[INFO] [stdout]   --> src/cpu/memory/mapper/mod.rs:90:17
[INFO] [stdout]    |
[INFO] [stdout] 90 |             let chipset_subtype = readf!(0xFFBF);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chipset_subtype`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chipset_subtype`
[INFO] [stdout]   --> src/cpu/memory/mapper/mod.rs:98:17
[INFO] [stdout]    |
[INFO] [stdout] 98 |             let chipset_subtype = readf!(0xFFBF);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_chipset_subtype`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cart_type`
[INFO] [stdout]    --> src/cpu/memory/mapper/mod.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let cart_type = readf!(0xFFD6);
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cart_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/cpu/memory/ram.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let i = Self::index_from_long_addr(long_addr);
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 |     ppu.run();
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let _ = ppu.run();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/ppu/screenapp/mod.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |             s.point(p);
[INFO] [stdout]    |             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 46 |             let _ = s.point(p);
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 |     ppu.run();
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let _ = ppu.run();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/ppu/screenapp/mod.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |             s.point(p);
[INFO] [stdout]    |             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 46 |             let _ = s.point(p);
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.18s
[INFO] running `Command { std: "docker" "inspect" "73f7232e1580afec83a6b3cf2dcef3b1a8063bbd17950f97410c5f5383093fb6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "73f7232e1580afec83a6b3cf2dcef3b1a8063bbd17950f97410c5f5383093fb6", kill_on_drop: false }`
[INFO] [stdout] 73f7232e1580afec83a6b3cf2dcef3b1a8063bbd17950f97410c5f5383093fb6
