[INFO] cloning repository https://github.com/tetsugakusha256/Gameboyish
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tetsugakusha256/Gameboyish" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftetsugakusha256%2FGameboyish", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftetsugakusha256%2FGameboyish'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a550501fb8d07d770dfcffd617e06debe429cd1c
[INFO] checking tetsugakusha256/Gameboyish against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftetsugakusha256%2FGameboyish" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/tetsugakusha256/Gameboyish
[INFO] finished tweaking git repo https://github.com/tetsugakusha256/Gameboyish
[INFO] tweaked toml for git repo https://github.com/tetsugakusha256/Gameboyish written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/tetsugakusha256/Gameboyish 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/tetsugakusha256/Gameboyish 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]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded memmap2 v0.7.1
[INFO] [stderr]   Downloaded lyon_geom v1.0.4
[INFO] [stderr]   Downloaded const-cstr v0.3.0
[INFO] [stderr]   Downloaded float-ord v0.2.0
[INFO] [stderr]   Downloaded errno v0.3.6
[INFO] [stderr]   Downloaded pathfinder_simd v0.5.2
[INFO] [stderr]   Downloaded yeslogic-fontconfig-sys v3.2.0
[INFO] [stderr]   Downloaded raqote v0.8.3
[INFO] [stderr]   Downloaded evdev v0.12.1
[INFO] [stderr]   Downloaded minifb v0.25.0
[INFO] [stderr]   Downloaded xkbcommon v0.6.0
[INFO] [stderr]   Downloaded font-kit v0.11.0
[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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4280a7639870514c35a1a45bc7956b375169ab583b4e81e8063db85e2de08207
[INFO] running `Command { std: "docker" "start" "-a" "4280a7639870514c35a1a45bc7956b375169ab583b4e81e8063db85e2de08207", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4280a7639870514c35a1a45bc7956b375169ab583b4e81e8063db85e2de08207", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4280a7639870514c35a1a45bc7956b375169ab583b4e81e8063db85e2de08207", kill_on_drop: false }`
[INFO] [stdout] 4280a7639870514c35a1a45bc7956b375169ab583b4e81e8063db85e2de08207
[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=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] 31fbdf7c4a2fec8e5568c8b3c475bfde204da3bd2d754e25d88dd4652357338a
[INFO] running `Command { std: "docker" "start" "-a" "31fbdf7c4a2fec8e5568c8b3c475bfde204da3bd2d754e25d88dd4652357338a", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.69
[INFO] [stderr]    Compiling libc v0.2.150
[INFO] [stderr]    Compiling xml-rs v0.8.19
[INFO] [stderr]    Compiling wayland-sys v0.29.5
[INFO] [stderr]    Compiling yeslogic-fontconfig-sys v3.2.0
[INFO] [stderr]     Checking libloading v0.8.1
[INFO] [stderr]    Compiling num-traits v0.2.17
[INFO] [stderr]     Checking downcast-rs v1.2.0
[INFO] [stderr]    Compiling rustix v0.38.21
[INFO] [stderr]     Checking memchr v2.6.4
[INFO] [stderr]     Checking miniz_oxide v0.7.1
[INFO] [stderr]    Compiling cmake v0.1.50
[INFO] [stderr]    Compiling pathfinder_simd v0.5.2
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]    Compiling font-kit v0.11.0
[INFO] [stderr]    Compiling serde v1.0.192
[INFO] [stderr]     Checking const-cstr v0.3.0
[INFO] [stderr]     Checking dlib v0.5.2
[INFO] [stderr]     Checking bitflags v2.4.1
[INFO] [stderr]     Checking linux-raw-sys v0.4.11
[INFO] [stderr]     Checking walkdir v2.4.0
[INFO] [stderr]    Compiling minifb v0.25.0
[INFO] [stderr]     Checking fdeflate v0.3.1
[INFO] [stderr]     Checking cty v0.2.2
[INFO] [stderr]     Checking fastrand v2.0.1
[INFO] [stderr]     Checking arrayvec v0.7.4
[INFO] [stderr]     Checking float-ord v0.2.0
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]    Compiling serde_json v1.0.108
[INFO] [stderr]     Checking raw-window-handle v0.4.3
[INFO] [stderr]    Compiling freetype-sys v0.13.1
[INFO] [stderr]     Checking xkeysym v0.2.0
[INFO] [stderr]     Checking sw-composite v0.7.16
[INFO] [stderr]     Checking as-raw-xcb-connection v1.0.0
[INFO] [stderr]     Checking flate2 v1.0.28
[INFO] [stderr]     Checking pathfinder_geometry v0.5.1
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]     Checking euclid v0.22.9
[INFO] [stderr]    Compiling wayland-scanner v0.29.5
[INFO] [stderr]    Compiling syn v2.0.39
[INFO] [stderr]     Checking png v0.17.10
[INFO] [stderr]     Checking nix v0.24.3
[INFO] [stderr]     Checking dirs-sys-next v0.1.2
[INFO] [stderr]     Checking nix v0.23.2
[INFO] [stderr]     Checking memmap2 v0.7.1
[INFO] [stderr]     Checking dirs-next v2.0.0
[INFO] [stderr]     Checking xkbcommon v0.6.0
[INFO] [stderr]     Checking freetype v0.7.0
[INFO] [stderr]    Compiling wayland-client v0.29.5
[INFO] [stderr]    Compiling wayland-protocols v0.29.5
[INFO] [stderr]     Checking lyon_geom v1.0.4
[INFO] [stderr]     Checking tempfile v3.8.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.50
[INFO] [stderr]    Compiling serde_derive v1.0.192
[INFO] [stderr]     Checking xcursor v0.3.4
[INFO] [stderr]     Checking raqote v0.8.3
[INFO] [stderr]     Checking wayland-commons v0.29.5
[INFO] [stderr]     Checking thiserror v1.0.50
[INFO] [stderr]     Checking wayland-cursor v0.29.5
[INFO] [stderr]     Checking evdev v0.12.1
[INFO] [stderr]     Checking game_boyish v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `CARTRIDGE_TYPE`
[INFO] [stdout]  --> src/cartridge.rs:3:58
[INFO] [stdout]   |
[INFO] [stdout] 3 |     util::cartridge_util::{load, CartridgeData, MBCType, CARTRIDGE_TYPE},
[INFO] [stdout]   |                                                          ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `register::Registers`
[INFO] [stdout]    --> src/emulator.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 113 |         register::Registers,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NibblesU8`
[INFO] [stdout]  --> src/timer_reg.rs:3:40
[INFO] [stdout]   |
[INFO] [stdout] 3 |     util::u8_traits::{Bit, NibblesU16, NibblesU8},
[INFO] [stdout]   |                                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error::Error`
[INFO] [stdout]  --> src/util/extract_opcode.rs:2:33
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{collections::HashMap, error::Error, fs::File, io::Read};
[INFO] [stdout]   |                                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `u16::MAX as MAXu16`
[INFO] [stdout]  --> src/util/u8_traits.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{u16::MAX as MAXu16, u8::MAX};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bus::OAMSprite`
[INFO] [stdout]  --> src/util/tiles_util.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     bus::OAMSprite,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MouseMode`
[INFO] [stdout]  --> src/windows/game_window.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | use minifb::{MouseMode, Window, WindowOptions};
[INFO] [stdout]   |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DrawOptions`, `DrawTarget`, `PathBuilder`, `SolidSource`, and `Source`
[INFO] [stdout]  --> src/windows/game_window.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 | use raqote::{DrawOptions, DrawTarget, PathBuilder, SolidSource, Source};
[INFO] [stdout]   |              ^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CARTRIDGE_TYPE`
[INFO] [stdout]  --> src/cartridge.rs:3:58
[INFO] [stdout]   |
[INFO] [stdout] 3 |     util::cartridge_util::{load, CartridgeData, MBCType, CARTRIDGE_TYPE},
[INFO] [stdout]   |                                                          ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NibblesU8`
[INFO] [stdout]  --> src/timer_reg.rs:3:40
[INFO] [stdout]   |
[INFO] [stdout] 3 |     util::u8_traits::{Bit, NibblesU16, NibblesU8},
[INFO] [stdout]   |                                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error::Error`
[INFO] [stdout]  --> src/util/extract_opcode.rs:2:33
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::{collections::HashMap, error::Error, fs::File, io::Read};
[INFO] [stdout]   |                                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `u16::MAX as MAXu16`
[INFO] [stdout]  --> src/util/u8_traits.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{u16::MAX as MAXu16, u8::MAX};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bus::OAMSprite`
[INFO] [stdout]  --> src/util/tiles_util.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     bus::OAMSprite,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MouseMode`
[INFO] [stdout]  --> src/windows/game_window.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | use minifb::{MouseMode, Window, WindowOptions};
[INFO] [stdout]   |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DrawOptions`, `DrawTarget`, `PathBuilder`, `SolidSource`, and `Source`
[INFO] [stdout]  --> src/windows/game_window.rs:4:14
[INFO] [stdout]   |
[INFO] [stdout] 4 | use raqote::{DrawOptions, DrawTarget, PathBuilder, SolidSource, Source};
[INFO] [stdout]   |              ^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scx`
[INFO] [stdout]    --> src/ppu.rs:142:18
[INFO] [stdout]     |
[INFO] [stdout] 142 |             let (scx, scy) = self.vram.get_background();
[INFO] [stdout]     |                  ^^^ help: if this is intentional, prefix it with an underscore: `_scx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mnem`
[INFO] [stdout]   --> src/util/extract_opcode.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |     for mnem in hash {
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_mnem`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `half_carry`
[INFO] [stdout]   --> src/util/math_util.rs:30:18
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let (result, half_carry) = a.overflowing_sub(b);
[INFO] [stdout]    |                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_half_carry`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `half_carry`
[INFO] [stdout]   --> src/util/math_util.rs:35:18
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let (result, half_carry) = a.overflowing_add(b);
[INFO] [stdout]    |                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_half_carry`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> src/util/math_util.rs:78:18
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let (res, z, n, h, _) = addition(a, 1);
[INFO] [stdout]    |                  ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> src/util/math_util.rs:83:18
[INFO] [stdout]    |
[INFO] [stdout] 83 |     let (res, z, n, h, _) = subtraction(a, 1);
[INFO] [stdout]    |                  ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `low`
[INFO] [stdout]    --> src/util/math_util.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |     let low = a.low_4nibble();
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_low`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `high`
[INFO] [stdout]    --> src/util/math_util.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 116 |     let high = a.high_nibble();
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_high`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `c1` is assigned to, but never used
[INFO] [stdout]    --> src/util/math_util.rs:117:9
[INFO] [stdout]     |
[INFO] [stdout] 117 |     let mut c1 = false;
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_c1` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `c2` is assigned to, but never used
[INFO] [stdout]    --> src/util/math_util.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout] 118 |     let mut c2 = false;
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_c2` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `c1` is never read
[INFO] [stdout]    --> src/util/math_util.rs:127:34
[INFO] [stdout]     |
[INFO] [stdout] 127 |                 (new_a, _, _, _, c1) = subtraction(new_a, 0x06);
[INFO] [stdout]     |                                  ^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `c1` is never read
[INFO] [stdout]    --> src/util/math_util.rs:136:34
[INFO] [stdout]     |
[INFO] [stdout] 136 |                 (new_a, _, _, _, c1) = addition(new_a, 0x06);
[INFO] [stdout]     |                                  ^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `c2` is never read
[INFO] [stdout]    --> src/util/math_util.rs:124:34
[INFO] [stdout]     |
[INFO] [stdout] 124 |                 (new_a, _, _, _, c2) = subtraction(new_a, 0x60);
[INFO] [stdout]     |                                  ^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `c2` is never read
[INFO] [stdout]    --> src/util/math_util.rs:133:34
[INFO] [stdout]     |
[INFO] [stdout] 133 |                 (new_a, _, _, _, c2) = addition(new_a, 0x60);
[INFO] [stdout]     |                                  ^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tile_vec`
[INFO] [stdout]    --> src/util/tiles_util.rs:210:13
[INFO] [stdout]     |
[INFO] [stdout] 210 |         let tile_vec = vram_to_tile_vec(vram, tile_per_line);
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tile_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test`
[INFO] [stdout]    --> src/util/cartridge_util.rs:177:13
[INFO] [stdout]     |
[INFO] [stdout] 177 |         let test = load("../roms/Tetris (JUE) (V1.1) [!].gb");
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_test`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test`
[INFO] [stdout]    --> src/util/cartridge_util.rs:178:13
[INFO] [stdout]     |
[INFO] [stdout] 178 |         let test = load("/home/anon/Documents/Code/GameBoyish/roms/cpu_instrs/06-ld r,r.gb");
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_test`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]   --> src/windows/game_window.rs:52:17
[INFO] [stdout]    |
[INFO] [stdout] 52 |             let size = window.get_size();
[INFO] [stdout]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scx`
[INFO] [stdout]    --> src/ppu.rs:142:18
[INFO] [stdout]     |
[INFO] [stdout] 142 |             let (scx, scy) = self.vram.get_background();
[INFO] [stdout]     |                  ^^^ help: if this is intentional, prefix it with an underscore: `_scx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Cartridge` is never constructed
[INFO] [stdout]  --> src/cartridge.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Cartridge {
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/cartridge.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Cartridge {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 13 |     fn new(bus: Rc<RefCell<Bus>>, file_path: &str) -> Cartridge {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `stop` is never used
[INFO] [stdout]   --> src/emulator.rs:92:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl Emulator {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 92 |     fn stop(&mut self) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tick` is never used
[INFO] [stdout]   --> src/io_handler.rs:37:4
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn tick() {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MODE_2_DOTS` is never used
[INFO] [stdout]   --> src/ppu.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 | const MODE_2_DOTS: usize = 80usize;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/ppu.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[warn(dead_code)]
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MODE_3_DOTS_MIN` is never used
[INFO] [stdout]   --> src/ppu.rs:25:7
[INFO] [stdout]    |
[INFO] [stdout] 25 | const MODE_3_DOTS_MIN: usize = 172usize;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MODE_0_DOTS_MIN` is never used
[INFO] [stdout]   --> src/ppu.rs:27:7
[INFO] [stdout]    |
[INFO] [stdout] 27 | const MODE_0_DOTS_MIN: usize = 87usize;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MODE_0_DOTS_MAX` is never used
[INFO] [stdout]   --> src/ppu.rs:28:7
[INFO] [stdout]    |
[INFO] [stdout] 28 | const MODE_0_DOTS_MAX: usize = 204usize;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `draw` is never used
[INFO] [stdout]    --> src/ppu.rs:288:8
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl PPU {
[INFO] [stdout]     | -------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 288 |     fn draw() {}
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `frequency` is never read
[INFO] [stdout]  --> src/quartz.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Quartz {
[INFO] [stdout]   |            ------ field in this struct
[INFO] [stdout] 7 |     frequency: u32,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Register` is never constructed
[INFO] [stdout]  --> src/register.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct Register(u16);
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TILE_BYTE_SIZE` is never used
[INFO] [stdout]  --> src/util/tiles_util.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const TILE_BYTE_SIZE: usize = 16usize;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_screen_vec` is never used
[INFO] [stdout]    --> src/util/tiles_util.rs:136:4
[INFO] [stdout]     |
[INFO] [stdout] 136 | fn print_screen_vec(tile_vec: &ScreenVector) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_tile_vec` is never used
[INFO] [stdout]    --> src/util/tiles_util.rs:146:4
[INFO] [stdout]     |
[INFO] [stdout] 146 | fn print_tile_vec(tile_vec: TileVector) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `random_buffer` is never used
[INFO] [stdout]   --> src/windows/game_window.rs:66:4
[INFO] [stdout]    |
[INFO] [stdout] 66 | fn random_buffer(width: usize, height: usize) -> Vec<u32> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Z` should have a snake case name
[INFO] [stdout]   --> src/util/extract_opcode.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub Z: String,
[INFO] [stdout]    |         ^ help: convert the identifier to snake case (notice the capitalization): `z`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `N` should have a snake case name
[INFO] [stdout]   --> src/util/extract_opcode.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub N: String,
[INFO] [stdout]    |         ^ help: convert the identifier to snake case: `n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `H` should have a snake case name
[INFO] [stdout]   --> src/util/extract_opcode.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub H: String,
[INFO] [stdout]    |         ^ help: convert the identifier to snake case: `h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `C` should have a snake case name
[INFO] [stdout]   --> src/util/extract_opcode.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub C: String,
[INFO] [stdout]    |         ^ help: convert the identifier to snake case (notice the capitalization): `c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mnem`
[INFO] [stdout]   --> src/util/extract_opcode.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |     for mnem in hash {
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_mnem`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `half_carry`
[INFO] [stdout]   --> src/util/math_util.rs:30:18
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let (result, half_carry) = a.overflowing_sub(b);
[INFO] [stdout]    |                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_half_carry`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `half_carry`
[INFO] [stdout]   --> src/util/math_util.rs:35:18
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let (result, half_carry) = a.overflowing_add(b);
[INFO] [stdout]    |                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_half_carry`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> src/util/math_util.rs:78:18
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let (res, z, n, h, _) = addition(a, 1);
[INFO] [stdout]    |                  ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> src/util/math_util.rs:83:18
[INFO] [stdout]    |
[INFO] [stdout] 83 |     let (res, z, n, h, _) = subtraction(a, 1);
[INFO] [stdout]    |                  ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `low`
[INFO] [stdout]    --> src/util/math_util.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |     let low = a.low_4nibble();
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_low`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `high`
[INFO] [stdout]    --> src/util/math_util.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 116 |     let high = a.high_nibble();
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_high`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `c1` is assigned to, but never used
[INFO] [stdout]    --> src/util/math_util.rs:117:9
[INFO] [stdout]     |
[INFO] [stdout] 117 |     let mut c1 = false;
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_c1` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `c2` is assigned to, but never used
[INFO] [stdout]    --> src/util/math_util.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout] 118 |     let mut c2 = false;
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_c2` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `c1` is never read
[INFO] [stdout]    --> src/util/math_util.rs:127:34
[INFO] [stdout]     |
[INFO] [stdout] 127 |                 (new_a, _, _, _, c1) = subtraction(new_a, 0x06);
[INFO] [stdout]     |                                  ^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `c1` is never read
[INFO] [stdout]    --> src/util/math_util.rs:136:34
[INFO] [stdout]     |
[INFO] [stdout] 136 |                 (new_a, _, _, _, c1) = addition(new_a, 0x06);
[INFO] [stdout]     |                                  ^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `c2` is never read
[INFO] [stdout]    --> src/util/math_util.rs:124:34
[INFO] [stdout]     |
[INFO] [stdout] 124 |                 (new_a, _, _, _, c2) = subtraction(new_a, 0x60);
[INFO] [stdout]     |                                  ^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `c2` is never read
[INFO] [stdout]    --> src/util/math_util.rs:133:34
[INFO] [stdout]     |
[INFO] [stdout] 133 |                 (new_a, _, _, _, c2) = addition(new_a, 0x60);
[INFO] [stdout]     |                                  ^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]   --> src/windows/game_window.rs:52:17
[INFO] [stdout]    |
[INFO] [stdout] 52 |             let size = window.get_size();
[INFO] [stdout]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Cartridge` is never constructed
[INFO] [stdout]  --> src/cartridge.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct Cartridge {
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/cartridge.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Cartridge {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 13 |     fn new(bus: Rc<RefCell<Bus>>, file_path: &str) -> Cartridge {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `stop` is never used
[INFO] [stdout]   --> src/emulator.rs:92:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl Emulator {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 92 |     fn stop(&mut self) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tick` is never used
[INFO] [stdout]   --> src/io_handler.rs:37:4
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn tick() {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MODE_2_DOTS` is never used
[INFO] [stdout]   --> src/ppu.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 | const MODE_2_DOTS: usize = 80usize;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/ppu.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | #[warn(dead_code)]
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MODE_3_DOTS_MIN` is never used
[INFO] [stdout]   --> src/ppu.rs:25:7
[INFO] [stdout]    |
[INFO] [stdout] 25 | const MODE_3_DOTS_MIN: usize = 172usize;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MODE_0_DOTS_MIN` is never used
[INFO] [stdout]   --> src/ppu.rs:27:7
[INFO] [stdout]    |
[INFO] [stdout] 27 | const MODE_0_DOTS_MIN: usize = 87usize;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MODE_0_DOTS_MAX` is never used
[INFO] [stdout]   --> src/ppu.rs:28:7
[INFO] [stdout]    |
[INFO] [stdout] 28 | const MODE_0_DOTS_MAX: usize = 204usize;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `draw` is never used
[INFO] [stdout]    --> src/ppu.rs:288:8
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl PPU {
[INFO] [stdout]     | -------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 288 |     fn draw() {}
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `frequency` is never read
[INFO] [stdout]  --> src/quartz.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Quartz {
[INFO] [stdout]   |            ------ field in this struct
[INFO] [stdout] 7 |     frequency: u32,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Register` is never constructed
[INFO] [stdout]  --> src/register.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | struct Register(u16);
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TILE_BYTE_SIZE` is never used
[INFO] [stdout]  --> src/util/tiles_util.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const TILE_BYTE_SIZE: usize = 16usize;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_screen_vec` is never used
[INFO] [stdout]    --> src/util/tiles_util.rs:136:4
[INFO] [stdout]     |
[INFO] [stdout] 136 | fn print_screen_vec(tile_vec: &ScreenVector) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_tile_vec` is never used
[INFO] [stdout]    --> src/util/tiles_util.rs:146:4
[INFO] [stdout]     |
[INFO] [stdout] 146 | fn print_tile_vec(tile_vec: TileVector) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `random_buffer` is never used
[INFO] [stdout]   --> src/windows/game_window.rs:66:4
[INFO] [stdout]    |
[INFO] [stdout] 66 | fn random_buffer(width: usize, height: usize) -> Vec<u32> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Z` should have a snake case name
[INFO] [stdout]   --> src/util/extract_opcode.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub Z: String,
[INFO] [stdout]    |         ^ help: convert the identifier to snake case (notice the capitalization): `z`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `N` should have a snake case name
[INFO] [stdout]   --> src/util/extract_opcode.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub N: String,
[INFO] [stdout]    |         ^ help: convert the identifier to snake case: `n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `H` should have a snake case name
[INFO] [stdout]   --> src/util/extract_opcode.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub H: String,
[INFO] [stdout]    |         ^ help: convert the identifier to snake case: `h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `C` should have a snake case name
[INFO] [stdout]   --> src/util/extract_opcode.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub C: String,
[INFO] [stdout]    |         ^ help: convert the identifier to snake case (notice the capitalization): `c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/main.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |     let mut doc_emu = Emulator {
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/main.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     let mut emu = Emulator {
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `link_game`
[INFO] [stdout]   --> src/bin/main.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let link_game = load("roms/Legend of Zelda, The - Link's Awakening (U) (V1.2) [!].gb")
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_link_game`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `emu`
[INFO] [stdout]   --> src/bin/main.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     let mut emu = Emulator {
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_emu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcodes_pre`
[INFO] [stdout]   --> src/bin/main.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |     let opcodes_pre = load_json("opcodes_pre.json");
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcodes_pre`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcodes_nopre`
[INFO] [stdout]   --> src/bin/main.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |     let opcodes_nopre = load_json("opcodes_nopre.json");
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcodes_nopre`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/main.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |     let mut doc_emu = Emulator {
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/main.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     let mut emu = Emulator {
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `link_game`
[INFO] [stdout]   --> src/bin/main.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let link_game = load("roms/Legend of Zelda, The - Link's Awakening (U) (V1.2) [!].gb")
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_link_game`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `emu`
[INFO] [stdout]   --> src/bin/main.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     let mut emu = Emulator {
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_emu`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcodes_pre`
[INFO] [stdout]   --> src/bin/main.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |     let opcodes_pre = load_json("opcodes_pre.json");
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcodes_pre`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcodes_nopre`
[INFO] [stdout]   --> src/bin/main.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |     let opcodes_nopre = load_json("opcodes_nopre.json");
[INFO] [stdout]    |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcodes_nopre`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 30.28s
[INFO] running `Command { std: "docker" "inspect" "31fbdf7c4a2fec8e5568c8b3c475bfde204da3bd2d754e25d88dd4652357338a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "31fbdf7c4a2fec8e5568c8b3c475bfde204da3bd2d754e25d88dd4652357338a", kill_on_drop: false }`
[INFO] [stdout] 31fbdf7c4a2fec8e5568c8b3c475bfde204da3bd2d754e25d88dd4652357338a
